//+------------------------------------------------------------------+
//| Closing |
//+------------------------------------------------------------------+
void ClosePosition()
{
if(OrdersTotal()==0) return;
double fast_ma,slow_ma;
fast_ma=iMA(NULL,0,12,0,0,0,0);
slow_ma=iMA(NULL,0,60,0,0,0,0);
//---
for(int i=0;i<OrdersTotal();i++)
{
if(!OrderSelect(i,SELECT_BY_POS)) break;
if(OrderMagicNumber()!=MagicNum || OrderSymbol()!=Symbol()) continue;
//--- check order type
if(OrderType()==OP_BUY)
{
if(fast_ma<slow_ma)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(fast_ma>slow_ma)
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
}
//---
}
//--------------------------------------------------------------------