Bisonx: but order select dont work for me Errors like: invalid ticket for OrderModify
- How can you know? Check your return codes for errors and report them.
What are Function return values ? How do I use them ? - MQL4 and MetaTrader 4 - MQL4 programming forum
Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles - The select is working fine, or you couldn't get to the OrderModify.
- You are selecting by ticket. Where do you test to see if the ticket has closed?
whroeder1:
- How can you know? Check your return codes for errors and report them.
What are Function return values ? How do I use them ? - MQL4 and MetaTrader 4 - MQL4 programming forum
Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles - The select is working fine, or you couldn't get to the OrderModify.
- You are selecting by ticket. Where do you test to see if the ticket has closed?
Right, i couldn´t get Modify.
All looks like it working fin, but Order StopLoss are not modified. ... why? I dont know...
Here is my all code (just tryin open and modify 2 opened orders at the same time)
Please tell me where I did mistake
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if(!IsTradeAllowed()) {Alert("Autotrade is NOT allowed."); return(0);} return(INIT_SUCCEEDED); } //+---------------------------------------------------------------------+ //|Checkin for Opened orders //+------------------------- bool IsBuyOpen(int BuyTicket) { if(OrderSelect(BuyTicket, SELECT_BY_TICKET)) { return(OrderCloseTime() == 0); } else { return(false); } } bool IsSellOpen(int SellTicket) { if(OrderSelect(SellTicket, SELECT_BY_TICKET)) { return(OrderCloseTime() == 0); } else { return(false); } } //+---------------------------------------------------------------------+ //|Start //+----- int start() { int Total = OrdersTotal(), // All Opened Orders BuyTicket = -1, SellTicket = -1; double HL15 = NormalizeDouble(iHigh(NULL,15,1)-iLow(NULL,15,1),Digits), // High and Low Diff on prev M15 Spread = NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD)*Point,Digits), // Spread TrailStep = NormalizeDouble(2*Point,Digits); bool BModify, SModify, BSelect, SSelect; //+---------------------------------------------------------------------+ //|Opening Orders Buy & Sell //+------------------------- RefreshRates(); if(Total<1) { RefreshRates(); BuyTicket = OrderSend (Symbol(),OP_BUY,0.01,Ask,2,Bid-HL15,0,NULL,111,0,clrGreen); if(BuyTicket<0) { Print("Buy Order failed with error #",GetLastError()); } else { Print("Buy was placed successfully"); } SellTicket = OrderSend (Symbol(),OP_SELL,0.01,Bid,2,Ask+HL15,0,NULL,222,0,clrRed); if(SellTicket<0) { Print("Sell Order failed with error #",GetLastError()); } else { Print("Sell was placed successfully"); } } //+---------------------------------------------------------------------+ //|StepTrail StopLoss //+---------------- if(Total>0) { do { if(IsBuyOpen(BuyTicket)) { BSelect=OrderSelect(BuyTicket,SELECT_BY_TICKET); RefreshRates(); if(Bid-(TrailStep-HL15)>OrderStopLoss()) { RefreshRates(); BModify=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-HL15,OrderTakeProfit(),0,clrBlue); if(!BModify) { Print ("Modify of Buy cant be succees, Error: ",GetLastError()); } else { Print("Modify of Buy was succeed"); } } } if(IsSellOpen(SellTicket)) { SSelect=OrderSelect(SellTicket,SELECT_BY_TICKET); RefreshRates(); if(Ask+(TrailStep+HL15)<OrderStopLoss()) { RefreshRates(); SModify=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+HL15,OrderTakeProfit(),0,clrBlue); if(!SModify) { Print ("Modify of Sell cant be succees, Error: ",GetLastError()); } else { Print("Modify of Sell was succeed"); } } } } while(IsBuyOpen(BuyTicket)||IsSellOpen(SellTicket)); } return(0); }
Use the debugger or print out your variables,
including _LastError
and
find out why.

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hello,
please can someone help me? Am just new in coding ..
I tried to Modify 2 open orders at the same time,(I have 2 tickets with different Magic, one is for buy and one for sell), but order select dont work for me
Errors like: invalid ticket for OrderModify function
Modify of Buy cant be succees, Error: 4051
what i doin wrong ? thx for answers