Особенности языка mql5, тонкости и приёмы работы - страница 71
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
fxsaber:
Обсуждение статьи "Визуализируем оптимизацию торговой стратегии в MetaTrader 5"
fxsaber, 2018.02.22 08:39
Во фрейм-режиме OnInit, OnDeinit, OnTick, OnTrade, OnTradeTransaction и OnTimer игнорятся. Только OnChartEvent пашет.
Конечно, из-за OnChartEvent-исключения требуется в нем делать обязательную проверку на наличие флага фрейм-режима.
Откуда такая безапелляционная уверенность? :-)
Откуда такая безапелляционная уверенность? :-)
Из практики, вестимо.
Тогда вопрос. Фрейм-режим - это режим, который в общем относится к Тестированию или нет?
Тогда вопрос. Фрейм-режим - это режим, который в общем относится к Тестированию или нет?
Косвенно, относится. Просто в этом режиме советник может быть запущен в Терминале только самим Тестером.
Хорошо. А если в советнике есть обработчик OnTick(), то что, он не будет работать во фрейм-режиме?
Имхо, тут нужно уточнить, что обработчики фреймов выполняются самим Терминалом, а всё что является обычным для тестирования (OnTick(), OnTrade(), etc. ), передаётся Агентам тестирования. Отсюда, фрейм-режим - это особенный составной режим тестирования, где Агенты интерактивно взаимодействуют с Терминалом.
Вот как-то так...
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2018.02.22 09:22
Косвенно, относится. Просто в этом режиме советник может быть запущен в Терминале только самим Тестером.
А почему косвенно? Например обычную оптимизацию тоже можно запустить только в Тестере.
Хорошо. А если в советнике есть обработчик OnTick(), то что, он не будет работать во фрейм-режиме?
Имхо, тут нужно уточнить, что обработчики фреймов выполняются самим Терминалом, а всё что является обычным для тестирования (OnTick(), OnTrade(), etc. ), передаётся Агентам тестирования. Отсюда, фрейм-режим - это особенный составной режим тестирования, где Агенты интерактивно взаимодействуют с Терминалом.
Вот как-то так...
А почему косвенно? Например обычную оптимизацию тоже можно запустить только в Тестере.
Потому что это боевой советник даже во фрейм-режиме. Именно по этой причине нужно в OnChartEvent проверять фрейм-флаг, иначе вот такая беда произойти может
Похоже, это впервые озвучивается. А значит, Маркет-продукты создают неприятную уязвимость... Причем обойти эту уязвимость очень сложно. Обнаружить - аналогично.
Потому что это боевой советник даже во фрейм-режиме. Именно по этой причине нужно в OnChartEvent проверять фрейм-флаг, иначе вот такая беда произойти может
Похоже, это впервые озвучивается. А значит, Маркет-продукты создают неприятную уязвимость... Причем обойти эту уязвимость очень сложно. Обнаружить - аналогично.
Однако! Если это так, то, имхо, это некорректная работа советника в режиме Тестирования...
Вы большой молодец, что заметили!
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2018.02.27 08:01
Вывод про советники на OBJ_CHART
Поэтому возможно одним подключения соответствующего инклудника (пример) сделать любой торговый советник полноценным - чтобы работал (OnTimer + OnTick) на любом виде чарта.
ЗЫ OBJ_CHART определяется через CHART_IS_OBJECT.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Управляемая оптимизация: метод отжига"
fxsaber, 2018.02.28 08:45
tester_file считывается только в том случае, если он существовал (содержимое не важно) на момент компиляции.
Если mq5 скомпилирован, когда не было соответствующего файла, то даже дальнейшее его наличие не будет восприниматься в EX5.
Поэтому если в OnTesterInit генерируете файл для tester_file, то убедитесь, что компилировали советник при наличии хотя бы пустого передаваемого файла.
При наличии директивы tester_file кеши Оптимизатора не работают.