Автор |
Сообщение |
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Т.е. система входит буквально в Open, так вот чтобы запомнить эту цену, какой код? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
ValueWhen(Buy, Open, 1);
Сработает не всегда. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
ValueWhen(Buy, Open, 1);
Сработает не всегда. |
Ох, а чего ж так плохо? (
А если через цикл пустить и проверять наличие позиции?
Тут ещё такое дело:
Buy = Open;
т.е. хочу тупо покупать на открытии. Он же (ValueWhen) тогда каждый Open будет брать? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Будет брать Open того бара где последний раз был Buy. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
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
|
У тебя Buy на каждом баре. Поэтому
Код: |
P = ValueWhen(Buy, Open, 1); //запоминаем цену входа для растановки уровней выхода |
писать не надо. Она на каждом следующем баре будет новая (с прошлого бара)
Если просто хотел протестировать размеры стопов и профитов при постоянном входе в лонг то пиши
Код: |
Buy = 1;
ApplyStop(stopTypeLoss,...);
ApplyStop(stopTypeProfit,...);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
kosbar писал(а): |
Buy = Open;
|
Ужасная запись, вход осуществляется по условию например так buy=o=<h; что равносильно входу на первом тике нового бара. Ну это так чтоб правильно воспринимал что входим по условию, а у тебя массив. |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Спасибо за разъяснения, тестил в результате ваших поправок вот такое:
Код: |
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
|
Почему же глупость. Сравни внимательно сделки в разных режимах и увидишь, что не все шорты которые были в режиме только шорт были открыты в режиме лонг и шорт. Это потому, что выходы из сделок только по стопам и получается, что система в лонге а сигнал на шорт, он тестером игнорируется пока по одному из стопов не закроется лонг... Вот поэтому и результат разный. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
Почему же глупость. Сравни внимательно сделки в разных режимах и увидишь, что не все шорты которые были в режиме только шорт были открыты в режиме лонг и шорт. Это потому, что выходы из сделок только по стопам и получается, что система в лонге а сигнал на шорт, он тестером игнорируется пока по одному из стопов не закроется лонг... Вот поэтому и результат разный. |
Вывод: надо делать на меньшем таймфреме, через TimeFrame... |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
|