log Report:
2 18:45:51.727 Main AUDUSD,H1: modify #60055216 sell 0.05 AUDUSD at 0.80133 sl: 1.60068 tp: 0.00000 ok 0 18:45:51.727 Main AUDUSD,H1: Order modified successfully. 0 18:45:51.727 Main AUDUSD,H1: Alert: Error With Order Modify. =1 0 18:45:52.819 Main AUDUSD,H1: uninit reason 4 0 18:45:53.131 Expert Main AUDUSD,H1: removed
- Read the documentation on OrderModify() It states following:
Note
Open price and expiration time can be changed only for pending orders. If unchanged values are passed as the function parameters, the error 1 (ERR_NO_RESULT) will be generated.
- Besides that, I don't see OrderSelect() in your code snippet. You have to select order before you can modify it.

- docs.mql4.com
- Besides that, I don't see OrderSelect() in your code snippet. You have to select order before you can modify it.
You do not need to select an order before modifying it. However if you are going to use OrderOpenPrice() etc in the modification, the order must be selected first.
I didn't know that.
Every piece of code I wrote always searched for the order(s) by looking into their types, magic numbers, instrument so I always had to do OrderSelect() before modify.
- Read the documentation on OrderModify() It states following:
- Besides that, I don't see OrderSelect() in your code snippet. You have to select order before you can modify it.
Ticket=60055216;
My SL isn't set properly at the moment. it follows, but its at an incorrect value
Main AUDUSD,H1: modify #60055216 sell 0.05 AUDUSD at 0.80133 sl: 1.60068 tp: 0.00000 ok
I have selected the order to Modify.
My SL isn't set properly at the moment. it follows, but its at an incorrect value
The error indicates that you are trying to modify the transaction, but new values are the same as old ones.
Print actual values and new values before you call OrderModify() and check that you are actually changing something.
The error indicates that you are trying to modify the transaction, but new values are the same as old ones.
Print actual values and new values before you call OrderModify() and check that you are actually changing something.
hello everyone,
I think that I might be a little bit closer to get this working. Why does ModifyOrder equal false?
int min_stop=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL); CurrAsk= MarketInfo(Curr,MODE_ASK); CurrBid= MarketInfo(Curr,MODE_BID); Ticket=60162332; // int Price=0.79633; // double double Number= 0.00050; double NewStopLoss=Price+Number; bool ModifyOrder=OrderModify(Ticket,Price,NewStopLoss,TAKE_PROFIT,0,clrNONE); if(!ModifyOrder) Alert("Error With Order Modify. =",GetLastError());else Print("Order modified successfully.");
hello everyone,
I think that I might be a little bit closer to get this working. Why does ModifyOrder equal false?
Because the OrderModify() failed.
{ double Number = 0.00050; int Ticket = 60287536; // sell double Price = 0.79259; // sell int Ticket1= 60287617; //buy double Price1 = 0.79268; //buy double BuyStopLoss=Price1-Number; double SellStopLoss=Price+Number; bool BuyModifyOrder=OrderModify(Ticket1,Price1,BuyStopLoss,TAKE_PROFIT,0,clrNONE); if(!BuyModifyOrder) Alert("Error With Order Modify. =",GetLastError());else Print("Order modified successfully."); bool SellModifyOrder=OrderModify(Ticket,Price,SellStopLoss,TAKE_PROFIT,0,clrNONE); if(!SellModifyOrder) Alert("Error With Order Modify. =",GetLastError());else Print("Order modified successfully."); }
Hello,
I manage to get half the code to work now. Now I have found that if BuyStopLoss ,or SellStopLoss value isn't to 5 decimal places it will be false. I'm not sure I understand this problem atm. I have given Price and Price1 a value, but price1 most of the time is greater than 5 decimal place.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello everyone,
I need some help to understand what this runtime error means. I have been trying to work it out, but I am making myself very confused about where the problem starts.