Пишу советника, который мониторит поступление котировок. Возник вопрос: как заставить советник проверять поступление котировок стабильно каждую минуту согласно времени на локальной машине, а не дожидаться поступления тика от инструмента, на котором был инициализирован советник.
- EventSetTimer,OnTimer
- Советники: Установка и закрытие ордеров с помощью перемещаемых линий
- Добрые люди
Konstantin Fedorov:
Пишу советника, который мониторит поступление котировок. Возник вопрос: как заставить советник проверять поступление котировок стабильно каждую минуту согласно времени на локальной машине, а не дожидаться поступления тика от инструмента, на котором был инициализирован советник.
Пишу советника, который мониторит поступление котировок. Возник вопрос: как заставить советник проверять поступление котировок стабильно каждую минуту согласно времени на локальной машине, а не дожидаться поступления тика от инструмента, на котором был инициализирован советник.
Использовать таймер. В тестере МТ4 он не работает, в МТ5 работает.
int OnInit() { int reason = UninitializeReason(); if(reason == REASON_CHARTCHANGE || reason == REASON_TEMPLATE) return(INIT_SUCCEEDED); if(reason == REASON_PARAMETERS) { //InitParams(); return(INIT_SUCCEEDED); } EventSetTimer(1); // инициализация таймера на 1 сек return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { if(reason==REASON_CHARTCHANGE || reason==REASON_TEMPLATE || reason==REASON_PARAMETERS) return; EventKillTimer(); } void OnTimer() { // делаем работу }
***
Konstantin Fedorov:
Пишу советника, который мониторит поступление котировок. Возник вопрос: как заставить советник проверять поступление котировок стабильно каждую минуту согласно времени на локальной машине, а не дожидаться поступления тика от инструмента, на котором был инициализирован советник.
Пишу советника, который мониторит поступление котировок. Возник вопрос: как заставить советник проверять поступление котировок стабильно каждую минуту согласно времени на локальной машине, а не дожидаться поступления тика от инструмента, на котором был инициализирован советник.
https://www.mql5.com/ru/code/19859
AccurateTimer
- голосов: 15
- 2018.02.02
- fxsaber
- www.mql5.com
Штатный таймер в MetaTrader 4/5 основан на вызове системного таймера, и поэтому может работать с погрешностью. Чтобы в этом убедиться, достаточно запустить простой советник: В комментарии чарта (левый-верхний угол) он показывает, как растет лаг таймера: На скриншоте видно, что всего за минуту работы секундный таймер создает лаг больше секунды...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь