Close_All_orders

Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
Close_All_orders
//+------------------------------------------------------------------+
//|                               Çàêðûòèå âñåõ îòêðûòûõ îðäåðîâ.mq4 |
//|              Àëåêñàíäð Ñòðó÷êîâ http://vk.com/alexandr_struchkov |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Àëåêñàíäð Ñòðó÷êîâ http://vk.com/alexandr_struchkov"
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
#property show_inputs
extern bool CloseAll=false;
extern bool Buy=false;
extern bool Sell=false;
extern bool Buy_Stop=false;
extern bool Sell_Stop=false;
extern bool Buy_Limit=false;
extern bool Sell_Limit=false;
extern bool use_magic=false;
extern int magic=1;
bool ord_sel;
bool ord_close;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   if(CloseAll)
     {
      Buy=true;
      Sell=true;
      Buy_Stop=true;
      Sell_Stop=true;
      Buy_Limit=true;
      Sell_Limit=true;
     }
   for(int i=OrdersTotal()-1;i>=0;i--) // Ñêðèïò, êîòîðûé ïåðåáèðàåò ïî î÷åðåäè âñå îòêðûòèå îðäåðû
     {
      ord_sel=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (!use_magic) magic=OrderMagicNumber();
      if(OrderType()==OP_SELL && Sell&&OrderMagicNumber()==magic)
        {
         ord_close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),1,CLR_NONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Sell, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots(),",  Close price  ",MarketInfo(OrderSymbol(),MODE_ASK));
        }

      if(OrderType()==OP_BUY && Buy&&OrderMagicNumber()==magic)
        {
         ord_close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),1,CLR_NONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Buy, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots(),",  Close price  ",MarketInfo(OrderSymbol(),MODE_BID));
        }

      if(OrderType()==OP_BUYLIMIT && Buy_Limit&&OrderMagicNumber()==magic)
        {
         ord_close=OrderDelete(OrderTicket(),clrNONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Buy_Limit, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots());
        }

      if(OrderType()==OP_BUYSTOP && Buy_Stop&&OrderMagicNumber()==magic)
        {
         ord_close=OrderDelete(OrderTicket(),clrNONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Buy_Stop, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots());
        }

      if(OrderType()==OP_SELLSTOP && Sell_Stop&&OrderMagicNumber()==magic)
        {
         ord_close=OrderDelete(OrderTicket(),clrNONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Sell_Stop, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots());
        }

      if(OrderType()==OP_SELLLIMIT && Sell_Limit&&OrderMagicNumber()==magic)
        {
         ord_close=OrderDelete(OrderTicket(),clrNONE);
         if(!ord_close) i--; // Åñëè ïî ê.ë. îøèáêå îðäåð íå çàêðûëñÿ, ïðîñòî ïîâòîðÿåì îïåðàöèÿ çàêðûòèÿ åùå ðàç
         else Alert("Closed Sell_Limit, OrderTicket ",OrderTicket(),",  Lots  ",OrderLots());
        }
     }
  }
//+------------------------------------------------------------------+

Comments