2 October 2016, 03:49
Mohammad Soubra
1 809


 I get asked this question a lot. So much that today I want to settle the scores once and for all in this monster review.

Let’s get one thing out of the way straight up. Despite obvious sequencing in names, MetaTrader 5 is not the successor of MetaTrader 4.

These are two completely separate platforms that are being developed in parallel by MetaQuotes Software Corp. It is up to you to choose one of them for your trading and that is what we will be discussing here.



I found that most (if not all) of the articles that compare MetaTrader 4 vs 5 are diluted with nuances of the two platforms. By focusing on the little details they miss the big picture and fail to answer the main question everybody is interested in:

“Do I stick with MetaTrader 4 or should I switch to MetaTrader 5?”

In this blog we will answer exactly that question. In fact, I’m going to throw in a little bit extra.

Being an Die-hard fan of Algorithmic Trading I’m also going to answer that same question from the point of view of EAs and MQL4 vs MQL5 overall.

Strap yourselves in, ladies and gentlemen. Things are about to get hot!



To start off, I will outline how this blog is structured so you know what to expect.

First, in Part A, we will talk about the core differences of MT4 and MT5. And I mean the ones that really matter, not“MT5 has bigger buttons”.

In Part B, I will give you something you won’t find anywhere else. A detailed year-by-year analysis of how MT4 and MT5 have been developing over the past decade.

Finally, in the third section we will draw a conclusion. From what we discuss in the first two parts the answer will seem extremely obvious.

Let’s get started.



Often when you read about MT4 vs MT5 you see a table and a side-by-side comparison of the two. We’re not going to waste our time on that here.

Sure, there are minor differences like“MT5 has an in-built calendar and MT4 doesn’t”,“MT5 supports 2-minute and 8-hour timeframes”, etc. But do you really care about all of that?

You can rebuild virtually any timeframe in MT4 using the period converter script and if you need an economic calendar – ForexFactory will do just fine.

These factors and any others of the like are negligible. You can either work around them or if traders really like a certain feature of MT5, MetaQuotes will sooner or later implement it in MT4 as well, like it happened withMetaTrader 4 for iPhone.

Realistically, there are only three core differences between the two platforms that actually matter. These are:

  1. Additional Markets via MT5
  2. The No Hedging Rule
  3. MQL4 vs MQL5

Let’s go over them one-by-one:



MetaQuotes had already dominated the Forex market with their revolutionary MT4 platform. So why MetaTrader 5?

Is it really an altruistic move to give traders even more functionality, more indicators, more timeframes, abetter(see below) coding language? That doesn’t sound like the whole story, does it?

If there is an ulterior motive, what could it be?

One word:Greed.

The real reason (I should probably saymainbut I’m going to stick withreal) MetaQuotes developed MT5 is because they want access to markets which they cannot tap into with good’ol MT4.

New markets means more brokerages, more clients, more revenue. And they’re doing pretty well so far. Here’s a sample list of exchanges which you can access via MetaTrader 5 already today:


You see, MetaTrader 4 is great for the decentralized, open, and highly unregulated on a global scale FX market. However, it doesn’t check all the boxes as a platform for other markets.

It’s just not designed that way: to connect directly to exchanges, like those listed above, the platform has to integrate with gateways for those exchanges – that’s how it will get quotes and market news, and perform trade operations. Plus, there are heaps of other nuances.

But really? Is the revenue stream associated with the above markets substantial enough to justify a whole new platform?

While markets like Warsaw Stock Exchange and ASX (Australian Stock Exchange) are good wins, they are not the main goal for MetaQuotes. The big prize are the US Equity Markets, aka Stock Markets with there trillions of dollars market cap:


Here’s a quote from CEO of MetaQuotes, Renat Fatkhullin, which should give you a better view of their intentions for MetaTrader 5:

From the beginning we were developing the trading system [MetaTrader 5] without hedging. It is a prerequisite if you want to distribute a platform for equity markets.


We will talk about the no-hedging rule in the next section. But what’s interesting is that just a few months prior to the release of MT5, NFA applied the no-hedging rule to Forex Trading too, basically making MT4 unusable in the US.

Incredible luck for Renat! Why? Well, now even Forex traders won’t be able to use MetaTrader 4 anymore and will be forced to move to MetaTrader 5. Surely, if MetaQuotes can conquer the US markets then the whole world will follow suit.

