Гарантированное закрытие ордеров

Функция гарантированного закрытия всех открытых ордеров mql4 по магику на текущем торговом инструменте:

void ClosePos()
  {
   bool closes = false;
   while(!closes)
     {
      for(int i=0; i<=OrdersTotal(); i++)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
           {

            bool close=false;
            if(OrderType()<=1 && OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)
              {
               Print("cous: ",cous);
               cous++;
               while(!close)
                 {
                  if(OrderType()==0 && OrderSymbol()==Symbol())
                    {
                     close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),100,clrNONE);
                    }
                  if(OrderType()==1 && OrderSymbol()==Symbol())
                    {
                     close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),100,clrNONE);
                    }
                 }
              }
           }
        }
      if(CountTrades(-1,Magic)==0)
        {
         closes=true;
         break;
        }
     }
  }

Поделись с друзьями: