Ошибка валидации советника из-за функции таймера

Mikhail Nazarenko  

Для снижения нагрузки на процессор добавил в советник таймер, который запускает часть кода не на каждом тике а каждые 30 секунд. Получил ошибку валидации. Убрал функцию, ошибка исчезла. В терминале все работает корректно. Подскажите что это за дичь?

Тестирование

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • www.mql5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха,  ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
Andrey Barinov  
Mikhail Nazarenko:

Для снижения нагрузки на процессор добавил в советник таймер, который запускает часть кода не на каждом тике а каждые 30 секунд. Получил ошибку валидации. Убрал функцию, ошибка исчезла. В терминале все работает корректно. Подскажите что это за дичь?


В тестере МТ4 таймер не работает.

Mikhail Nazarenko  
Andrey Barinov:

В тестере МТ4 таймер не работает.

Я написал свой таймер, и с ним все работает, но не проходит валидацию при выкладке на сайт MQL5. Вопрос почему с этой функцией выдает ошибку валидации? 

Andrey Khatimlianskii  
Mikhail Nazarenko:

Я написал свой таймер, и с ним все работает, но не проходит валидацию при выкладке на сайт MQL5. Вопрос почему с этой функцией выдает ошибку валидации? 

Ответ в вашей функции.

Mikhail Nazarenko  
Andrey Khatimlianskii:

Ответ в вашей функции.

Спасибо за лаконичность, я это понял. Вопрос, какие правила mql5 нарушает моя функция? Разве таймер криминал?

Artyom Trishkin  
Mikhail Nazarenko:

Спасибо за лаконичность, я это понял. Вопрос, какие правила mql5 нарушает моя функция? Разве таймер криминал?

Если тестер, то таймер обрабатывать в OnTick()
Andrey Khatimlianskii  
Mikhail Nazarenko:

Спасибо за лаконичность, я это понял. Вопрос, какие правила mql5 нарушает моя функция? Разве таймер криминал?

OnTimer в тестере не работает. А что в вашей функции (которую вы называете таймер) — никто кроме вас не знает.

Mikhail Nazarenko  
Andrey Khatimlianskii:

OnTimer в тестере не работает. А что в вашей функции (которую вы называете таймер) — никто кроме вас не знает.

Функция стоит в OnTick и ретурнит, если от последнего срабатывания функции до текущего тика прошло меньше 30 сек. Две строчки кода, и ошибка валидации.

Evgeniy Zhdan  
Mikhail Nazarenko:

Функция стоит в OnTick и ретурнит, если от последнего срабатывания функции до текущего тика прошло меньше 30 сек. Две строчки кода, и ошибка валидации.

Значит всегда ретурнит
Mikhail Nazarenko  
Evgeniy Zhdan:
Значит всегда ретурнит

Все работает и в тестере и в реале. Выдает ошибку валидации только при выкладывании советника на сайт. Я определил что проблема началась с добавлением этого таймера. Теперь пытаюсь разобраться, почему работающий советник не принимает сайт MQL5? Есть предположение, что валидатор считает таймер как ограничитель времени действия советника, что запрещено правилами. Кто знает так ли это?

Anatolii Zainchkovskii  
Mikhail Nazarenko:

Функция стоит в OnTick и ретурнит, если от последнего срабатывания функции до текущего тика прошло меньше 30 сек. Две строчки кода, и ошибка валидации.

А первое срабатывание функции При каком условии  происходит?  
Причина обращения: