Старт советника только в начале нового БАРа - страница 3

 

 Я так делаю:

//+------------------------------------------------------------------|
// Определение начала нового бара                                      |
// Возвращает целое значение начала нового максимального периода         |     
//+------------------------------------------------------------------|
int NewBar()
{
static datetime stLastT_1 =0, stLastT_5 =0, stLastT_15 =0,
stLastT_30=0, stLastT_60=0, stLastT_240=0,
stLastT_1440=0;
int Per=0;
string Sym=Symbol();
datetime tT_1 = iTime(Sym,1, 0);
datetime tT_5 = iTime(Sym,5, 0);
datetime tT_15 = iTime(Sym,15, 0);
datetime tT_30 = iTime(Sym,30, 0);
datetime tT_60 = iTime(Sym,60, 0);
datetime tT_240 = iTime(Sym,240, 0);
datetime tT_1440 = iTime(Sym,1440,0);
if (tT_1 != stLastT_1) {stLastT_1 = tT_1; Per=1; }
if (tT_5 != stLastT_5) {stLastT_5 = tT_5; Per=5; }
if (tT_15 != stLastT_15) {stLastT_15 = tT_15; Per=15; }
if (tT_30 != stLastT_30) {stLastT_30 = tT_30; Per=30; }
if (tT_60 != stLastT_60) {stLastT_60 = tT_60; Per=60; }
if (tT_240 != stLastT_240) {stLastT_240 = tT_240; Per=240; }
if (tT_1440 != stLastT_1440) {stLastT_1440 = tT_1440; Per=1440;}
return(Per);
}


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