there is bug in ArrayCopy? version 600-602
I can't get the correct copy prices, but datetime is correct.
Why does the terminal automatically update to the new version without prompt, should we not have the option of upgrading like before.
Live update used to pop up asking if you want to upgrade the terminal, why was this removed?
I have updated most of my legacy code. I like the warnings and tips the new metaeditor gives. I like that MQL5 is now more accessible to me, but without breaking absolutely all my old code beyond hope.
HOWEVER, I'm a programmer. I can deal with this far better than typical users.
MetaQuotes... keep the new MetaEditor, but you just HAVE to also bring back the ability to compile old ".mq4" into this new build.
I can think of two good approaches.
A) One is to recognize a compiler directive such as "#property legacymq4" (MY MADE UP NAME; this is not official (yet) ). If the new MetaEditor sees that, it should handle the entire file just like 509, including allowing the use of old keywords like "char", "input", and so on. I foresee that a problem is that the new compiler has only new Help files, and understands the new commands. It also requires users to add to the old files this new line, which ought to be easy, but is beyond the skills of plenty of unsophisticated users. So... if this approach is too hard or complicated for the new MetaEditor to handle, there is an even better solution:
B) Bring back the old editor and it's associated Help file(s) into this new build. RENAME it to "LegacyEditor.exe" or whatever you want. The only changes you should make is to make it understand the new "MQL4\" folder structure. You should also add into the terminal menu some access for this new Editor, and add the same access into the current MetaEditor. In other words, make it trivially easy for the user to start up the legacy editor.
The fact remains that there is far too much legacy .mq4 that people still need to EDIT and COMPILE once again! You claim to support .ex4 in new build>=600, and that is largely true. I also can see you're fixing bugs to fix more incompatibilities. Great.
But there's a ton of old ".mq4" that can NOT be compiled in the new version. You are FORCING users to jump through hoops to find/retrieve/borrow old copies of 509 just so they can EDIT and RECOMPILE legacy code. No one likes the fact that for even this, the user must manually copy the .ex4 files around. So fix this, and build it all into the latest version.
I filed a Service Request, but initially I filed it with too complex of a suggestion compared to the two above. in my request, I made the point:
"You have turned www.mql4.com into a repository of mostly garbage! "
Why? Because almost all the posts have only legacy ".mq4" files, and hardly any also have the ".ex4" files uploaded.
The same can be said for the tons of .mq4 files that are posted on ForexFactory, Forex-tsd, and elsewhere. You CANNOT SERIOUSLY let the status quo remain as it is!
You either support legacy code or not. Supporting only old *.ex4 files is NOT a complete solution. It's a cop-out.
Users must still be able to compile old .mq4 code, as is, using something provided in the latest MT4 release. It's that simple.
Users, if you agree, add your vote. If you have a different suggestion, please do so.
I made similar points in some posts, but no one commented or reacted.
I've got approx 100000 lines of MY code, and at least 40000 is active and trading on live servers and being actively maintained and improved,
so i started experimenting with migrating.
There is no way this is going to work correctly by using suggested compatibility mode.
As you said, www.mql4.com is turned into a repository of mostly garbage.
A solution would be what you suggested. However, i don't expect that MQ cares for this, nor will change anything.
They simply decided it is going to be like this, and they are not going to change their mind.
The smartest thing to do, is to implement #property strict in every file and start rewriting, testing on demo etc.
So you can either accept this and start rewriting, or migrate to some other trading environment.
They should have bundled the old compiler and maintained 100% backward compatibility with old mq4 and ex4
Maybe only use the new compiler if some property is set/absent, or the extension is different eg .mql
"I continue to be amazed by the ability of the Metaquotes company to steam roll their users with their automatic updates that introduce massive changes that should only belong within an Alpha release. This week the MetaTrader 4 platform has been updated to build 600+ on many brokers – via an automatic process that does not even ask the user – breaking a lot of previous functionality and making a lot of indicator and expert advisor implementations completely useless. Imagine if you’re trading something live and suddenly it gets completely killed by a platform update (that you didn’t even ask for) that simply changes the entire way in which the programming language functions and interacts with other programs. Within this post I will share with you some tips to deal with the latest Metaquotes joke on Forex traders, giving you some information that will hopefully help you avoid any chaos in the short term and eventually migrate your implementations in the longer term."