THIS is the ONLY reason that can change the fact I'm still sticking to MT4, namely to its weakest component - the single core 32-bit strategy tester (with TDS and tick data from my broker). I'm also building my own currency indices, and work with equity charts of my EAs. Can't do this without offline charts.
If they REALLY enable custom data import and custom charts.. well, that will be the REAL turning point for me!
I almost can't believe it they'll do it ;) But if they do, perhaps I will send them some donation, to express my luck :-D
Beacuse the MT5 tester is excellent. Yet it's crippled by broker dependency - a huge disadvantage nowadays - however, that would vanish if every broker offered MT5 and treated the data so responsibly as my broker does ;)
With the cited things enabled, it will become a very sharp Swiss knife.
From technological perspective, MT5 beats MT4 all the way.
My broker doesn't support MT5 though. It would be perfect if it would. But if they really enable what Alain said, I will move my entire development (at least) to MT5. And pray every day my broker supports it soon!
I've got no problem adapting my MQL4 stuff to MQL5. Most things in the 'new' MQL4, adopted from MQL5, are useful, and I'm using them in my MQL4 code with pleasure, and I would use them even if no MQL5 ever existed.
Sure, the MQL5 trading API is quite different in native code, but thanks to built-in libraries (trade.mqh), the transition can be done quickly and smoothly. Indicator handling in EAs is different, time series access is different, but IMHO better and more logical, and I wish I could have the same overall approach in MQL4. Those who can't survive the need of using SymbolInfo*() instead of MarketInfo(), AccountInfo*() instead of AccountBalance(), AccountEquity() etc etc etc.... meanwhile altogether available in MQL4 too... are just lazy folks whose arguments have no weight to me (and hey, there's wrappers for it;) - apart from the stated, there's NO SIGNIFICANT DIFFERENCE between MQL5 and ('new', #property strict) MQL4, if you stay with just procedural programming and have no need for OOP!!
Indeed, it would be a dream come true if MT5 would run your EX4s... but I doubt it will (could) ever happen.. they would have to build some kind of P-code interpreter for it.. but hey, are there really worthwhile MT4 things without sources you can't live without..? Though I don't use any, I suppose they exist.. contact their developers to convert them! If they still exist - they will happily port it, in their own interest. Developers ain't here anymore? - that means the stuff can't be so worthy! And if you still can't trade without some 'dead' EX4s... just hire a coder to convert/code it for you ;)
Re MQL5/C++ and OOP: I'm basically an old-school guy, grown up on assembler and BASIC sometime in the 80's.... I love MQL4/C for its simplicity and I've never encountered a task I couldn't solve rather quickly with old-school procedural programming. I simply don't want to describe the entire world in detail before I say "hello world" :) ...but I've done a lot of code in MQL5 already, without the need of pursuing any OOP stuff... you can code in MQL5 exactly the same was as you did in MQL4.. nobody urges you to use classes, objects, constructors and destructors... you can stay with good old functions, procedures and structs if you're happy enough with them - as I am ;)
It was enlightening. So it's not as complicated as it looked. I guess.
Great post Pavel, I couldn't say better...
I asked explicitly to Renat, Metaquotes CEO :
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
А когда новая версия MT5 и где узнать что в ней ожидается
Renat Fatkhullin, 2016.04.21 10:14
It depends. For those who jumped into the OOP with the build 524, the change to MQL5 is even easier than the change to the new MQL4 was.
I realized only one unpleasant thing currently. As there are zillion duplicated functionality in MQL4 and none of them is marked as "obsolete", I have to fix them now. This is an extra work, which could have been avoided by proper documentation.