A very kind programmer(thanks Shinigami) created an EA for me that will close a trade when 2 MAs cross. The EA is listed below. The MAs can be custom set, see parameter definitions at the following link.
iMA - MQL4 Documentation
-----------------------------------------
#property copyright "Shinigami© 2007"
#property link "Shini1984@gmail.com"
#define ORDER_ID 2016
extern int MA1.period =0;
extern int MA1.shift=0;
extern int MA1.method=0;
extern int MA1.price=0;
extern int MA2.period=0;
extern int MA2.shift=0;
extern int MA2.method=0;
extern int MA2.price=0;
int start()
{
if(CheckMACross()==1)
CloseOrders();
return(0);
}
int CheckMACross()
{
if(iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, MA1.price,2)<iMA(Symbol(),0,MA2.period, MA2.shift,MA2.method,MA2.price,2))
{
if(iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, MA1.price,1)>=iMA(Symbol(),0,MA2.period,MA2.shift, MA2.method,MA2.price,1))
return(1);
}
else if(iMA(Symbol(),0,MA1.period ,MA1.shift,MA1.method,MA1.price,2)>iMA(Symbol(),0, MA2.period,MA2.shift,MA2.method,MA2.price,2))
{
if(iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, MA1.price,1)<=iMA(Symbol(),0,MA2.period,MA2.shift, MA2.method, MA2.price,1))
return(1);
}
else return(0);
}
int CloseOrders()
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
//if(OrderMagicNumber()!=MagicNumber)
//continue;
if(OrderSymbol()!=Symbol())
continue;
if(OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,3);
if(OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
return(0);
}