第一步:从MT5下载数据,构造成MT4可用的M1的K线数据(.hst)。
这需要编写一个MT5的EA,利用该EA做复盘测试的机会下载历史数据,并转换成MT4的M1数据。
第二步:在MT4中把该M1转换成其他周期,这样就可以在MT4中测试了。
这需要一个MT4的周期转换脚本。
这两步我都替你做好了,可加上方QQ群看看我分享的代码。
第一步: 用这个MT5的EA在MT5上跑测试,从而获得对应周期的M1的数据。
EA请自己下载编译 https://www.mql5.com/zh/code/20002
不懂如何编译的,下载后保存到MQL5\Experts文件夹中,重启MT5即可自动编译。
然后进行测试,按Ctrl+R 调出测试终端,测试时的设置必须是选择 1 minute OHLC 以及 M1 周期
测试很快就完毕了,完毕后EA自动生成了数据文件 比如 EURGBP1.hst, 这个文件位于测试文件夹 tester下面,比如:
XXXX \Tester\Agent-127.0.0.1-3001\MQL5\Files
这个EURGBP1.hst是EURGBP的M1 数据,是MT4中的图表数据格式
第二步:把第一步中获得的数据文件 EURGBP1.hst 拷贝到MT4中,并用用脚本转换M1为其他周期(M5,M15,M30,H1,H4,D1,W1,MN)的数据,用于EA测试。具体步骤:
1. 制作一个专门做测试的MT4(必须与那个MT5是同一个平台),即复制已有的MT4到一个新的文件夹。
2. 打开专用MT4,登录账号,联网,市场报价窗口右键选择显示所有品种,关闭所有打开的图表。
3. 进入到历史数据文件夹,删除历史,具体操作:
菜单栏--->打开数据文件夹-->.... 比如 XXX MT4\history\Alpari-ECN-Demo\ ...
Alpari-ECN-Demo(服务器)是你的账号所在的服务器,删除该目录下的所有数据文件, 然后把前面获得的EURGBP1.hst保存到该目录下。
4. 删除MT4账号密码,具体操作:
菜单栏 --- 工具 --- 选项--- 服务器 ---> 删除密码 然后点击确认,关闭MT4
5.再启动MT4,从市场报价窗口 打开 EURGBP图表,打开时是H1图表,没有任何数据,这时切换到M1,就有K线数据了,但是只有M1的数据。
接下来就是用脚本转换数据。
6. 下载转换脚本:https://www.mql5.com/en/code/19839
下载后保存到MQL4\Scripts文件夹中,重启MT4以便生成可执行文件 PeriodConverterAllTimeframes.ex4
7. 打开MT4后,在图表EURGBP M1上运行这个脚本,就可以基于M1的数据转换出其他周期的数据(M5,M15,M30,H1,H4,D1,W1,MN)。
到此为止,已经获得了基于M1的所有周期历史数据,可以进行EA测试了。