ans=OrderClose(OrderTicket(),OrderLots(),MarketInfo("A/C",MODE_ASK),1);
- OrderClose - MQL4 Documentation takes 5 arguments, you pass 4
- Check your return codes (OrderClose)
What are Function return values ? How do I use them ? - MQL4 forum and Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles
- You have no idea what symbol the order is, but you hard code "A/C" and "C/B" just use OrderSymbol()
- No need for MarketInfo, just use OrderClosePrice().
for (int z=OrdersTotal()-1;z>=0;z--) { if (OrderSelect(z,SELECT_BY_TICKET)==true)
z is a position number, not a ticket number.
Thank you for answer.
5. the index z means position or ticket number (MagicNumber or ...I don't know what author thought "unique number") according: https://book.mql4.com/trading/orderclose maybe should be OrderMagicNumber() instead OrdersTotal(), I will try.
4. I read somewhere on the forum in the multi currency should be MarketInfo, because the code can change price from different crosses. It is the reason I used it.
3. I have idea. In this specific case letters means currencies.
2. I read what RaptorUK wrote twice. If I understand you suggest OrderSelect() can't work correctly because it not return true? Only false because problem is with position or number in this case. I will try with if(!OrderSelect())
1. I don't need 5 arguments according: https://docs.mql4.com/trading/orderclose
I think I will leave this code for 2-3 days :)
kot_filemon: 5. the index z means position or ticket number
4. I read somewhere on the forum in the multi currency should be MarketInfo, because the code can change price from different crosses. It is the reason I used it.
- Either it's a position number [0 .. OrdersTotal - 1] or it's a ticket (a 8-12 digit number returned by the broker.) Can't be both. (Only in the tester are ticket numbers 1,2,3... And if you close ticket 2 then you have ticket's 1 and 3 at positions 0 and 1.
- You can't use Bid and Ask because it is multi-currency. But OrderClosePrice() returns the actual value, independent of direction. Try it.

- 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,
I tried close orders for multicurrency strategy (all open orders). I'm not sure can I use twice OrderClose() in the same function. I tried used one, but didn't work either. Has anyone any suggestions, different point of view? Thank you.