
//+------------------------------------------------------------------+
int OnInit()
{
if(GlobalVariableCheck("val")==False) {EventSetTimer(5);}
else
if(GlobalVariableCheck("val")==True)
{
if(Period()==1440 ) PlaySound("3175.wav");bPlayS=False;
...
if(Period()==15 ) PlaySound("3252.wav");bPlayS=False;
}
Comment("\n Total: ",GlobalVariablesTotal());
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
EventKillTimer();
if(reason==1) GlobalVariableDel("val");
Comment("\n Total: ",GlobalVariablesTotal());
}
//+------------------------------------------------------------------+
void OnTimer()
{
PlaySound(mus);GlobalVariableSet("val",1);
EventKillTimer();
}
#property copyright "GDV"
#property show_inputs
extern bool ALL=True;//ВСЕ
extern bool ALL_Profit=False;//ВСЕ +
extern bool ALL_NULL=False;//ВСЕ -
extern bool ALL_BUY=False;//ВСЕ BUY
extern bool ALL_SELL=False;//ВСЕ SELL
extern int Profit=5;//Min. профит для закрытия в +
extern int slippage1=3000;//3 sek.
extern int slippage=3;
void start()
{
int ask, bid, open;
double point;
Sleep(slippage1);
if (ALL==true)
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
open=MathRound(OrderOpenPrice()/point);
if (bid-open>Profit) continue;
OrderClose(OrderTicket(),OrderLots(),bid*point,slippage);
}
if (OrderType()==OP_SELL)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
open=MathRound(OrderOpenPrice()/point);
if (open-ask>Profit) continue;
OrderClose (OrderTicket(),OrderLots(),ask*point,slippage);
}
}
for (int ii=OrdersTotal()-1; ii>=0; ii--)
{
if (!OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
open=MathRound(OrderOpenPrice()/point);
if (bid-open<Profit) continue;
OrderClose(OrderTicket(),OrderLots(),bid*point,slippage);
}
if (OrderType()==OP_SELL)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
open=MathRound(OrderOpenPrice()/point);
if (open-ask<Profit) continue;
OrderClose (OrderTicket(),OrderLots(),ask*point,slippage);
}
}
for (int iii=OrdersTotal()-1; iii>=0; iii--)
if (!OrderSelect(iii,SELECT_BY_POS,MODE_TRADES))
if (OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) OrderClose (OrderTicket(),OrderLots(),Ask,slippage);
for (int ji=OrdersTotal()-1; ji>=0; ji--)
if (OrderSelect(ji, SELECT_BY_POS))
if (OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP ) bool cl=OrderClose (OrderTicket(),OrderLots(),Bid,slippage);
}
if(ALL_Profit==True)
{
for (int ki=OrdersTotal()-1; ki>=0; ki--)
{
if (!OrderSelect(ki,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
open=MathRound(OrderOpenPrice()/point);
if (bid-open<Profit) continue;
OrderClose(OrderTicket(),OrderLots(),bid*point,slippage);
}
if (OrderType()==OP_SELL)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
open=MathRound(OrderOpenPrice()/point);
if (open-ask<Profit) continue;
OrderClose (OrderTicket(),OrderLots(),ask*point,slippage);
}
}
}
if(ALL_NULL==True)
{
for (int kki=OrdersTotal()-1; kki>=0; kki--)
{
if (!OrderSelect(kki,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
open=MathRound(OrderOpenPrice()/point);
if (bid-open>Profit) continue;
OrderClose(OrderTicket(),OrderLots(),bid*point,slippage);
}
if (OrderType()==OP_SELL)
{
point=MarketInfo(OrderSymbol(),MODE_POINT);
if (point==0) break;
ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
open=MathRound(OrderOpenPrice()/point);
if (open-ask>Profit) continue;
OrderClose (OrderTicket(),OrderLots(),ask*point,slippage);
}
}
}
if(ALL_SELL==True)
{
for (int kiii=OrdersTotal()-1; kiii>=0; kiii--)
if (!OrderSelect(kiii,SELECT_BY_POS,MODE_TRADES))
if (OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) OrderClose (OrderTicket(),OrderLots(),Ask,slippage);
}
if(ALL_BUY==True)
{
for (int kji=OrdersTotal()-1; kji>=0; kji--)
if (OrderSelect(kji, SELECT_BY_POS))
if (OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP ) OrderClose (OrderTicket(),OrderLots(),Bid,slippage);
}
}
Servir