Открытие ордеров на новом баре.

 
Всем привет! 
Подскажите, как создать такую функцию, чтобы советник, работающий только на открытии новой свечи, прикрепленный к таймфрейму М30, мог также отслеживать открытие новых свечей на М15 и работать там?

То есть надо чтобы сначала был открыт ордер на М30, и только после этого можно было бы открывать ордера на М15.

Сразу оговорюсь, понятно, что по отдельности можно прикрепить два разных советника к тайм фреймам 30 и 15, но таким способом не возможно протестить на исторических данных, нужно чтобы это можно было бы записать все в один.
 

Функция такая:

datetime lastbar15=0;
datetime lastbar30=0;
 //////////////////////
В OnInit() 
   lastbar15=iTime(_Symbol,PERIOD_M15,0);
   lastbar30=iTime(_Symbol,PERIOD_M30,0);



bool NewBar(int tfr,datetime &last)
{
  datetime curbar=iTime(_Symbol,tfr,0);
  if(last!=curbar)
  {
    last=curbar;
    return (true);
  }
  else return(false);
}



Вызов такой:

  if(NewBar(PERIOD_M15,lastbar15))
{
///////
}
 
evillive:

Функция такая:


Вызов такой:


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

Функция такая:


Вызов такой:

Долго искать тему, но у меня были проблемы с индикатором MTF candle

Разжевали.

Лучше использовать Bars(iBars) 

 https://forum.mql4.com/ru/65066/page7