用户工具

站点工具


env:mt4_data10y

快速获取10年高质量历史数据(用于MT4的EA测试)

原理:
在MT4中,通常大多数经纪商不会提供超过3个月的M1数据。
而在MT5中,它们会提供超过3年的M1数据。
所以,我们可以在MT5测试器中取得M1数据,并且把数据保存到.hst文件中用来做MT4的回溯测试。

本文参考下面贴子: https://www.mql5.com/zh/forum/267184

1,准备工作

账号和平台

  • 同一个平台的MT4、MT5真实帐号各一个。
  • 安装MT4和MT5平台,并登录账号。

下载需要使用的EA和脚本

  • 从MT5下载M1的K线数据的EA:“GetM1Data v2.mq5”(简称下载EA): 点我下载
  • 在MT4中把M1的K线数据转换成其他周期的脚本:“PeriodConverterAllTimeframes.mq4”(简称转换脚本): 点我下载

2,用下载EA在MT5上跑测试,从而获得对应周期的M1的数据

把下载EA复制到MT5的数据文件夹 - MQL4\Experts目录,指定想下载数据的时间段进行测试,测试完毕后EA自动生成了数据文件。

数据文件通过下面方式可以找到:

如果下载多个货币对的数据,每3个.hst文件剪切后粘贴到别的文件夹。貌似.hst文件多了之后会被自动删除。

3,登录MT4账号,市场报价窗口右键选择显示所有品种,然后关闭所有打开的图表

4,修改最大Bar数

具体操作: 菜单栏 — 工具 — 选项— 图表 —> 修改历史最多柱数和图表最多柱数都为5120000(可以容纳10年以上柱数),然后点击确认。

4,删除MT4账号密码

具体操作: 菜单栏 — 工具 — 选项— 服务器 —> 删除密码,然后点击确认,关闭MT4。

5,删除旧的历史数据,复制从MT5下载的M1数据

具体操作: 菜单栏 — 打开数据文件夹,比如…\history\ICMarkets-Live11 删除该目录下的所有.hst数据文件,然后把从MT5获得的.hst数据复制到该目录下。

6,关闭并重启MT4,打开复制了.hst数据的货币对M1图表

7,在M1图表上运行转换脚本,转换出其他周期的数据

把转换脚本复制到MT4的数据文件夹 - MQL4\Scripts目录,编译后拖入M1图表运行。 如果希望获得日图数据的话,ConverterD1参数改成true即可。

到此为止,已经获得了基于M1的所有周期历史数据,可以进行EA测试了。

★注意不要登录MT4账号,以免转换而得的图表数据被覆盖冲掉。

env/mt4_data10y.txt · 最后更改: 2019/02/10 06:28 由 admin