//+------------------------------------------------------------------+
//|                                            close-all-orders.mq4  |
//+------------------------------------------------------------------+

int start()
{
   bool   result;
   double price;
   int    cmd,error;
   int total = OrdersTotal();
   for(int i=total-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
               cmd=OrderType();//---- first order is buy or sell
               if(cmd==OP_BUY || cmd==OP_SELL)
                  {
                     while(true)
                        {
                           if(cmd==OP_BUY) price=Bid;
                           else            price=Ask;
                           result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE);
                           if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }
                           else error=0;
                           if(error==135) RefreshRates();
                           else break;
                        }
                  }
            }
            else Print( "Error when order select ", GetLastError());
      }
   return(0);
}