MQL4 Stoploss

Feb 10, 2016 at 12:59
770 개의 뷰
4 Replies
Dec 28, 2015 부터 멤버   게시물8
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);

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.
Nov 21, 2011 부터 멤버   게시물1718
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.
Dec 21, 2010 부터 멤버   게시물131
Feb 10, 2016 at 15:46
I think, hi wanted to realize Trailing Stop at distance (ATR-0.0005)
Mar 02, 2010 부터 멤버   게시물97
Feb 13, 2016 at 09:56
you should separate your conditions from ordermodify command!
Apr 20, 2010 부터 멤버   게시물814
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.
로그인 / 가입하기 to comment
You must be connected to Myfxbook in order to leave a comment
*상업적 사용 및 스팸은 허용되지 않으며 계정이 해지될 수 있습니다.
팁: 이미지/유튜브 URL을 게시하면 게시물에 자동으로 삽입됩니다!
팁: @기호를 입력하여 이 토론에 참여하는 사용자 이름을 자동으로 완성합니다.