Например, нужно чтобы действие выполнялось и в 7 часов и в 8 и в 9.
Что-то типа этого, но это не работает
Может взять в скобки каждую часть.
Так тоже не катит.
Как его правильно прописать?
(про то, что действие будет выполняться пару раз на протяжении одной секунды, или вообще может не выполнится, если на протяжении этой секунды не будет тика - не писать. я это знаю) )
if(Minute()==0 && Seconds()==0 && (Hour()==7 || Hour()==8 || Hour()==9)) { }Так пробовали?
Так пробовали?
спасибо. значит я правильно догадался что нужно взять в скобки.
прикол. алерты вылазят с задержкой в 10 секунд, хоть время в алертах пишет то, что нужно)
Artyom Trishkin:
Так пробовали?
if(Minute()==0 && Seconds()==0 && (Hour()==7 || Hour()==8 || Hour()==9)) { }
если работать по тикам, то такая ситуация никогда не наступит или наступит с ничтожной вероятностью
Например, нужно чтобы действие выполнялось и в 7 часов и в 8 и в 9.
int b=-1; void OnTick() { if ( b==Minute() ) return; b=Minute(); if ( (Hour()==7 && Minute()==0 ) || (Hour()==8 && Minute()==0 ) || (Hour()==9 && Minute()==0) ) { } }короче, задача была, чтобы код выполнился один раз в 7 часов, в 8 часов и в 9 часов.
уже сделал вот так:
короче, задача была, чтобы код выполнился один раз в 7 часов, в 8 часов и в 9 часов.
что секунды убрали -- это правильно.
но если отработка нужна по тикам, то такое условие будет пропускать время -- не всегда тик приходит в 0 минут.
даже в тестере не всегда -- а уж на реальном потоке и подавно.
но если отработка нужна по тикам, то такое условие будет пропускать время -- не всегда тик приходит в 0 минут.
лучше юзать OnTimer() ?
Например, нужно чтобы действие выполнялось и в 7 часов и в 8 и в 9.
Что-то типа этого, но это не работает
Может взять в скобки каждую часть.
Так тоже не катит.
Как его правильно прописать?
(про то, что действие будет выполняться пару раз на протяжении одной секунды, или вообще может не выполнится, если на протяжении этой секунды не будет тика - не писать. я это знаю) )
каждое ИЛИ надо брать в скобки
if ( (Bid>Open[1]) || (Bid>Close[1]) )
лучше юзать OnTimer() ?
зачем? долбать терминал каждую секунду? если нужна отработка по тикам?
всё надо делать в меру и сообразно решаемой задаче.
в вашем случае -- надо знать для чего эта конструкция -- тогда можно будет понимать в какую сторону эту конструкцию изменить, чтобы работало как надо по задаче.
каждое ИЛИ надо брать в скобки
if ( (Bid>Open[1]) || (Bid>Close[1]) )
нет
![Документация по MQL5: Основы языка / Операции и выражения / Приоритеты и порядок операций Документация по MQL5: Основы языка / Операции и выражения / Приоритеты и порядок операций](/i/community/logo_mql5_small.png)
- www.mql5.com
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Что-то типа этого, но это не работает
Может взять в скобки каждую часть.
Так тоже не катит.
Как его правильно прописать?
(про то, что действие будет выполняться пару раз на протяжении одной секунды, или вообще может не выполнится, если на протяжении этой секунды не будет тика - не писать. я это знаю) )