В праздники можно будет реализовать что то подобное
Как я обычно люблю делать, упростив донельзя стратегию «ВАЛЕНОК»Я обошелся без этого момента
//+------------------------------------------------------------------+
//| Check for close order conditions |
//+------------------------------------------------------------------+
void CheckForClose()
{
//--- get Moving Average
double indalekseifxDeepSkyBlue=iCustom(Symbol(),0,"indalekseifx",Amplitude,1,1);
double indalekseifxTomato=iCustom(Symbol(),0,"indalekseifx",Amplitude,0,1);
double MACDAlertGreen=iCustom(Symbol(),0,"MACDAlert",FastPeriod,SlowPeriod,SignalPeriod,0,1);
double MACDAlertRed=iCustom(Symbol(),0,"MACDAlert",FastPeriod,SlowPeriod,SignalPeriod,1,1);
//---
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) continue;
//--- check order type
if(OrderType()==OP_BUY)
{
if(MACDAC==1 && indalekseifxDeepSkyBlue>indalekseifxTomato && MACDAlertGreen<MACDAlertRed)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
Print("OrderClose error ",GetLastError());
}
if(indalekseifxDeepSkyBlue>indalekseifxTomato)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(MACDAC==1 && indalekseifxTomato>indalekseifxDeepSkyBlue && MACDAlertGreen>MACDAlertRed)
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
Print("OrderClose error ",GetLastError());
}
if(indalekseifxTomato>indalekseifxDeepSkyBlue)
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
}
//---
}
//+------------------------------------------------------------------+
AM2