最后由 dummyzhong 于 2025-9-7 23:44 编辑
获取历史数据的前期准备工作:
1.你所在平台商MT4/MT5的真实账户(最好同类型、不要DEMO);
2.下载MT5历史数据的EA(MT5-TO-MT4-DATA.ex5,将文件放置在MT5\MQL5\Experts);
3.下载转换历史数据的MT4脚本;(MT4历史1M数据转换其他时段.ex4,将文件手动放置在MT4\MQL4\Scripts)
第一步:获取MT5的历史数据
下载完MT5的EA,在MT5终端CTRL+R,打开策略测试窗口,选择EA,参照下图设定调参(品种任意),设置完毕后点击开始。
1
此时可以看到,MT5开始下载历史数据,待数据下载完,则会弹出新窗口。
2
将弹出窗口的页面切换到日志页,等待EA测试完毕。等待测试完毕,可以看到这20年的数据,里面包含了503 Mb of history data,以及 640 Mb of tick data,右击打开文件夹。回到Tester文件夹,再选择修改时间最早的文件夹进入,Agent-127.0.0.1-3000——MQL5——Files——品种.hst,窗口暂时保留。(或者新建一个文件夹,复制粘贴至新文件夹)
3
4
第二步:将MT5数据转换至MT4
首先,打开同平台的MT4,关闭当前所有图表,显示所有品种。点击工具——选项——图表——将柱数全部改成999999999。
5
然后,打开数据文件夹——history——找到服务器文件夹——删掉里面带有.hst的文件
接着,把在MT5生成的.hst历史数据文件复制粘贴进来。然后,打开MT4的品种图表,打开EURUSD图表,默认会在H1,随后我们切换至M1,可以看到极其详细的数据。截止目前,我们算是成功的获取了M1的数据,接下来,就要利用脚本转化到其它周期上,紧接着依次打开8个窗口,分别为M5,M15,M30,H1,H4,D1,W1,MN。
在M1分钟图加载脚本MT4历史1M数据转换其他时段.ex4。
接着,打开MT4中的历史数据中心,选择加载的品种——1分钟图——导入——选择下载好的1分钟历史数据文件——确定即可完成导入数据,然后双击该品种其他时间段图选项即可加载其他时间段历史数据。最后,CTRL+R即可开始MT4高质量历史数据回测。
几点注意事项说一下:
1.清除账号密码那步尤为重要,避免平台商的临时数据替换导入的数据;
2.最好用好一点的电脑单独来做交易,否则历史数据太大,性能不好的电脑容易出现卡死,在回测五年、十年、二十年的数据也容易导致写入错误以至于无法启动;
3.建议用成立超过15~20年的平台商数据来做复盘模型,虽然新成立5-10年的平台商也会去拿这些数据,但有一手的为什么不用一手?
4.不是所有品种的历史数据都有超过20年,不同平台商的数据长度也不一致;
5.EA复盘模型质量至少达90%,其实即使达到所谓的99.9%,真枪实弹上战场后,也不见得能如预期般精准获利;
6.回测永远是回测,莫将回测当真理,我说过多次:时代会成就某款EA,也会淘汰另一批EA,每款EA都有特定的生命周期,随着时代进步才是永恒。 |