CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. Trade only with money you can afford to lose.
Open an FxPro account →

Ultima Markets MetaTrader 4 (MT4)

MetaTrader 4 at Ultima Markets is a legacy choice: it exists for traders who already own working MQL4 code and would have to rewrite it to move on.

Open an FxPro account →

Min deposit 50 USD on every live account  ·  Up to 1:2000

MetaTrader 4 is worth choosing at Ultima Markets for one reason: you already run MQL4 code that works. MQL4 and MQL5 are not compatible without modification — entry points are renamed, Ask, Bid and Bars no longer exist, the timeseries arrays are gone, and the 8-buffer indicator limit is replaced by a differently indexed one. If none of that describes you, the choice is not between two terminals but between a 2005-era toolset and a 2010-era one.

MetaTrader 4 (MT4) at Ultima Markets

Which Ultima Markets platform should you use?

Terminal selection is decided on the account side, not in the terminal: the side-by-side comparison of pricing model, devices and what each platform suits lives on the MetaTrader 5 page, together with installation and the cent-denominated tiers.

Get started

Download MetaTrader 4 (MT4) from your client area after you open an account, or try it first on a free demo.

Open an FxPro account →

The only honest reason to pick MetaTrader 4 in 2026

Not speed, not reliability, not the chart. The reason is inventory: a strategy already encoded in MQL4, tested by you, and working. The vendor documentation is blunt about what moving it costs: the two languages are close in intent and incompatible in practice.

If you are starting from nothing, there is no inventory to protect, and this page is describing a cost you do not have.

What a port actually rewrites

The changes below are set out in the vendor’s own MQL4-to-MQL5 migration documentation, read on 15 September 2026. Three entry points change name and meaning: init() to OnInit(), deinit() to OnDeinit(), and start() to OnTick(), OnCalculate() or OnStart() depending on whether the program is an automated strategy, an indicator or a script. Predefined variables go next — Ask, Bid and Bars simply do not exist in MQL5 — and with them the timeseries arrays Open[], High[], Low[], Close[], Volume[] and Time[], each replaced by a function call.

Then the subtle one: MQL4 allows an indicator at most 8 buffers, MQL5 removes the ceiling but indexes buffers in the opposite direction. Code that compiles cleanly after the rename can still read the series backwards, which is the failure that survives a quick test and shows up in live trading.

What does not survive the move, and who should stay

A compiled strategy held without its source is the hard stop. There is no conversion path, no recompilation and no vendor tool that turns one into the other — if the author is gone, the strategy is tied to MetaTrader 4 for as long as you want to run it.

So the decision is inventory arithmetic, not preference. Traders with source code and time to re-test have a migration project. Traders with a compiled black box have a reason to stay. Traders with neither are choosing a terminal that publishes 9 timeframes, 30 indicators, 23 analytical objects and 3 execution modes over one that publishes 21, 38, 44 and 4 and, on the same vendor page (read on 15 September 2026), both netting and hedging position accounting, which MetaTrader 4 does not have — and the account side of that choice is set out on the MetaTrader 5 page, which is where terminal selection, installation and the cent-denominated tiers are covered. Where the platform figures on this page come from, and on what date they were read, is set out on how a figure gets published.

Frequently asked questions

Will my MT4 automated strategy run on MetaTrader 5?
Not as it stands. The published migration documentation is explicit: init() becomes OnInit(), deinit() becomes OnDeinit(), and start() becomes OnTick(), OnCalculate() or OnStart() depending on the program type. That is a code change, not a setting.
What breaks first when MQL4 code is ported?
The variables that were always there. MQL5 has no Ask, Bid or Bars, and no Open[], High[], Low[], Close[], Volume[] or Time[] arrays — each has to be fetched through a function instead.
I only have the compiled file, not the source. Can it be converted?
No. A compiled strategy without its source cannot be migrated: there is nothing to rewrite.
What do I give up by staying on MetaTrader 4?
By the platform's own published counts: 9 timeframes instead of 21, 30 built-in indicators instead of 38, 23 analytical objects instead of 44 and 3 execution modes instead of 4.