Правильно ли я обращаюсь

[Удален]  
Подскажите пожайлуста правильно ли я обращаюсь к последней закрытой позиции т.е. допустим если она была sell то следующая открываемая позиция не мож
bool AllowedOpenOrderProtivM15()
 { 
  for (int i=0;i<OrdersTotal();i++)
   {
   if (OrderSelect(0,SELECT_BY_POS,MODE_HISTORY))//выделяем ордер и сравниваем с нашим символом и магик
   if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
   if(OpenLongShortM5()!= OP_BUY && TrendM15()==OP_BUY)//сравниваем сигналы
   if(OrderType()!=OP_BUY) return(false);//если выделенный ордер равен сигналу М5 то ЗАПРЕШЕНО  
   else
   if(OpenLongShortM5()!= OP_SELL && TrendM15()==OP_SELL)//сравниваем сигналы
   if(OrderType()!=OP_SELL) return(false);//если выделенный ордер равен сигналу М5 то ЗАПРЕШЕНО 
   }
  return(true);    
 }
ет быть sell  и наоборот. Функция должна запретить т.е. вернуть false
 
Нет не правильно.

Вместо функции OrdersTotal() необхимо использовать
OrdersHistoryTotal( )
Дальше в цикле необходимо искать позицию с наибольшим временем закрытия.
datetime _time=0;
int pos_type=-1;
 
for (int i=0;i<OrdersHistoryTotal();i++)
   {
   if (OrderSelect(0,SELECT_BY_POS,MODE_HISTORY))//выделяем ордер и сравниваем с нашим символом и магик
   if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
     if(OrderCloseTime()>_time)//если нашли позцицию с большим временем закрытия чем _time
     {
        pos_type=OrderType();//сохраняем тип позиции
        _time=OrderCloseTime();//сохраняем время закрытия позиции
     }
   
   }
  
  if(TrendM15()==OP_BUY&&OpenLongShortM5()!= OP_BUY&&pos_type!=OP_BUY&&pos_type!=-1)
       return(false);
  if(TrendM15()==OP_SELL&&OpenLongShortM5()!= OP_SELL&&pos_type!=OP_SELL&&pos_type!=-1)
       return(false);
  return(true);
[Удален]  
Luptator:
Нет не правильно.

Вместо функции OrdersTotal() необхимо использовать
OrdersHistoryTotal( )
Дальше в цикле необходимо искать позицию с наибольшим временем закрытия.
datetime _time=0;
int pos_type=-1;
 
for (int i=0;i<OrdersHistoryTotal();i++)
   {
   if (OrderSelect(0,SELECT_BY_POS,MODE_HISTORY))//выделяем ордер и сравниваем с нашим символом и магик
   if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
     if(OrderCloseTime()>_time)//если нашли позцицию с большим временем закрытия чем _time
     {
        pos_type=OrderType();//сохраняем тип позиции
        _time=OrderCloseTime();//сохраняем время закрытия позиции
     }
   
   }
  
  if(TrendM15()==OP_BUY&&OpenLongShortM5()!= OP_BUY&&pos_type!=OP_BUY&&pos_type!=-1)
       return(false);
  if(TrendM15()==OP_SELL&&OpenLongShortM5()!= OP_SELL&&pos_type!=OP_SELL&&pos_type!=-1)
       return(false);
  return(true);


Благодарю Алексей за внимание