An updated version of the MetaTrader 4 platform will be released on Friday, March 13, 2026. This build includes improved interface translations, bug fixes, and enhanced platform stability.
The update will be distributed via Live Update.
I have been developing an EA in MT4. I have been baffled recently when it stopped working in strategy tester. I narrowed it down to an update on 18th March - build 1470. Now my EA works in visual mode but won't work if visual mode isn't selected - Optimisation also doesn't work. Previously when I called a parabolic indicator using icustom I got a valid value in return. Now I just get 0. I think I'll have to roll back to an earlier version if that's even possible. I think the Tickmill installer just downloads the latest version. I can usually find a workaround but this has me stumped.
In reply to myself - I was able to save all my work and go back to a backup version of my Windows OS before the latest update. It now all works as it should. I have added /skipupdate to the target of my shortcut to the MT4 Terminal .exe which prevents any background updates. I find it very disappointing - I don't know what improvements are included in the latest 'updates' - but there is definitely a huge downside. I can't be the only one experiencing the problem of not being able to call indicators from an EA in the strategy tester. It's a very difficult and time consuming problem to investigate and fix.
It looks like MQL4 cannot handle longs in object time properties. This will cause issues when setting objects with time values after 2038.01.19 (> INT_MAX).
For example, this code draws a correct rectangle on the monthly chart of EUR/USD:
void OnStart() { string name = "Rectangle"; ObjectCreate(0, name, OBJ_RECTANGLE, 0, 0, 0); ObjectSetDouble(0, name, OBJPROP_PRICE, 0, 1.20); ObjectSetDouble(0, name, OBJPROP_PRICE, 1, 1.15); ObjectSetInteger(0, name, OBJPROP_TIME, 0, D'1970.01.01'); ObjectSetInteger(0, name, OBJPROP_TIME, 1, INT_MAX); ObjectSetInteger(0, name, OBJPROP_COLOR, clrRed); }
While this code doesn't show a rectangle (it gets created but its both time properties are set to 1970.01.01 00:00 and it is invisible on a monthly (but visible on all other timeframes):
void OnStart() { string name = "Rectangle"; ObjectCreate(0, name, OBJ_RECTANGLE, 0, 0, 0); ObjectSetDouble(0, name, OBJPROP_PRICE, 0, 1.20); ObjectSetDouble(0, name, OBJPROP_PRICE, 1, 1.15); ObjectSetInteger(0, name, OBJPROP_TIME, 0, D'1970.01.01'); ObjectSetInteger(0, name, OBJPROP_TIME, 1, D'2038.01.20'); ObjectSetInteger(0, name, OBJPROP_COLOR, clrRed); }
Not sure if this ever will be worked in MT4, but this is something to take into account in a not so distant future.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use

An updated version of the MetaTrader 4 platform will be released on Friday, March 13, 2026. This build includes improved interface translations, bug fixes, and enhanced platform stability.
The update will be distributed via Live Update.