MQL4 Stoploss

Feb 10, 2016 at 12:59
Vistas 884
4 Replies
Yurin92
forex_trader_294488
Miembro desde Dec 28, 2015   posts 8
Feb 10, 2016 at 12:59
Hello everyone. I've coded this piece here:

for(int i=0;iOrderStopLoss()+atr && Close[1]>OrderOpenPrice()+atr) //is the price already greater than the opening price+ATR, and than the stoploss+ATR?
{
bool order = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderStopLoss()+atr-0.0005,5),0,0,clrAquamarine);
if(!order){Alert(GetLastError());}
}
else
{
return;
}
}
}

But the stoploss keeps moving on every tick. I know it is due to the "-0.0005", but I would like to have that added "margin". How could I manage it to stop from moving on every tick, without having to remove this -0.0005 margin?

thank you very much in advance.
Miembro desde Nov 21, 2011   posts 1601
Feb 10, 2016 at 13:46
If you wanna place SL when you open orders, then you simply need to adjust SL at this moment using OpenOrder function.

If you wanna place SL at a particular event then you have to add the following condition... Does my SL is null, if so, apply your code else nothing.

So it should do it only once.
forex_trader_25447
Miembro desde Dec 21, 2010   posts 127
Feb 10, 2016 at 15:46
I think, hi wanted to realize Trailing Stop at distance (ATR-0.0005)
Miembro desde Mar 02, 2010   posts 95
Feb 13, 2016 at 09:56
you should separate your conditions from ordermodify command!
ixbone@
Miembro desde Apr 20, 2010   posts 808
Feb 14, 2016 at 07:47
You need add the StopLoss Condition.

double stoplossBuy;
if(stoplossBuy < Bid- Close[1]- atr ) stoplossBuy = Bid- - Close[1]- atr ;

// This ensure your stopLossBuy will only move up
Information is Gold when come to organised.
Conectarse / Inscribirse to comment
You must be connected to Myfxbook in order to leave a comment
*El uso comercial y el spam no serán tolerados y pueden resultar en el cierre de la cuenta.
Consejo: Al publicar una imagen o una URL de YouTube, ésta se integrará automáticamente en su mensaje!
Consejo: Escriba el signo @ para completar automáticamente un nombre de usuario que participa en esta discusión.