http://goo.gl/5bkZ4z – Learn everything you need to know to be able to code your own Expert Advisors in only 3 hours.
The other week I had an email from a client asking what’s the difference between MQL4 and MQL5 and whether he should learn one or the other. One would assume that the two are somewhat related because after all both are MQL and both are designed to program indicators, scripts and expert advisors for MetaTrader…but you’d be wrong. VERY wrong in fact.
The truth is there is almost no similarly between the two languages and skills in MQL4 in no way eases the substantial learning curve to understanding and mastering MQL5. It’s like trying to compare English with Russian…sure they’re both languages but just because you can speak one it does not mean you can speak the other.
MQL4 is a very newbie friendly language and I’ve been offering a free course for years to students interested in learning how to code their own EA’s. I’ve also released a comprehensive video course that takes the newbie through the process to becoming a competent MQL4 coder. I felt confident in offering both courses because I firmly believe that MQL4 can be understood by the average person willing to commit a small amount of time to the learning process. The same can not be said of MQL5 unfortunately.
It’s FAR from newbie friendly and I’d say it’s aimed squarely at programmers that have had experience in other OOP (object oriented programming) languages like C++ or Java.
It looks to me like the release of MQL5 was nothing more than a shrewd marketing device designed to make MQL seem like a more ‘serious’ language so that it would appeal to the programming ‘purists’ who also believe that VB.net is not a ‘real’ language. It’s just snobbery and is somewhat ridiculous. A coding language is just a tool and just like any other tool you choose the best one for the job.
You wouldn’t try to put a screw into a piece of wood with a hammer would you? Well I’m sure if you tried hard enough you’d manage it but it’s not the best tool to use. The same is true when it comes to MQL. The language was developed to allow the average person to embrace the power of MetaTrader and make it easy for them to reap the benefits but with MQL5 it just seems like a huge step backwards.
There’s virtually no real benefit to be had by coding in MQL5 and any pretence otherwise is just plain false. Sure there’ll be a few ‘real’ programmers that claim it’s a more robust and oop language and they may well be correct but my question would be at what cost? There was and is nothing wrong with MQL4 and I along with many, many others have been using it quite successfully for years. I don’t need oop constructs and the lack of a debugger is really not that big of a hassle at all.
So to answer the original question I’d say which language you choose is entirely up to the individual and depends on their previous exposure to programming. If you’re a newbie and just looking for a way to get into coding Forex related code quickly then I’d say go for MQL4 every time. If you’re coming from a C++, Java or similar background then MQL5 may seem more familiar to you. The only type of ‘newbie’ I could see turning to MQL5 would be somebody that just HAS to have the very latest tool…even if it’s likely to take them much longer to learn how to use it… and even then…there’s no guarantee that you’ll manage it.
MQL5 is NOT designed for newbie’s and anyone that tells you different is just plain selling you a line of BS…