MQL4 changes in language?
33 replies
Matusiak Adrian
8 years ago #113958
Hello.
Currently I save my strategies to source by SQ.
But on some website I have discovered that old MQL4 will not be supported from MT Build 600+,
Please read details:
http://docs.mql4.com/mql4changes#compiler_difference
Especially:
“Old EX4 applications and DLLs based on old RateInfo format will not work in the new terminal. Conversion to the new format is required.”
and
“Starting from build 600, MQL4 programming language has been completely revised reaching the level of MQL5 – now you can develop trading robots in MQL4/5 using the unified MetaEditor development environment, single style, libraries and debugging tools.”
Any update on this?
mikeyc
8 years ago #131437
Mark Fric
8 years ago #131487
Mike, I’ll surely consider it.
Please compile a list of bugs you think are high priority and should be fixed in the current version 3.
The best is to contact me by private message on forum or by support email then, so I’ll not miss it here on forum.
Mark
StrategyQuant architect
Matusiak Adrian
8 years ago #131497
Mark Fric
8 years ago #131509
sorry, I didn’t know about this.
what issue is there with compiler exactly? it works fine for MT4.
code generator for MT5 will be only in the new version, it is quite a lot of work to do it twice.
Mark
StrategyQuant architect
Matusiak Adrian
8 years ago #131512
Hard to say. Mql says only that it isnt done with compile strict. Please follow the website that I mentioned. Maybe it will help to solve the problem.
Matusiak Adrian
8 years ago #131721
mikeyc
8 years ago #131838
Mike, I’ll surely consider it.
Please compile a list of bugs you think are high priority and should be fixed in the current version 3.
The best is to contact me by private message on forum or by support email then, so I’ll not miss it here on forum.
Hi Mark,
I am going to compile a list of bugs and issues I think would be simple to change for a final SQ3 release. I wil then post it on the forum and send it to you.
Many thanks,
Mike
mikeyc
8 years ago #131841
Mark Fric
8 years ago #132119
I just want to let you know that we just released an autoupdate that fixes this. Your SQ should be updated next time you start it.
So ti is now possible to add #property strict to your EA and it will compile correctly.
Mark
StrategyQuant architect
Matusiak Adrian
8 years ago #132120
Mark Fric
8 years ago #132122
there is no setting for it in SQ, what was changed was that SQ now generates code that can be compiled with #property strict.
You can add the line:
#property strict
to the beginning of generated EA file.
Mark
StrategyQuant architect
Matusiak Adrian
8 years ago #132126
Mark Fric
8 years ago #132153
yes, you can alway re-export old strategies in SQ and they should work as before.
MQL code was just cleaned up so that there are no errors when compiled with #property strict
Mark
StrategyQuant architect
atohm
8 years ago #133071
#property strict in actual version SQ 3.8.1 is not. If I add line #property strict and compile to ex4 returns this errors. I instaled lasted SQ 3.8.1 and patches from august and september.
‘EURUSD_15M_21.320229.mq4 EURUSD_15M_21.320229.mq4 1 1
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 562 83
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 562 111
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 605 70
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 607 71
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 630 38
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 630 61
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 630 83
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 630 99
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 635 35
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 640 26
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 640 55
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 653 39
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 653 57
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 653 77
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 655 24
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 655 57
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 655 94
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 658 40
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 658 54
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 672 39
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 672 61
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 672 94
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 672 131
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 676 39
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 676 77
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 676 91
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 684 55
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 687 46
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 687 60
‘i’ – undeclared identifier EURUSD_15M_21.320229.mq4 1048 8
‘i’ – undeclared identifier EURUSD_15M_21.320229.mq4 1064 8
‘i’ – undeclared identifier EURUSD_15M_21.320229.mq4 1091 8
‘i’ – undeclared identifier EURUSD_15M_21.320229.mq4 1107 8
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1223 19
‘i’ – undeclared identifier EURUSD_15M_21.320229.mq4 1304 8
‘orderTime’ – undeclared identifier EURUSD_15M_21.320229.mq4 1306 10
implicit conversion from ‘string’ to ‘number EURUSD_15M_21.320229.mq4 1306 20
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1308 13
possible use of uninitialized variable ‘lotMM EURUSD_15M_21.320229.mq4 1380 15
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1788 19
possible loss of data due to type conversion EURUSD_15M_21.320229.mq4 1802 30
possible loss of data due to type conversion EURUSD_15M_21.320229.mq4 1813 22
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1815 56
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1851 60
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 1851 87
possible loss of data due to type conversion EURUSD_15M_21.320229.mq4 2117 11
implicit conversion from ‘number’ to ‘string EURUSD_15M_21.320229.mq4 2118 17
possible loss of data due to type conversion EURUSD_15M_21.320229.mq4 2140 65
possible loss of data due to type conversion EURUSD_15M_21.320229.mq4 2141 70
6 error(s), 43 warning(s) 7 44
I'm an enthusiastic content creator with a passion for automated trading strategies (ATS). My love for ATS began in 2011, and I've been honing my skills ever since. In 2013, I built my own ATS and later discovered StrategyQuant, a remarkable tool that allows anyone to create ATS without any programming expertise.
I'm also the proud creator of QuantMonitor.net, a unique platform monitoring tool that simplifies your trading experience. My trading dashboard comes with additional tools like the rename tool and EA deployer, making it a breeze to rename and deploy up to 99 strategies in mere clicks.
Join me on this exciting journey as we explore the endless possibilities of automated trading strategies together! 🚀
Mark Fric
8 years ago #133094
I apologize for mistake, it seems the previous update didn’t contain this function. I just released a new update with this fixed.
Now you can use #property strict, it will produce only a few warnings like “implicit conversion from ‘number’ to ‘string’ “.
These warnings have no effect on the EA functionality, it simply says we are converting number to string when writing message to a log.
Mark
StrategyQuant architect