//+------------------------------------------------------------------+
//| ÑLOSE_ALL+MAGIK.mq4 |
//| MVS |
//| ICQ 588-948-516 ÏÈØÓ ÑÎÂÅÒÍÈÊÈ ÍÀ ÇÀÊÀÇ |
//+------------------------------------------------------------------+
#property copyright "MVS"
#property link "ICQ 588-948-516 ÏÈØÓ ÑÎÂÅÒÍÈÊÈ ÍÀ ÇÀÊÀÇ"
extern string ñlose ="= 1 -áàëàíñ, 2 -ïóíêòû ,3 -ïðîöåíòû =";
extern int close = 2; //çàêðûâàåò 1 ïî áàëàíñó
// 2 ïî ïóíêòàì
// 3 ïî ïðîöåíòàì
extern bool magic = True;//åñëè True òî ïî ìàãèêó,åñëè False òî âñå îòêðûòûå
extern int Magic = 0; // ñòàâèì íóæíûé Magic åêñïåðòà,åñëè 0 òî îòêðûòûå âðó÷íóþ
extern int Profit = 500; // ïðîôèò ïðè êîòîðîì çàêðûâàåì
extern int Loss = 5000; // ëîññ ïðè êîòîðîì çàêðûâàåì
int Slippage = 2; // ïðîñêàëüçûâàíèå
extern bool Orderdelete = True; // óäàëÿòü îòëîæåííûå îðäåðà True=ÄÀ,False=ÍÅÒ
extern bool comment = True; // Ïîêàçûâàòü êîììåíòàðèé True=ÄÀ,False=ÍÅÒ
//---------------------- Ãëîáàëüíûå ïåðåìåííûå ñîâåòíèêà --------------------------------------------------
double price;
int ordertype,err;
bool result,first;
#include <stdlib.mqh>
//+--------------------------------------------------------------------------------------------------------
int init() {
if (!IsTesting())
Comment(""); }
//+--------------------------------------------------------------------------------------------------------
int deinit() {
if (!IsTesting())
Comment(""); }
//-----------------------------------ïîåõàëè---------------------------------------------------------------
int start() {
double ask,bid,open,Prc,point,buy_e,sell_e,Equity,_close;
int Pips,buy_p,sell_p,flag=0;
string com,mg;
//-------------------------------ñìîòðèì îòêðûòûå----------------------------------------------------------
if( magic) mg=Magic;if(!magic) mg="ÍÅ ÂÛÁÐÀÍ";
for(int Q=0;Q<OrdersTotal();Q++) {
if (OrderSelect(Q,SELECT_BY_POS,MODE_TRADES))
if(!magic||OrderMagicNumber()==Magic){
if (OrderType()==OP_SELL) {
point=MarketInfo(OrderSymbol(),MODE_POINT);
ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
open=MathRound(OrderOpenPrice()/point);
sell_e+=OrderProfit()+OrderSwap();
sell_p+=(open-ask);
}
if (OrderType()==OP_BUY) {
point=MarketInfo(OrderSymbol(),MODE_POINT);
bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
open=MathRound(OrderOpenPrice()/point);
buy_e+=OrderProfit()+OrderSwap();
buy_p+=(bid-open);
}
//-----------------------------------ñ÷èòàåì---------------------------------------------------------------
Pips=(buy_p+sell_p);
Equity=(buy_e+sell_e);
Prc=NormalizeDouble((Equity*100)/AccountBalance(),2);
//----------------------------------âûáèðàåì---------------------------------------------------------------
switch(close)
{
case 1: _close=Equity; com = "áàëàíñó"; break;
case 2: _close=Pips; com = "ïóíêòàì"; break;
case 3: _close=Prc; com = "ïðîöåíòàì"; break;
default: com = "ÍÅ ÓÊÀÇÀÍÎ"; break;
}
//--------------------Êîììåíòàðèè---------------------------------------------------------------------------
if(comment)
Comment(
"\nÇàêðûòèå ïî ",com," ",
"\nMagic íîìåð N ",mg," ",
"\nÏðèáûëü çàêðûòèÿ ",Profit," ",
"\nÓáûòîê çàêðûòèÿ ",Loss," ",
"\nÏðèáûëü BUY ïóíêòîâ ",buy_p," ï.",
"\nÏðèáûëü Sell ïóíêòîâ ",sell_p," ï.",
"\nÎáùèõ ïóíêòîâ ",Pips," ï.",
"\nÏðèáûëü BUY $ ",buy_e," $",
"\nÏðèáûëü Sell $ ",sell_e," $",
"\nÎáùèé Equity $ ",Equity," $",
"\nÏðèáûëü ïðîöåíò % ",Prc," %"
);
}}
//---------------------------óñëîâèÿ äëÿ çàêðûòèÿ---------------------------------------------------------------------
if (_close <=-Loss) { Alert(" ÇÀÊÐÛÂÀÅÌ ÓÁÛÒÎÊ O_o");flag=1;}
if (_close >=Profit){ Alert(" ÇÀÊÐÛÂÀÅÌ ÏÐÎÔÈÒ !!!"); flag=1;}
//-----------------------------âñå ïîçèöèè çàêðûâàåì------------------------------------------------------------------
if(flag>0)
for(int i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(!magic||OrderMagicNumber()==Magic) {
ordertype=OrderType();
if(ordertype==OP_BUY || ordertype==OP_SELL){
while(true){
if(ordertype==OP_BUY)
price=MarketInfo(OrderSymbol(),MODE_BID);
else
price=MarketInfo(OrderSymbol(),MODE_ASK);
result=OrderClose(OrderTicket(),OrderLots(),price,Slippage,CLR_NONE);
if(result!=true) {err=GetLastError(); Print("Îøèáêà çàêðûòèÿ ",err);}
else err=0;
if(err==135 || err==138) RefreshRates();
else break;
}}
//---------------------------âñå îðäåðà óäàëÿåì-----------------------------------------------------------------------
if (Orderdelete) {
if ( ordertype == OP_BUYSTOP || ordertype == OP_SELLSTOP || ordertype == OP_BUYLIMIT || ordertype == OP_SELLLIMIT )
OrderDelete(OrderTicket(),CLR_NONE);
}
else Print( "âîçíèêëà îøèáêà ",GetLastError());
}}}
return(0);
}
Comments