1) Правильно ли я понимаю, что тестер в режиме "все тики", при нехватке данных более мелкого уровня, показывает наихудшие возможные результаты?
правильнее сказать качество тестирования в определенных случаях падает, а вот наихудшие по отношению к чему? так не понятно
то есть я имею бар low 1.5 high 2.0 и стоп лосс в 30п., buy order открылся на 1.9. Тестер должен показать закритие по стоп лоссу, верно?
нет еще имеет значение время открытия позиции и установки стопа, а также характер движения цены внутри бара. Поясню если цена в начале бара была у лоу, а потом двигалась только по направлению к хай то стопа не будет если после открытия позы цена не опускалась на 30 пунктов2) Есть проблема с открытием нескольких ордеров одновременно. Эксперт контролирует время после закрытия предыдущего ордера с помощью:
, а у тебя не видно где ты сравниваешь время закрытых ордеров и берешь время самого последнего по времени закрытого ордера, может этот ордер закрыт раньше чем закрытый последний по времени?if (OrderSelect(OrderTicket(),SELECT_BY_TICKET,MODE_HISTORY)==true)
{
datetime ctm=OrderCloseTime();
if(ctm>0)
{
if((CurTime()-ctm)<14400)
{
return(0);
}
}
}
и обычно вроде нормально работает, но на некоторых свечах показывает открытие нескольких ордеров. В чем может быть проблема такого поведения?
т.е. нужно еще
//------- блок определения локальных переменных
datetime ctm, LastCTime;
//------ конец блока определения локальных переменных
...
начало цикла по истории
if (OrderSelect(OrderTicket(),SELECT_BY_TICKET,MODE_HISTORY)==true)
{
ctm=OrderCloseTime();
if(ctm>0)
{
if(ctm>LastCTime) LastCTime=ctm;
if((CurTime()-LastCTime)<14400) return(0);
}
}
конец цикла по истории
причем код в предыдущем посте ориентирован на последнее закрытие, а тебе судя по тексту нужно чтобы ориентация была на время последнего открытого ордера, так что код нужно менять
нет еще имеет значение время открытия позиции и установки стопа, а также характер движения цены внутри бара. Поясню если цена в начале бара была у лоу, а потом двигалась только по направлению к хай то стопа не будет если после открытия позы цена не опускалась на 30 пунктов
так я как раз имел ввиду ситуацию, когда тестер не может оценить характер движения цены внутри бара - нет данных болеее мелкого тайм фрейма. Элементарный пример - часовой бар двухлетней давности, поминутных данных нету, а на пятиминутках он такой же большой как и на часовиках (тоесть тоже динамику не оценить), однако тестер показывает закрытие по стоп лоссу
насчет кода - да, я пробовал разные методы сравнения времени закрытия ордеров, но так ничего и невышло, тот вариант который я написал оказался на удивление работающим. а нужно мне действительно время закрытия последнего ордера, ваш вариант я обязательно попробую
стоит также заметить, что вопросы которые я поднял, разрешились - я установил поминутки на все время тестирования эксперта, и 1) ордера перестали закрываться по стоп лоссу на длинных барах, что подтверждает использование худшего сценария событий при отсутствии подробных данных и 2) перестали открываться по несколько ордеров в одном баре, что для меня конечно хорошо, но в целом такое поведение тестера довольно странно и, думаю, требует внимания разработчиков
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
2) Есть проблема с открытием нескольких ордеров одновременно. Эксперт контролирует время после закрытия предыдущего ордера с помощью:
if (OrderSelect(OrderTicket(),SELECT_BY_TICKET,MODE_HISTORY)==true)
{
datetime ctm=OrderCloseTime();
if(ctm>0)
{
if((CurTime()-ctm)<14400)
{
return(0);
}
}
}
и обычно вроде нормально работает, но на некоторых свечах показывает открытие нескольких ордеров. В чем может быть проблема такого поведения?