Hi there,
I have EA's working since Jan 2013, compiled back then OK, and running in market without problem since.
However re-compile same Jan 2013 code with latest MT5 compiler, gives me errors in market.
<CODE DELETED>
When posting code please use the SRC button : How to use the SRC button.
1st post edited using SRC
Hi there,
I have EA's working since Jan 2013, compiled back then OK, and running in market without problem since.
However re-compile same Jan 2013 code with latest MT5 compiler, gives me errors in market.
...Meaning it passes if(exec), but then fails m_request, and gives error.
...Which error do you get ? INVALID_FILL ?
Yes, 10030.
Yes, 10030.
Then your broker may have change the specifications of the symbol, check it by right clicking on your symbol in Market Watch, then Specification..., on get a window like this :
Is this IOC ?

- www.mql5.com
Then your broker may have change the specifications of the symbol, check it by right clicking on your symbol in Market Watch, then Specification..., on get a window like this :
Is this IOC ?
It says: "Immediate or Cancel"
Expiration is: GTC, Today, Specified
Orders is: All
The old code in .ex5 / binary form from Jan 2013, works fine.
If i take the code, and recompile, it gives me filling error - same broker, same terminal, same code but newer compile date
It says: "Immediate or Cancel"
Expiration is: GTC, Today, Specified
Orders is: All
The old code in .ex5 / binary form from Jan 2013, works fine.
If i take the code, and recompile, it gives me filling error - same broker, same terminal, same code but newer compile date

- www.mql5.com
I don't see the problem, you have to write to ServiceDesk and provide them your code and probably the logs.
Ok, will do.
Maybe it has something with the EXECUTION_MARKET bit, that is new since Jan 2013 yes?
debugger example:
Can you show the code of your EA where you are using IOC ?
Sure
in OnInit()
o_trade.SetTypeFilling(ORDER_FILLING_IOC);
o_trade.SetDeviationInPoints(Slippage);
- here is call to CTrade object
tradeOK=o_trade.BuyLimit(TradeSizeOptimized(),ask_price,_Symbol,SL,TP,ORDER_TIME_GTC,0,"my comment");
also debugger shows IOC (below)

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi there,
I have EA's working since Jan 2013, compiled back then OK, and running in market without problem since.
However re-compile same Jan 2013 code with latest MT5 compiler, gives me errors in market.
Code has not changed.
I traced it to maybe the CTrade::FillingCheck.
This EA is using Limit orders successfully, however now it no longer works.
Using IOC and Limit orders - please help!!
If I use the EA compiled in January 2013, on live MT5, it works fine. But I want to change code and recompile!
Debug through the below code:
exec = SYMBOL_TRADE_EXECUTION_MARKET
m_request.action = TRADE_ACTION_PENDING
Meaning it passes if(exec), but then fails m_request, and gives error.