//+------------------------------------------------------------------+
//| Çàêðûòèå âñåõ îòêðûòûõ îðäåðîâ.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