Помогите небольшой функцией проверки

 

Нужно проверить был ли закрыт последний ордер на прошлых n-барах (свечках).


То есть есть момент, когда OrdersTotal() стал равен нулю и надо проверить было ли закрытие последнего n-баров назад.


Помогите написать функцию, что-то я совсем не дотягиваю ):

 

Так последний ордер, или все ордера, какой тип результата должна возвращать функция?

 

Последний. Или иными словами как давно не в позиции.

Возвращать True\False.

Логика примерно седующая: Если последний ордер закрыт на промежутке времени n-баров назад, то...

bool LastOrderClosedIn(int bars)
{
   if ( последний ордер был закрыт в пределах bars баров назад ) return True;
   return False;
}

Что-то типа этого.

 
Я тут подумал. Возможно, универсальней была бы функция без параметров просто возвращающая "сколько баров назад была закрыта позиция"
int LastOrderClosedIn()
{
   if (OrdersTotal() > 0 ) return(0); // всё ещё в позиции.
   // вычислить и вернуть значение...
}
 
int ifLastOrderCloseBar(int tf=0,int magic=0){int time;
  for(int i=0;i<OrdersHistoryTotal();i++){
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
      if(OrderSymbol()==Symbol()){
        if(OrderMagicNumber()==magic){
          if(OrderCloseTime()>time){
            time=OrderCloseTime();
          }
        }
      }
    }
  }
  if(time!=0){
    return(iBarShift(Symbol(),tf,time,false);
  }
  return(-1);
}
 
xrust >>:

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

Там в ретурне одну скобку забыли закрыть...

В итоге я сделал так:

int LastOrderCloseBar(int tf=0,int magic=0){int time;
  if(OrdersTotal()>0) return(0); // Ещё в позиции
  for(int i=0;i<OrdersHistoryTotal();i++){
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
      if(OrderSymbol()==Symbol()){
        if(OrderMagicNumber()==magic){
          if(OrderCloseTime()>time){
            time=OrderCloseTime();
          }
        }
      }
    }
  }
  if(time!=0){
    return(iBarShift(Symbol(),tf,time,false));
  }
  return(-1);
}
 

Опрометчиво, а если есть ордера по другим инструментам? тогда проверка не пройдет, и не такаа уж больша функци, чтобы серьезно машину тормозила

 
Мда, действительно. Спасиб ещё раз (: