Jump to content

⤴️-Paid Ad- Check advertising disclaimer here. Add your banner here.🔥

Recommended Posts

Posted

Dear Friends,

 

Anybody please help adding Maximum open order option to this attached EA. Currently It opens more than 10 trade & after touching the TP level it opens more than 20 trade.

 

Adding MaxTrade option will be a great help to control the maximum open orders.

 

-----------------------------------------------------------------------------------

 

extern double Lots = 0.1;

extern int StopLoss = 50;

extern int TakeProfit = 100;

extern int TrailingStop = 20;

 

extern int mafastperiod=5;

extern int mafastshift=0;

extern int mafastmethod =MODE_EMA;

extern int mafastprice=PRICE_CLOSE;

 

extern int maslowperiod=8;

extern int maslowshift=0;

extern int maslowmethod =MODE_EMA;

extern int maslowprice=PRICE_OPEN;

 

double fast1, fast2, slow1, slow2;

//---------------------------------------------------------------------

int init()

{

return(0);

}

//---------------------------------------------------------------------

int deinit()

{

return(0);

}

//---------------------------------------------------------------------

int start()

{

// Calculate Indicators -------------------------------------------------

fast1=iMA(Symbol(),0,mafastperiod,mafastshift,mafastmethod,mafastprice,1);

fast2=iMA(Symbol(),0,mafastperiod,mafastshift,mafastmethod,mafastprice,2);

slow1=iMA(Symbol(),0,maslowperiod,maslowshift,maslowmethod,maslowprice,1);

slow2=iMA(Symbol(),0,maslowperiod,maslowshift,maslowmethod,maslowprice,2);

 

// Open Trades ----------------------------------------------------------

 

//LONG

if (fast1>slow1&&fast2<slow2)

 

{

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,NULL,0,0,Blue);

}

 

//Short

if(fast1<slow1&&fast2>slow2)

{

OrderSend(Symbol(),OP_SELL,Lots ,Bid,0,Bid+StopLoss*Point,Bid-TakeProfit*Point,NULL,0,0,Red);

}

 

// Close Trades ---------------------------------------------------------

 

int i;

 

for (i = OrdersTotal()-1; i >=0 ;i-- )

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

 

if ( (OrderSymbol() == Symbol()) &&

(OrderType() == OP_BUY) &&

(fast1 < slow1) &&

(fast2 > slow2) )

{

OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,White);

}

 

if ( (OrderSymbol() == Symbol()) &&

(OrderType() == OP_SELL) &&

(fast1 > slow1) &&

(fast2 < slow2) )

{

OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,White);

}

}

 

// Trailing Stop ---------------------------------------------------------

 

for (i = OrdersTotal()-1; i>=10 ;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

 

if (OrderType() == OP_BUY)

{

if ( (Bid - OrderOpenPrice()) > (TrailingStop*Point) )

{

if ( OrderStopLoss() < (Bid - TrailingStop*Point) )

{

OrderModify(OrderTicket(),

OrderOpenPrice(),

Bid - TrailingStop*Point,

OrderTakeProfit(),

Red);

}

}

}

 

if (OrderType() == OP_SELL)

{

if ( (OrderOpenPrice() - Ask) > (TrailingStop*Point) )

{

if ( (OrderStopLoss() > (Ask + TrailingStop*Point)) ||

(OrderStopLoss() == 0) )

{

OrderModify(OrderTicket(),

OrderOpenPrice(),

Ask + TrailingStop*Point,

OrderTakeProfit(),

Red);

}

}

}

}

 

return(0);

 

}

 

 

//+------------------------------------------------------------------+

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


⤴️-Paid Ad- Check advertising disclaimer here. Add your banner here.🔥

×
×
  • Create New...