Закрытие ВСЕХ ордеров.

 
Доброго времени суток.
Очень нужна помощь. В общем смысл такой: при появлении новой свечи у меня открывается новый ордер (BAY \ SELL), когда индикатор Parabolic SAR меняет направление мне надо закрыть все открытые ордера. Код как бы есть, но как закрыть все ордера не имею представления.  Вот часть кода:
int start() 

double sar_0, sar_1;
sar_0 = iSAR(NULL,PERIOD_H4,0.1,0.2,0);
sar_1 = iSAR(NULL,PERIOD_H4,0.1,0.2,1);

double MA_0, MA_1;
MA_0 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,0);
MA_1 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,1);

if(sar_1 < MA_1 && sar_0 > MA_1)
//Закрыть все ордера.

if(sar_1 > MA_1 && sar_0 < MA_1)
//Закрыть все ордера.  
}

Ордера открываю так:
OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-999*Point,Bid+999*Point); 
  OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+999*Point,Ask-999*Point);

Заранее благодарен.
 
BEZUMEC >>:
Доброго времени суток.
Очень нужна помощь. В общем смысл такой: при появлении новой свечи у меня открывается новый ордер (BAY \ SELL), когда индикатор Parabolic SAR меняет направление мне надо закрыть все открытые ордера. Код как бы есть, но как закрыть все ордера не имею представления. Вот часть кода:
int start()
{
double sar_0, sar_1;
sar_0 = iSAR(NULL,PERIOD_H4,0.1,0.2,0);
sar_1 = iSAR(NULL,PERIOD_H4,0.1,0.2,1);

double MA_0, MA_1;
MA_0 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,0);
MA_1 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,1);

if(sar_1 < MA_1 && sar_0 > MA_1)
//Закрыть все ордера.

if(sar_1 > MA_1 && sar_0 < MA_1)
//Закрыть все ордера.
}

Ордера открываю так:
OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-999*Point,Bid+999*Point);
OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+999*Point,Ask-999*Point);

Заранее благодарен.
void CloseThisSymbolAll()
{
 int trade;
 for(trade=OrdersTotal()-1;trade>=0;trade--)
 {
  OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

  if(OrderSymbol()!=Symbol())
   continue;
  if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
  {
   if(OrderType()==OP_BUY)
    OrderClose(OrderTicket(),OrderLots(),Bid,5,Blue);

   if(OrderType()==OP_SELL)
    OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
  }
 }
}
 
При компиляции ругается на строку: 

if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)


>>'MAGICMA' - variable not defined
 
BEZUMEC >>:
При компиляции ругается на строку:

if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)


>>'MAGICMA' - variable not defined



смени MAGICMA на свой маджик или поставь ноль вместо него если не используешь маджик

 
Разобрался. Огромное спасибо.
Причина обращения: