Advertisement
Edit Your Comment
Position Modifier not working correctly
Sep 09, 2015 at 05:59
Tham gia từ Sep 08, 2015
1bài viết
I've been working on an EA for a while and part of it adjusts the stop loss on positions based on other criteria. The opening conditions allow it to open up to 4 positions at a time, all the buy orders are set with the magic index of 4 and sells are 3.
For some reason the stop loss adjuster is working fine but only on the first position, the other 3 are not being modified at all.
This is probably me with smoke kind of rookie error but if anyone has any ideas that might be able to solve this issue that would be amazing.
Thanks
Tom
For some reason the stop loss adjuster is working fine but only on the first position, the other 3 are not being modified at all.
This is probably me with smoke kind of rookie error but if anyone has any ideas that might be able to solve this issue that would be amazing.
Thanks
Tom

forex_trader_25447
Tham gia từ Dec 21, 2010
127bài viết
Sep 09, 2015 at 13:33
Tham gia từ Dec 21, 2010
127bài viết
Is there any Error code ?
Are you sure your value for SL are correct ? It must be :
StopLoss_BUY = OrderOpenPrice() - Distance;
StopLoss_SELL= OrderOpenPrice() + Distance;
Where Order must be Selected before,
and Distance must be greater (>) than
MathMax( MarketInfo(_Symbol,MODE_STOPLEVEL), MarketInfo(_Symbol,MODE_FREEZELEVEL))*_Point;
Are you sure your value for SL are correct ? It must be :
StopLoss_BUY = OrderOpenPrice() - Distance;
StopLoss_SELL= OrderOpenPrice() + Distance;
Where Order must be Selected before,
and Distance must be greater (>) than
MathMax( MarketInfo(_Symbol,MODE_STOPLEVEL), MarketInfo(_Symbol,MODE_FREEZELEVEL))*_Point;
Tham gia từ Jun 04, 2015
29bài viết
Sep 15, 2015 at 10:01
Tham gia từ Jun 04, 2015
29bài viết
Here we go, all orders with magic xxx are modified - similar tp.
void PairLossModify(){
bool modifypairloss;
for(cnt=OrdersTotal();cnt>=0;cnt--){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){
if(OrderType()==OP_BUY){
if(OrderStopLoss()==0 && MaxPairLoss!=0){
RefreshRates();
modifypairloss=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+MaxPairLoss*pt,Digits),OrderTakeProfit(),0,Red);
}
}
if(OrderType()==OP_SELL){
if(OrderStopLoss()==0 && MaxPairLoss!=0){
RefreshRates();
modifypairloss=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-MaxPairLoss*pt,Digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
void PairLossModify(){
bool modifypairloss;
for(cnt=OrdersTotal();cnt>=0;cnt--){
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){
if(OrderType()==OP_BUY){
if(OrderStopLoss()==0 && MaxPairLoss!=0){
RefreshRates();
modifypairloss=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+MaxPairLoss*pt,Digits),OrderTakeProfit(),0,Red);
}
}
if(OrderType()==OP_SELL){
if(OrderStopLoss()==0 && MaxPairLoss!=0){
RefreshRates();
modifypairloss=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-MaxPairLoss*pt,Digits),OrderTakeProfit(),0,Red);
}
}
}
}
}

forex_trader_25447
Tham gia từ Dec 21, 2010
127bài viết
Sep 15, 2015 at 13:24
Tham gia từ Dec 21, 2010
127bài viết
As I understand , You have 2 different MAGIC for BUY and SELL.
So the lines :
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{ if(OrderType()==OP_BUY) { /*Your code*/ }
if(OrderType()==OP_SELL) { /*Your code*/ }
}
Must be like this :
if(OrderSymbol()==Symbol())
{ if(OrderType()==OP_BUY && OrderMagicNumber()==MagicBUY) { /*Your code*/ }
if(OrderType()==OP_SELL && OrderMagicNumber()==MagicSELL) { /*Your code*/ }
}
So the lines :
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{ if(OrderType()==OP_BUY) { /*Your code*/ }
if(OrderType()==OP_SELL) { /*Your code*/ }
}
Must be like this :
if(OrderSymbol()==Symbol())
{ if(OrderType()==OP_BUY && OrderMagicNumber()==MagicBUY) { /*Your code*/ }
if(OrderType()==OP_SELL && OrderMagicNumber()==MagicSELL) { /*Your code*/ }
}

*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.