Result? Global dominance, total control! All markets: Forex, Equities, Futures, Options, the list goes on – would move under the umbrella of MetaTrader 5. MetaQuotes doubles, triples, 10x it’s revenue over the course of a few years, maybe even has an IPO of its own.

Ingenious plan, isn’t it?

Except for one minor detail… Traders don’t like being told what they can and can’t do… Which nicely brings us to the next section:


NOTE: Read this first bit if you aren’t familiar with the No Hedging rule. Otherwise, feel free to skip to“what does the new rule mean for traders”below.

What is this No Hedging rule?

TheNFAis an organization in the US that safeguards market integrity on the Futures, Forex, Swaps, etc. markets.

The No Hedging rule isNFA Rule 2–43B: Offsetting Transactionswhich states:

Forex Dealer Members may not carry offsetting positions in a customer account but must offset them on a first-in, first-out basis. At the customer’s request, an FDM may offset same-size transactions even if there are older transactions of a different size but must offset the transaction against the oldest transaction of that size.

This rule is also sometimes called the FIFO rule (first-in-first-out) and it was adopted in May 2009. Prior to that you could hedge your transactions when trading Forex in the US.

To quickly illustrate this – imagine that on three consecutive days (Mon-Wed) you conducted the following three transactions on EURUSD: Buy 1Lot, Buy 1Lot, Sell 3Lots. The table below shows how these transactions would be represented in MT4 and MT5:

You can see that in MetaTrader 4 the orders are kept independently, whereas in MetaTrader 5 the orders are aggregated together.

This is what is meant when they say that MT4 has hedging, and MT5 doesn’t have hedging.



Personally, I don’t see why the NFA/CFTC would be so concerned about hedging. The whole world uses hedging and is fine with it, why deprive US citizens of this option in their FX trading?

What does hedging mean for me? Generally speaking, in manual trading: take it or leave it – no big deal. However, when it comes to Algorithmic Trading, the FIFO rule is a major concern. Allow me to explain why…

Imagine, that you have two Expert Advisors (Forex Robots) trading on your account on the same financial instrument, e.g. EURUSD. Completely independent by design, trading style, strategy, timeframe – basically, each system is unique in every possible way.

The only thing they have in common is that you have launched them both on the same currency pair. But the trick is that they don’t know about that.

At some point one of them opens a buy order. Then 10 minutes later the other one decides to open a sell order. BAM! The orders cancel each other out. Why? Because surprise-surprise No Hedging!

But that doesn’t help the EAs, it only confuses them. Most advanced robots monitor their orders: perform trailing of StopLosses, adjust TakeProfits, close the order when the time is right. But here there is no order to monitor!

How will your EA react? Answer: Reaction unknown. They could ignore it and continue with their work, or… They could go nuts and start franticly re-opening the “missing” orders.

This would cost you extra spread, commission, but most importantly – this would totally mess up your trading strategies. Very likely that you could lose a lot of funds on a single issue like this.

There are two ways out of this situation for Algo Traders: 1) think all of this through in the design of your trading strategy, or 2) avoid simultaneously launching EA’s that could potentially create a hedge

The former overly complicates your strategy creation process, and actually makes some strategies simply impossible to implement. The latter is a restriction on your portfolio, and therefore limits the earning potential of your trading.

I know a lot of my readers are from the US. To you guys I wanted to say that from this perspective I totally understand why you don’t like the new FIFO rule. It sucks!

I don’t see the FIFO rule providing ANY benefits to the trader whatsoever. What is it “safeguarding” against? It only limits your capacity to create independent strategies.

Seriously guys, if anybody know how the FIFO rule is “good” for the trader please post in the comments section below. I would be interested to hear your thoughts. Maybe I’m missing something…



Okay, so FIFO happened – can’t do anything about it. NFA is NFA and you have to play by the new rules. I can accept that.

The only thing I don’t understand is why would you hard-code NFA rules into a piece of software with a global user base?! Through this move MetaQuotes have virtually made MT5 a US-only product, alienating a massive portion of their user base.

The UK, Australia, Europe, and pretty much the rest of the world don’t care about the No Hedging rule. So why would traders in these countries even consider switching to MT5 if it imposes US regulations onto them, when they don’t have to obey these regulations?

Moreover, a lot of US investors have since moved their funds overseas to find ways to continue trading with hedging. This is difficult, because most brokers world-wide now won’t accept US Citizens as clients. However, I think there have to be ways, because people are doing it.

