Кто прав? Тестер и оптимизатор не могут придти к общему мнению... / Who is right? Tester and Optimizer can't reach a consensus... - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну, что ж, если предположений больше нет, тогда остается произнести крылатую фразу Семен Семеныча из к/ф "Бриллиантовая рука":
— Нет? Будем искать.
Нет, только анализ цен нескольких последних свечей, типа High[1], Low[2] и т.п., в этом советнике я не использую никаких индикаторов. Графика работает только на выход, хотя, если более точно отвечать на вопрос, то процедура ManualTrailingStopLossLines() принимает на вход текущие координаты линий стоп-лоссов на покупку и продажу и модифицирует по ним ордера. Т.е. получается, что советник может принимать решение в зависимости от графики! Но во время оптимизации и тестирования естественно нет и не может быть никакого ручного вмешательства! Ручное вмешательство возможно только в реале.
Похоже проблема тут. При оптимизации все лишнее опускается - sleep не выполняется, ничего не рисуется и т.д. Конечно, координаты объектов запоминаются, но код уже другой - и наверно не тестирован. IMHO похоже на баг терминала. Стучите на сервисдеск.
Похоже проблема тут. При оптимизации все лишнее опускается - sleep не выполняется, ничего не рисуется и т.д. Конечно, координаты объектов запоминаются, но код уже другой - и наверно не тестирован. IMHO похоже на баг терминала. Стучите на сервисдеск.
Функцию sleep() не использую, а вот насчет того, что ничего не рисуется, то во время оптимизации - да, но при тестировании - я включаю визуализацию, и тестер прекрасно рисует и стрелочки и линии, а также перемещает их на графике согласно указанию советника... Попробую-ка я сначала отключить процедуру ручного подтягивания стоп-лоссов ManualTrailingStopLossLines() и посмотрю, что получиться. Если и это не поможет, то тогда уж буду стучаться в сервисдеск.
Но повторяю, что во время оптимизации и тестирования нет (и не может быть!) никакого ручного вмешательства
Дело в том, что с предыдущими версиями этого советников такого не наблюдалось, они и сейчас показывают согласованные результаты тестера и оптимизатора...
...при тестировании - я включаю визуализацию, и тестер прекрасно рисует и стрелочки и линии, а также перемещает их на графике согласно указанию советника...
Попробую-ка я сначала отключить процедуру ручного подтягивания стоп-лоссов ManualTrailingStopLossLines() и посмотрю, что получиться. Если и это не поможет, то тогда уж буду стучаться в сервисдеск.
Логика уже появилась. Можно еще вопрос: есть разница между ручными прогонами с визуализацией и без?
Нет, визуализация не влияет на результаты тестирования.
Проблема рассогласования результатов тестера и оптимизатора исчезла после того как я по совету TheXpert отключил графику, а точнее убрал обращения к процедуре ручного подтягивания стоп-лоссов ManualTrailingStopLossLines(), если эксперт работает в режиме тестирования или оптимизации тестирования.
Технически это выгладит так:
// Отработать ручное вмешательство в трейлинг стоп-лоссов (перетаскивание линий стоп-лоссов на графике),
// если эксперт работает не в режиме тестирования или оптимизации тестирования
if (!IsTesting() && !IsOptimization()) ManualTrailingStopLossLines();
Похоже, что тестер вообще не интересуется координатами графических объектов в режиме оптимизации тестирования, и не сопровождает их. В общем-то и правильно делает, все равно эти объекты во время оптимизации никто не видит и уж тем более не перемещает :), а добавить условие к вызову процедуры - от разработчика не убудет!
Так что, тему закрываю. Всем откликнувшимся - спасибо и профитов!