求赞,有木有?有木有?有木有?有木有?有木有?有木有?有木有? =====================================================================
2014-2-21
今天,准备了一个干净的XP系统,全新安装MT4,过程记录如下:
1、下载安装MT4软件
安装后在“C:\Documents and Settings\Administrator\ApplicationData”文件夹中多了一个\MetaQuotes。
这个文件夹中有一个子文件夹:\MetaQuotes\Terminal\915566BA06ADA407569C544CC0D97611,这个表示某个特定用户的专用文件夹,现在里面只有一个\log空文件夹。
2、运行MT4软件
在注册新账户中搜索添加FXCM服务器,注册。登录成功后,915566BA06ADA407569C544CC0D97611文件夹下多出了许多子目录,其中MQL4就是MT4程序安装运行的地方。
再来观察C:\Program Files\MetaTrader 4\MQL4目录,相比上面那个,文件少了很多。
3、运行EA
拷贝EA到C:\Program Files\MetaTrader4\MQL4\Experts,重启MT4,导航的智能交易系统中没有发现EA。
拷贝到C:\Documents and Settings\Administrator\ApplicationData\MetaQuotes\Terminal\915566BA06ADA407569C544CC0D97611\MQL4\Experts,重启MT4,导航的智能交易系统中出现了EA,说明这里才是有效的工作目录。
如果有自定义的指标、文件、库文件(例如DLL文件)等等,都要拷贝到\MQL4下面对应的目录中。
4、选择不同的经纪商
将服务器文件拷贝到C:\Documents and Settings\Administrator\ApplicationData\MetaQuotes\Terminal\915566BA06ADA407569C544CC0D97611\config目录中,如果没有服务器文件,可以用注册新账户中搜索添加服务器的方法。重启MT4后,就能登录了。
5、运行多个MT4
拷贝C:\Program Files\MetaTrader4到电脑硬盘另外地方,文件夹重命名后打开,双击terminal.exe运行一个新的MT4程序,检查C:\Documents andSettings\Administrator\ApplicationData\MetaQuotes\Terminal,发现多了一个9531765FD1F1BC983F7653D44D48CC64文件夹,这就是新程序的工作目录,是唯一不重复的名称。
在这个文件夹中有一个origin.txt文本文件,打开后只有一个路径,表示对应的MT4在何处。
电脑重启后,再次运行MT4,发现一切犹如新安装的状态,将EA程序和服务器文件拷贝到origin.txt文件所指的位置中,重新设置,重启MT4,正常。重启电脑运行MT4,正常。删除这个特殊的文件夹,重启MT4,正常。重启电脑运行MT4,正常,那个特殊的文件夹没有出现!
==========之前描述有错误在所难免,保留错误信息备查==========
2014-2-14
- 结题总结:新版编辑器提供的新语言就是MQL5,真不是MQL4升级版,与其学这个阉割版mql5,不如我直接学习mql5呢。作为程序员,要么你坚持待在老版本环境中,要么发狠进入MQL5世界。作为初学者,我更建议你继续学习mql4。
- 特别福利:点击下载老易的MT4600软件包,压缩包包含了老版本MetaEditor和编译器,在\MQL4下点击MetaEditor。用新版MT4可以登录任何MT4服务器,用老版编辑器可以不用学mql5,完美的解决方案。
- 老版本dll迁移没有问题,放心使用。
- 新版本编辑器打开一次老EA源码,编译后,老版本编辑器打开就只剩下一个问号了,这说明如果源码用新版编译,目前应该没有什么软件能破解的。
- 尝试在新版中用MQL4编程,帮助系统掺杂了新老两个版本的提示,例如:strtotime和StringToTime,显得很乱,还是回到老环境中去算了。
2014-2-13
- 找到了不让MT4自动升级的方法,正在验证中。我就在想,类似微软声明不再支持xp,但多数银行的ATM用的就是xp,你不支持,不等于我就不用吧?同理,如果你不愿意改变,那就继续使用MQL4最后一个版本。
2、删除操作相关的文件,这些文件夹里有升级模块。如果是xp,删除这个文件夹C:\Documents andSettings"用户名"\ApplicationData\MetaQuotes;如果是win7,删除C:\Users"用户名"\AppData\Roaming\MetaQuotes。记住浏览所有的用户名,发现了就删除。卸载电脑中用setup安装的MT4,对于有用的MT4事先做拷贝备份即可。
3、打开MT4 509文件夹,运行程序。
- 新版的MT4对老版本ex4完全支持(好像dll有些问题,还没测试),而且增加了expert子目录,方便EA归类管理。只是编译后,加载在图表中的EA不会自动更新,重新加载一次就是。
2014-2-12
- 找到MT4新版安装文件夹,拷贝到硬盘另外地方,卸载MT4。这个拷贝就是一个可独立运行的MT4软件包了,想在一台电脑上同时运行多个账户,就把这个拷贝复制多少份吧。初始安装后的容量大约40M。
- #property strict表示编译时采用严厉语法检测,例如print(123+""+"abc"),其中的123就不合规,必须将其转换成string类型,否则提示警告。又比如定义了一个变量intmyCnt;如果不赋初始值,就会提示警告。建议使用这种方式,提高编码质量。
- 用老版本编辑器编译新程序后,主程序导航栏不会出现程序名,重启就有了,如果还没有,检查文件存放位置是否正确。
2014-2-11
- 在“C:\Documents and Settings\Administrator\ApplicationData\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()、intdeinit()在新版本帮助文件中已经没有任何解释了,但作为关键字保留下来,以便兼容老版本MQL4语言。
2014-2-10
MT4升级为600+版本后仍然支持基于MQL4编写的指标、EA和脚本,虽然编辑器功能变得强大,但目前对中文支持不好,语言为MQL5。许多熟悉MQL4的老程序员要开始更新自己的知识啦,不过也可以参照我的博文
《在MT4 600+中使用509编辑器》,继续使用MQL4编辑器。
文件夹变化:509或更早版本的文件全部搬迁到600+安装路径下的“MQL4”中,但存储结构有所改变:
\Experts - 保存EA源码文件和编译好的ex4文件
\Indicators - 保存自定义指标源码文件和编译好的ex4文件
\Scripts - 保存脚本源码和ex4文件
\Include - 保存公用函数声明源码文件MQH和MQ4文件
\Libraries - 保存系定义函数MQ4源码文件和ex4文件、dll函数文件
\Images - 新增,程序中调用的图像文件
\Files - 保存MQL4需要操作的文件
按照上述指引,把你以前的文件分门别类搬迁吧。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。