Unless you've been living under a rock for the past week then you couldn't have failed to notice the uproar that's being caused by the latest release of MT4.
Build 600 of MT4,the most popular trading platform in the world, was unveiled at the beginning of February 2014. It's the most significant change to the platform since it was first introduced in 2005 and has caused a great deal of controversy.
When the news hit the trading world the most popular Forex trading forum, Forex Factory, lit up !
In just two weeks the dedicated thread over there has grown to over 20 pages of posts. That's almost 500 posts... in only two weeks !
But is all this controversy and uproar really warranted?
If you were to believe some of what's being said on many of the Forex related forums and groups, you could definitely think it was. When I first read about the release of Build 600 of MT4 I was a little bit concerned myself but after actually checking it out and reading some of the documentation, I actually think it's going to be a good thing.
MQL5 was released in 2010 by MetaQuotes and it was hailed as being the next logical step in Forex programming. It was supposed to change the world and have MQL finally acknowledged as a 'real' programming language.
The truth of the matter is that it never actually happened the way MetaQuotes planned. What they failed to recognize is just how prevalent and widespread the use of MQL4 was. They just assumed that everybody would jump ship and turn to the new, 'real' programming language.
One of the many things that makes MQL4 such a great language to code in is the very thing that they were trying to do away with by introducing MQL5. It's the fact that MQL4 is such a simple language and is so easily accessible, that makes it so popular. To dismiss the millions of coders who use it as not 'real programmers' is not only insulting but it's also bad business.
It may have taken MetaQuotes a few years to realize their mistake but I think that the latest build of MT4 is a step in the right direction. It's an acknowledgement that the MQL4 programming world is a vast and very loyal one and it's one that is not keen to change.
As the old cliche goes; 'If it ain't broke... don't fix it !'. MQL4 has always been flawed but most are willing to work within it's limitations and accept them as a small 'price to pay', for it's many, many, positive aspects.
Main Changes in Build 600 of mt4
So what are the main changes in MT4 Build 600 and how will they affect us as MQL4 coders?
Well when you first fire up your new MetaEditor you may be slightly alarmed, but take a breath, it's not that bad. What MetaQuotes have basically done, is to merge both MQL4 and MQL5, into one programming environment.
The cool thing about taking this approach, which is what they should have actually done in the fist place, it it appeals to and includes, both types of programmers. For those 'hardcore' coders who love to dabble in C++ and talk about OOP with their geek buddies, there's MQL5. For the rest of us that just want to be able to code things fast and have them do what we want them to do, there's MQL4.
Nobody is being forced to learn a new language and can instead choose to either adopt some of the improvements as and when neccassary. If you only ever want to code in MQL4 then you can. If you want to code in MQL4 but start slowly introducing some of the concepts of MQL5, you can do that too.
When your broker upgrades to Build 600, if they haven't already, you'll notice that there is a new folder structure. It's not that big a deal and all your old indicators, experts and scripts are still there and are still usable. They are still in the same folders as before but are not being used by MT4. They are basically being kept as backups.
If you take a look at the folder structure of your new MT4 installation you'll see these changes. You'll also see a new folder called 'MQL' that has the actual copies of your old experts, indicators and scripts, that will actually be used by MT4.
Now the thing to note - and this is important - is that if you open up one of these files in MetaEditor and try to compile it, it most likely will fail.
Again, don't be alarmed... take a breath... it's not that bad.
Because of the fact that MT4 now allows you to use both MQL4 and MQL5, they've had to make some slight changes. They sound drastic at first but when you actually have to edit your code - which you may never have to do - it' not that big of a deal.
If you never have to open up the code in MetaEditor then you most likely won't even notice any changes at all. The previously compiled files, the ex4's, will run just as they did before. It's only when you try to change the code that you'll start to notice slight problems.
Minimal Changes to Existing Code
The only thing I had to do when updating a couple of expert advisors, was that I needed to change the external variable names. I started using 'dot notation' about two years ago to distinguish my external variables from the various other types of variables.
All I needed to do was a simple 'search and replace' on the old variable names and remove any dots in the names. So 'trailing.active' was changed to 'trailingActive' and the same for all the other external variables. It took me about 20 seconds so it really wasn't that big of a deal at all.
Another thing was that the new version uses OnTick() instead of the 'start' function, but you're not forced to use it and the old 'start', 'init' and 'deinit', work just fine.
You'll also see the new MetaTrader4 Marketplace that allows you to buy expert advisors and indicators from right inside your terminal.
I think that Build 600 of MT4 is a good thing in general and I'm sure once the dust has settled, most will see it as such. Just like anything new that's introduced there will always be those who kick and scream and try to resist the change. But the fact is the change is going to happen whether you jump on-board or not.
The best thing you can do is accept that it's happened and try to see the positive benefits that the changes will bring. There's plenty of them and if you take a breath, relax and think about it for a moment, I'm sure you'll see them too.
Good luck with your trading and take it easy out there !
For more information on Build 600 of MT4 visit the MQL4 Forum provided by MetaQuotes.