Как увеличить периодичность запуска советчика?

 
Собственно, субж. Часто бывает на м30+, что внутри одного бара график успевает кучу раз подняться/опуститься за критическую отметку, и, соответственно, несколько раз открыть/закрыть минусовую сделку. Решение, которое я вижу - запуск скрипта не по тикам, а по барам. К это можно сделать? =)
 

Ну советник принципиально запускается при каждом тике.

Для контроля запуска всего кода советника можно вставить в начало Start() заглушку - проверку на время прошедшее с последнего запуска


int LastTradeTime;// определить в глобальных переменных, можно сразу определить равной открытию последнего бара
 
Start()
{
   if(TimeCurrent()-LastTradeTime>60)// проверка на 60 секунд
   {
      LastTradeTime=TimeCurrent();
 
   //====================код советника=======================
 
   }
}
 
int NewBar;
 
int Start(){
......................
  if(NewBar!=Bars){
     ..................
     ..................
     NewBar=Bars;
  }
 
}
Например так.
 
xeon:
ИМХО Это вариант очень зависит от состояния терминала, сам использую контроль времени. Тут еще есть возможность программно варьировать кол-во запуска советника внутри бара если есть необходимость отработать множественный вход по скальпингу.
 
премного благодарен =)
 
Cronex:
xeon:
ИМХО Это вариант очень зависит от состояния терминала, сам использую контроль времени. Тут еще есть возможность программно варьировать кол-во запуска советника внутри бара если есть необходимость отработать множественный вход по скальпингу.


Это ответ на поставленный автором ветки вопрос -

"Решение, которое я вижу - запуск скрипта не по тикам, а по барам. К это можно сделать?"
 
xeon:


Это ответ на поставленный автором ветки вопрос -

"Решение, которое я вижу - запуск скрипта не по тикам, а по барам. К это можно сделать?"
Ну вот, хотел расширить вопрос применения и получил по рогам :-)
 
namo:
Собственно, субж. Часто бывает на м30+, что внутри одного бара график успевает кучу раз подняться/опуститься за критическую отметку, и, соответственно, несколько раз открыть/закрыть минусовую сделку. Решение, которое я вижу - запуск скрипта не по тикам, а по барам. К это можно сделать? =)

Посмотрите здесь Учебник по MQL4 Переменные Массивы, задача 27.