static datetime timeday=0; if (timeday!=iTime(_Symbol,PERIOD_D1,0)) { Print("This code should be printed once per day"); timeday=iTime(_Symbol,PERIOD_D1,0); }
Чтобы не привязываться к определенному ТФ, можно сделать так:
int day_of_year_trade; void OnTick() { if (day_of_year_trade != DayOfYear()) { day_of_year_trade = DayOfYear(); Print("This code should be printed once per day"); } }
Roman Starostin:
Чтобы не привязываться к определенному ТФ, можно сделать так:
в МТ5 нет функции DayOfYear
нужно делать через MqlDateTime
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть цикл, содержащий Print(), который должен быть вызываться только раз в день. Код:
У этого кода две проблемы:
1) При достаточном количестве тиков Print() вызывается несколько раз в минуту.
2) Когда происходит дисконнект от торгового сервера или же когда заканчивается торговая сессия, время в терминале останавливается, и если код выполнялся в эту минуту, Print() вызывается несколько раз в минуту.
Как сделать так, что бы код выполнялся только раз в день, независимо от того есть остановлено ли время в терминале или закончилась ли торговая сессия?