Even US brokers have special off-shore divisions to service non-US residents. Why? Because traders don’t want to be told what to do by the NFA.

No wonder MetaTrader 5 didn’t get any substantial uptake. As we know, demand will dictate which product takes off and which fails. In this sense, MetaTrader 5 failed: there are so many more brokers offering MT4 than those offering MT5.

This, my friends, is, hands down, one big mistake on the side of MetaQuotes. What were they thinking?



NOTE: If you are not interested in coding and algo trading, then you can skip most of this section. But don’t skip all of it – the conclusion is important.

What is Object-Oriented Programming (OOP)?

The whole hype around MQL5 is that it brings OOP into algorithmic trading. That is why a lot of traders / programmers were so excited about MT5 in the first place.

In simple terms, OOP allows you to break down you program into blocks. Each of these blocks is like a black box: something goes in and some result / or action is produced:

In the world of programming this is very powerful for multiple reasons. For instance, once you’ve coded one of these black boxes for one of your Expert Advisors you can then clone it and use it in the next system you develop too.

Also, OOP is great for collaboration. You can assign one developer to work on one set of black boxes, and another developer – on another. Then you can bring them together into one final program without even knowing what’s inside each of these blocks.

As long as you know what goes in and what comes out, you can build a final product out of them. That’s why I like to explain the concept using the term “Black Box”.

Wikipedia has a good article about OOP, if you would like more info on this topic.



In my opinion – NO.

I’ve developed OOP software before – back in high school  Those were massive 10,000+ lines of code programs tackling complex mathematical programs and collaborative research projects for modelling the behaviour of robots in labyrinths.

That’s when you really benefit from OOP… On the other hand, in trading, when I have a 1000–2000 lines of code program, there is no need to over-complicate. I am more than satisfied with the simple MQL4 and prefer its procedural nature.

I could go on for a while more about why or why not to use OOP in trading, but I won’t. Because: Guess What?

Starting from build 600 OOP is available in MT4 too. This happened in February 2014; if you want more details, check out the news release

Therefore, OOP is no longer relevant in the MQL4 vs MQL5 showdown. What is relevant, is backward compatibility, or to be precise – the lack of it.



As you are probably aware, you cannot simply transfer your MQL4 code into MQL5 – it just won’t work.


MetaTrader 4 originally took Forex Trading by storm mostly thanks to its ability to run Algorithmic Trading systems, or EAs. A huge percentage of traders use EAs or custom indicators / scripts in their trading. Moving these from MQL4 to MQL5 would be a very costly and time consuming exercise for most.

Then why bother? If MT4 hasn’t been deprecated, it’s much easier to continue doing what you were doing the old way.



To be fair to the developers of MT5, I would like to name two outstanding advantages that this platform has over MT4:
1) Multi-currency strategy tester; and
2) MT5 is superior for testing and optimization. Hundreds times faster.

While the first would probably be of interest to about 10–15% of traders, the second is a great improvement. Faster optimizations means less time spent configuring your EAs, more time spent outside doing what you like.

But alas, the backward compatibility issue really ruins these great features. You will spend more time re-writing your code in MQL5 and debugging it than will be required to test out your strategies in the slower MT4 platform.



As we figured out OOP is no longer a point of friction, since both MT4 and MT5 now have it.

There are some great advantages of MQL5 such as multi-currency strategy tester and MT5 is faster at testing and optimization. However, lack of backward compatibility between MQL4 and MQL5 kills all the benefits.

This is your cherry on top of the icing! Lack of backward compatibility is the second major reason why retail traders will not switch from MT4 to MT5.



By now you probably see where this whole review is headed. In this section we will really put the nails into the coffin of MetaTrader 5 so you don’t have any doubts about its future.



Using (Google Trends)[] we can visualise how frequently the terms MetaTrader 4 and MetaTrader 5 have been searched for over the past 10 years:

Same thinking goes for beginners in programming – go with MT4 and MQL4. You will have so much fun and your skills will be applicable across so many more brokerages.

The conclusion for experienced programmers is a bit different: If you really think you will need the multi-currency strategy tester as well as the very fast testing and optimization, then maybe give MT5 a shot. However, it will only be worth it if you can commit to building your systems from scratch.

At the same time, MT4 should already have most of the things an experienced coder will ever need, including OOP. If that’s not enough then instead of MT5 you can have a look into using DLL or even other platforms with good API like jForex from DukasCopy.



Share it with friends: