Yerkin Sagandykov  

Здравствуйте !

в коде  есть явный контроль открытия нового бара ( if  (iTime(nameSym, LPeriodH4, 0 ) == counted_bar )  return;     counted_bar = iTime( nameSym, LPeriodH4, 0);)

хотел поменять на функцию OnTimer. Насколько это оптимальное решение по сравнению ? И если OnTimer то отсчет идет с момента запуска советника ? у меня логика по закрытию бара на Н4 ,а если OnTimer то время может не совпадать с закрытием ?  

Alexey Volchanskiy  
Yerkin Sagandykov:

Здравствуйте !

в коде  есть явный контроль открытия нового бара ( if  (iTime(nameSym, LPeriodH4, 0 ) == counted_bar )  return;     counted_bar = iTime( nameSym, LPeriodH4, 0);)

хотел поменять на функцию OnTimer. Насколько это оптимальное решение по сравнению ? И если OnTimer то отсчет идет с момента запуска советника ? у меня логика по закрытию бара на Н4 ,а если OnTimer то время может не совпадать с закрытием ?  

На событие OnTimer вы можете задавать только время срабатывания таймера, к таймфреймам оно никак не привязано. Если «логика по закрытию бара на Н4», то это надо отслеживать вручную, например, с секундным таймером, если нужна точность секунда.  

Причина обращения: