Проблема в вашей проверке нового бара. Она же происходит по инструменту, на котором работает советник, правда?
Нужно либо ждать появления бара на всех используемых инструментах (далеко не всегда первый тик нового бара приходит одновременно), либо определять новый бар по TimeCurrent, а в анализе делать поправку на то, появился 0-й бар на инструменте или нет (если появился, индекс последнего сфомированного бара будет равен 1, а если нет, то 0).
Проблема в вашей проверке нового бара. Она же происходит по инструменту, на котором работает советник, правда?
Нужно либо ждать появления бара на всех используемых инструментах (далеко не всегда первый тик нового бара приходит одновременно), либо определять новый бар по TimeCurrent, а в анализе делать поправку на то, появился 0-й бар на инструменте или нет (если появился, индекс последнего сфомированного бара будет равен 1, а если нет, то 0).
То есть, проблема в том, что новая цена в 8:00:00 для EURJPY еще не пришла, если работать на OnTick другой валюты?
Не исключаю, что в Тестере есть ошибки. Однако, уверен, что Вы не понимаете, как все работает.
Чтобы было совпадение, Вы должны создать мультивалютной OnTick. И реагировать только на тот OnTick, что по торгуемой паре.
Либо же всю логику перенести в OnTimer и отказаться от OnTick. Пока не видно никаких ошибок в Ваших сообщениях.
Не исключаю, что в Тестере есть ошибки. Однако, уверен, что Вы не понимаете, как все работает.
Чтобы было совпадение, Вы должны создать мультивалютной OnTick. И реагировать только на тот OnTick, что по торгуемой паре.
Либо же всю логику перенести в OnTimer и отказаться от OnTick. Пока не видно никаких ошибок в Ваших сообщениях.
Andrey Pogoreltsev:
О, расскажите как создать мультивалютный OnTick? Я действительно не нашел такой возможности:)
Поищите, выкладывали.
Лучше в файл пишите тики из OnTimer. Сразу станет понятно, где различия.
ЗЫ https://www.mql5.com/ru/forum/170952/page68#comment_6406566
- 2018.01.28
- www.mql5.com
Поищите, выкладывали.
Лучше в файл пишите тики из OnTimer. Сразу станет понятно, где различия.
ЗЫ https://www.mql5.com/ru/forum/170952/page68#comment_6406566
То есть, проблема в том, что новая цена в 8:00:00 для EURJPY еще не пришла, если работать на OnTick другой валюты?
Не всем нужно, чтобы ОнТик запускался на тиках всех тестируемых инструментов.
Ну а реализовать можно все что угодно уже сейчас.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Почему когда выбираешь "Каждый тик на основе реальных тиков", то в символ, на котором запущен советник, приходят действительно реальные тики, а вот в остальные, скорее всего нет.
Из-за этого результаты советник выдает разные, в зависимости от символа запуска :) При этом в логах идет подгрузка истории...
Советник отрабатывает раз в час, поэтому ни о каких проблемах с тиками не может идти речи. Проверял на интервале 2 дня на одной паре. Если запускать ее на самой себе - даже другие значения котировок в момент открытия ордеров!
Для получения котировок использую CSymbolInfo с предварительным вызовом RefreshRates()