Индикатор - история - время дня

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Artemij
424
Artemij  

Добрый День!

Задача:

на истории индикатор должен рисовать сигналы только в определённое время суток. Допустим, с 08:00 до 18:00. Остальное время - соблюдать КЗОТ и не делать ни фига. То есть, вовсе ни фига, будто и нет его, и не было никогда.  

Конструкция 

if (Hour() > 7 && Hour() < 19)  //v8
   {//time                      //v8

не даёт никакого результата. (Просто никакого, даже не стал разбираться почему именно)

Нутром чую, что надо копать куда-то в сторону 

 MarketInfo() + MODE_TIME

TimeCurrent

TimeHour

...или? И как их всех подружить между собой?...

В общем, понял, что необходим "внебрачный сын ошибок трудных" - чужой опыт.  

MarketInfo - Получение рыночной информации - Справочник MQL4
MarketInfo - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
MarketInfo - Получение рыночной информации - Справочник MQL4
Konstantin Erin
2162
Konstantin Erin  
Artemij:

Добрый День!

Задача:

на истории индикатор должен рисовать сигналы только в определённое время суток. Допустим, с 08:00 до 18:00. Остальное время - соблюдать КЗОТ и не делать ни фига. То есть, вовсе ни фига, будто и нет его, и не было никогда.  

Конструкция 

не даёт никакого результата. (Просто никакого, даже не стал разбираться почему именно)

Нутром чую, что надо копать куда-то в сторону 

 MarketInfo() + MODE_TIME

TimeCurrent

TimeHour

...или? И как их всех подружить между собой?...

В общем, понял, что необходим "внебрачный сын ошибок трудных" - чужой опыт.  

Попробуйте в начале функции OnCalculate()  или может быть у Вас старое название start()
if (Hour() < 7 || Hour() > 19) return;  // Это время сервера. если у Вас сдвиг - подкорректируйте

еще там у Вас есть цикл for(Тут нужный индекс ...) в самое начало его вставить  

if(TimeHour(Time[Тут индекс нужный]) < 7  ||  TimeHour(Time[Тут индекс нужный])> 17) continue;
Artemij
424
Artemij  
STARIJ:
Попробуйте в начале функции OnCalculate()  или может быть у Вас старое название start()

еще там у Вас есть цикл for(Тут нужный индекс ...) в самое начало его вставить  


Большое Спасибо!

Первый вариант Hour наверняка будет работать, но только он-лайн. А так как до Вашего ответа я добрался в семь вечера, после загрузки индикатора график остался девственно чистым.

А вот второй вариант TimeHour - именно то, что нужно!

Большое Спасибо-2! 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий