Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Как, запомнить цену входа Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 356

СообщениеДобавлено: Пт Май 21, 2010 6:14 pm Ответить с цитатой Вернуться к началу

Т.е. система входит буквально в Open, так вот чтобы запомнить эту цену, какой код?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Май 21, 2010 11:01 pm Ответить с цитатой Вернуться к началу

ValueWhen(Buy, Open, 1);
Сработает не всегда.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 356

СообщениеДобавлено: Вс Май 23, 2010 5:43 pm Ответить с цитатой Вернуться к началу

000 писал(а):
ValueWhen(Buy, Open, 1);
Сработает не всегда.
Ох, а чего ж так плохо? (
А если через цикл пустить и проверять наличие позиции?
Тут ещё такое дело:
Buy = Open;
т.е. хочу тупо покупать на открытии. Он же (ValueWhen) тогда каждый Open будет брать?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Май 23, 2010 10:11 pm Ответить с цитатой Вернуться к началу

Будет брать Open того бара где последний раз был Buy.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 356

СообщениеДобавлено: Пт Июн 25, 2010 7:10 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Будет брать Open того бара где последний раз был Buy.

А идея была выяснить некоторые границы матожидания (что ли) для торговли на различных таймфреймах, одновременно получить болванку для теста фильтров, но что-то не вышло (и это при том, что я убрал комиссию):
Код:
Points = Optimize("ProfitPNTS", 260, 50, 1000, 50);   //пункты прибыли
Points2 = Optimize("STOPLOSS", 500, 50, 1000, 50); //пункты убытков
   
Buy = Open; //входим просто на открытии свечи
BuyPrice = Open; // цена Open

P = ValueWhen(Buy, Open, 1); //запоминаем цену входа для растановки уровней выхода
stop = p - points2; //цена стоп-лося
profit = p + points; //уровень прибыли

pr = profit < High; // условие выхода с прибылью
st = Stop > Low; //условие выхода по убытку

SellPrice = IIf(pr, profit, st); // выбираем соответствующую цену выхода
Sell = pr OR st; //выходы либо по условию прибыли либо по условию убытка.

Тестировал на ртс, отсюда такие points и points2.
Но даже без комиссии не вышло в плюс. Нет ли ошибки?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июн 28, 2010 8:23 am Ответить с цитатой Вернуться к началу

У тебя Buy на каждом баре. Поэтому
Код:
P = ValueWhen(Buy, Open, 1); //запоминаем цену входа для растановки уровней выхода

писать не надо. Она на каждом следующем баре будет новая (с прошлого бара)
Если просто хотел протестировать размеры стопов и профитов при постоянном входе в лонг то пиши
Код:

Buy = 1;
ApplyStop(stopTypeLoss,...);
ApplyStop(stopTypeProfit,...);

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Пн Июн 28, 2010 6:55 pm Ответить с цитатой Вернуться к началу

kosbar писал(а):

Buy = Open;



Ужасная запись, вход осуществляется по условию например так buy=o=<h; что равносильно входу на первом тике нового бара. Ну это так чтоб правильно воспринимал что входим по условию, а у тебя массив.

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 356

СообщениеДобавлено: Чт Июл 01, 2010 11:32 pm Ответить с цитатой Вернуться к началу

Спасибо за разъяснения, тестил в результате ваших поправок вот такое:

Код:
Points = Optimize("ProfitPNTS", 850, 50, 1000, 50);   //пункты прибыли
Points2 = Optimize("STOPLOSS", 850, 50, 1000, 50); //пункты убытков
range = Optimize("MA", 50, 10, 100, 10); //MA

trend = Open > MA(Open, range);
   
Buy = trend ; //входим просто на открытии свечи
BuyPrice = Open; // цена Open
Sell = 0;

Short = NOT(Trend);
ShortPrice = Open;
Cover = 0;

ApplyStop(stopTypeLoss,stopModePoint,Points2,1);
ApplyStop(stopTypeProfit,stopModePoint,Points,1);


В результате тестирования на последних днях падения фьючерса на РТС (которые заливает Квик) выявил такой интересный факт (тестил 5-минутки):
Лучший результат, если тестить только шорт (грубо) 5% по депозиту;
Лучший результат, если тестить только лонг будет -5%;
А вместе и лонг и шорт дают 10% ЭТО КАК? Ошибся опять где-то? Но даже если и ошибся, всё равно глупость получается, если в лонги уходим в минус, то это должно ухудшать двухстороннюю систему, а не улучшать!
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Июл 01, 2010 11:45 pm Ответить с цитатой Вернуться к началу

Почему же глупость. Сравни внимательно сделки в разных режимах и увидишь, что не все шорты которые были в режиме только шорт были открыты в режиме лонг и шорт. Это потому, что выходы из сделок только по стопам и получается, что система в лонге а сигнал на шорт, он тестером игнорируется пока по одному из стопов не закроется лонг... Вот поэтому и результат разный.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kosbar



Зарегистрирован: 17.03.2009
Сообщения: 356

СообщениеДобавлено: Вс Янв 23, 2011 2:07 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Почему же глупость. Сравни внимательно сделки в разных режимах и увидишь, что не все шорты которые были в режиме только шорт были открыты в режиме лонг и шорт. Это потому, что выходы из сделок только по стопам и получается, что система в лонге а сигнал на шорт, он тестером игнорируется пока по одному из стопов не закроется лонг... Вот поэтому и результат разный.

Вывод: надо делать на меньшем таймфреме, через TimeFrame... Wink
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen