Edit Your Comment
MQL4 Stoploss
forex_trader_294488
Tham gia từ Dec 28, 2015
8bài viết
Feb 10, 2016 at 12:59
Tham gia từ Dec 28, 2015
8bài viết
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.
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.
Tham gia từ Nov 21, 2011
1718bài viết
Feb 10, 2016 at 13:46
Tham gia từ Nov 21, 2011
1718bài viết
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.
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
Tham gia từ Dec 21, 2010
131bài viết
Feb 10, 2016 at 15:46
Tham gia từ Dec 21, 2010
131bài viết
I think, hi wanted to realize Trailing Stop at distance (ATR-0.0005)
Tham gia từ Mar 02, 2010
97bài viết
Feb 13, 2016 at 09:56
Tham gia từ Mar 02, 2010
97bài viết
you should separate your conditions from ordermodify command!
ixbone@
Tham gia từ Apr 20, 2010
814bài viết
Feb 14, 2016 at 07:47
Tham gia từ Apr 20, 2010
814bài viết
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
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.
*Nghiêm cấm sử dụng cho mục đích thương mại và spam, nếu vi phạm có thể dẫn đến việc chấm dứt tài khoản.
Mẹo: Đăng ảnh/url youtube sẽ tự động được nhúng vào bài viết của bạn!
Mẹo: Dùng @ để tự động điền tên người dùng tham gia vào cuộc thảo luận này.