MetaTrader 4 Build 600+ 新版本全面了解!

 

兼容并学习MT4 600+【持续更新...】

2014-2-18
结题总结:新版编辑器提供的新语言就是MQL5,真不是MQL4升级版,与其学这个阉割版mql5,不如我直接学习mql5呢。作为程序员,要么你坚持待在老版本环境中,要么发狠进入MQL5世界。作为初学者,我更建议你继续学习mql4。 
老版本dll迁移没有问题,放心使用。
新版本编辑器打开一次老EA源码,编译后,老版本编辑器打开就只剩下一个问号了,这说明如果源码用新版编译,目前应该没有什么软件能破译的。
尝试在新版中用MQL4编程,帮助系统掺杂了新老两个版本的提示,例如:strtotime和StringToTime,显得很乱,还是回到老环境中去算了。

2014-2-14
新的MetaEditor对中文支持不太好,我们已经反应给MT4官方!目前建议大家在老版本编写代码,等新版稳定之后在使用。

2014-2-13
找到了不让MT4自动升级的方法,正在验证中。我就在想,类似微软声明不再支持xp,但多数银行的ATM用的就是xp,你不支持,不等于我就不用吧?同理,如果你不愿意改变,那就继续使用MQL4最后一个版本。
新版的MT4对老版本ex4完全支持(好像dll有些问题,还没测试),而且增加了expert子目录,方便EA归类管理。只是编译后,加载在图表中的EA不会自动更新,重新加载一次就是。

2014-2-12
找到MT4新版安装文件夹,拷贝到硬盘另外地方,卸载MT4。这个拷贝就是一个可独立运行的MT4软件包了,想在一台电脑上同时运行多个账户,就把这个拷贝复制多少份吧。初始安装后的容量大约40M。
#property strict表示编译时采用严厉语法检测,例如print(123+" "+"abc"),其中的123就不合规,必须将其转换成string类型,否则提示警告。又比如定义了一个变量int myCnt;如果不赋初始值,就会提示警告。建议使用这种方式,提高编码质量。
用老版本编辑器编译新程序后,主程序导航栏不会出现程序名,重启就有了,如果还没有,检查文件存放位置是否正确。

2014-2-11
在“C:\Documents and Settings\Administrator\Application Data\MetaQuotes\Terminal\”文件夹里面保存着类似“29DE************A430\”的文件夹,里面保存着不同MT4终端的环境信息。我试着删除了这个讨厌的东西,MT4运行正常,而且没有再看到这个文件夹自动生成了。
安装路径\MQL4文件夹是mql4程序,老程序都应该存放在这里,需要注意的是原来\Experts里面的指标、包含文件、库文件等等子文件夹全部搬到了上一级,都在\MQL4这个目录中,千万不要把文件拷贝到\Experts里面的文件夹,一一对应搬家吧。
老版本中,用Void定义的函数习惯上在末尾加一个return(0),新版语法提示警告,直接使用return就可以消除警告了。
新版本对于中文注释和中文变量支持不好,显示混乱,但不影响编译,毕竟码农习惯加注释,期待改进。
新版本文件名仅支持19个英文字母长度,期待改进。
大写OP_BUY是关键字,小写op_buy就不是,编码中注意变量名不要与关键字重名,即使是用小写。
源码编译请使用F7键,因为编辑器里显示的是“编写”,毕竟是俄罗斯产品,我们容忍了。
int start()、int init()、int deinit()在新版本帮助文件中已经没有任何解释了,但作为关键字保留下来,以便兼容老版本MQL4语言。

2014-2-10
MT4升级为600+版本后仍然支持基于MQL4编写的指标、EA和脚本,虽然编辑器功能变得强大,但目前对中文支持不好,语言为MQL5。许多熟悉MQL4的老程序员要开始更新自己的知识啦,不过也可以参照我的博文《在MT4 600+中使用509编辑器》,继续使用MQL4编辑器。

原因: