MQL4 Stoploss

Feb 10, 2016 at 12:59
846 Angesehen
4 Replies
Yurin92
forex_trader_294488
Mitglied seit Dec 28, 2015   8 Posts
Feb 10, 2016 at 12:59
Hello everyone. I've coded this piece here:

for(int i=0;i<OrdersTotal();i++)
     {
      bool select = OrderSelect(i,SELECT_BY_POS,MODE_TRADES); //Iteration through every trade
      if(OrderMagicNumber()==1 && OrderSymbol()==Symbol()) //if Trade==BUY
        {
         if(Close[1]>OrderStopLoss()+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.
Mitglied seit Nov 21, 2011   1718 Posts
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
Mitglied seit Dec 21, 2010   131 Posts
Feb 10, 2016 at 15:46
I think, hi wanted to realize Trailing Stop at distance (ATR-0.0005)
Mitglied seit Mar 02, 2010   97 Posts
Feb 13, 2016 at 09:56
you should separate your conditions from ordermodify command!
ixbone@
Mitglied seit Apr 20, 2010   814 Posts
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.
Anmelden / Registrieren to comment
You must be connected to Myfxbook in order to leave a comment
*Kommerzielle Nutzung und Spam werden nicht toleriert und können zur Kündigung des Kontos führen.
Tipp: Wenn Sie ein Bild/eine Youtube-Url posten, wird diese automatisch in Ihren Beitrag eingebettet!
Tipp: Tippen Sie das @-Zeichen ein, um einen an dieser Diskussion teilnehmenden Benutzernamen automatisch zu vervollständigen.