Top Menu


Right-Side Top Menu

Is MetaQuotes Doing a Right Thing by Merging MQL4 and MQL5?

September 9, 2013

On July 24, MetaQuotes announced a set of major changes for the whole MT4 community. Among other things, they have promised a new IDE (integrated development environment) for MetaTrader 4 that would still compile .mq4 into .ex4, but will be able to work with all MetaTrader 5 functions, will add the whole OOP functionality, at the same time retaining the MT4 position/order system. That sounded quite good in everyone’s opinion.

On August 26, they have released a beta version of this new IDE. It was not too bad for a beta, but it introduced some problems. First of all, the directory structure for the source code files changed to that of MQL5, so if you have a lot of interdependent files, you will now have to redistribute them across the new directory structure. Then, there will be a lot of new warnings and (likely) errors showing up during compilation of the old code. Although the new IDE is designed to be compatible with both MQL4 and MQL5 languages, it rejects some of the valid MQL4 syntax:

  • Variable names with dot symbol produce errors.
  • Switch-case expressions with anything but integers produce errors.
  • If any of your MQL4 variables are called by one of the predefined language keywords from MT5 (e.g. _Period), you will get errors.
  • Some other minor cases of new compilation errors.

Yes, the new IDE offers better functions, adds classes, provides better protection against decompilation (which is necessary to create an app store for MT4 scripts), but it also adds risk to invalidate thousands of previously correct code files and snippets. Will MetaQuotes be able to handle this task with minimum damage to the community? Or will the resulting loss of code base be a justified tradeoff for the features?

Do you welcome the merge of MQL4 with MQL5 IDE?

View Results

Loading ... Loading ...

If you have some questions or comments about the ongoing merge of the MQL4 and MQL5 coding environments, please feel free to submit them using the form below.

10 Responses to “Is MetaQuotes Doing a Right Thing by Merging MQL4 and MQL5?”

  1. joe

    Will this allow MT4 indicators to work on the MT5 platform? That is my biggest worry if/when they make everyone use MT5.


    admin Reply:

    As far as I understand it, it won’t. But it will allow developers to produce new indicators that would compile the same in MT4 and MT5.


    Andy Reply:

    Metaquotes tried to force MT5 on traders and brokers alike and they rejected it, I see this as them trying to pull all the MT4 traders over in stages since their initial roll out to the marketplace was lackluster at best.


    Andriy Moraru Reply:

    Yeah, perhaps. Yet this update is basically offering some of the goodies from MT5 without transferring its position system (which widely hated among MT4 traders).


  2. forex affiliate programs

    Yes, i think they are doing the right thing. They should done that in the first place while developing the MQL5, it will save them some time debugging


  3. Oscar Svensken

    Do you think this is a way to leverage the headstart MT4 has over MT5, despite being an older platform?


    admin Reply:

    I think they do it to launch an App Marketplace for MT4 products.


  4. John Taylor

    Metaquotes failed to make MT5 backwards compatible in both order handling functionality (so the trader needs to change habit) and programming language (so programmers of all levels need to change habit). There has been a general failure to produce a platform better than MT4 because MT4 gives folks what they want and need. Bloated, arcane so-called object-oriented (Java, C++ etc) platforms do not appeal to most users and have, in general, poor (I’m being kind) object models. Why is Excel so popular? For the same reason that it is simple to use, and, with a LITTLE programming knowledge, it can be used to get the job done. If Metaquotes continue to ignore these facts, they are dooming themselves to lose their current foothold.


  5. JC Bailey

    The merging of the two is a pain for lots of my years of coding–here is just one: The resulting MT4 Build 625 has a really super weird problem. I built a news time indicator using a text .csv file that worked fine on all charts. But now it has to have an input for a different name to the same text file in every single indicator being used and each one must be named differently (News1.csv, News2.csv, News3.csv, News4.csv, News5.csv, etc, etc). If the same indicator using the same named csv file is on more than one chart, it gives an error trying to access the file unless it is named something else. Here’s hoping they can improve this mess they made.


    Andriy Moraru Reply:

    I doubt that has anything to do with MQL. Looks like file access management error to me. Are you using FILE_SHARE_READ flag?


Leave a Reply

required (will not be published)

Follow EarnForex Blog on Facebook