Note

高精度MT5数据转换MT4方法

· Views 3,363

我不生产蜂蜜,我只是大自然的搬运工

这方法不是我原创,我只是照搬过来。

献给各位EA交易者

这是一个中国籍名字叫:Ziheng Zhuang 分享,如果他本人看到有意见请与我联系。

下面基本原文找搬,但有些下载连接网站与FOLLOWME有利益冲突,避免封贴我将用百度网盘代替

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

怎样使用?

 

  • 在 MetaTrader 5 中测试 EA , 选择 M1 时段以及一分钟 OHLC,
  • 在测试结束后,.hst 文件就保存在测试器文件夹中,把它复制到您 MetaTrader 4 的历史文件夹下。
  • 使用时段转换器脚本把 M1 .hst 文件转换为其他时段。

第一步:从MT5下载数据,构造成MT4可用的M1的K线数据(.hst)。

              这需要编写一个MT5的EA,利用该EA做复盘测试的机会下载历史数据,并转换成MT4的M1数据。

第二步:在MT4中把该M1转换成其他周期,这样就可以在MT4中测试了。

             这需要一个MT4的周期转换脚本。

这两步我都替你做好了,看看我分享的代码:

百度网盘代替连接:

https://pan.baidu.com/s/1y6zly...
https://pan.baidu.com/s/1jqoG3...

 

第一步: 用这个MT5的EA在MT5上跑测试,从而获得对应周期的M1的数据。

              EA请自己下载编译 https://pan.baidu.com/s/1y6zly...

             不懂如何编译的,下载后保存到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中的图表数据格式

高精度MT5数据转换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://pan.baidu.com/s/1jqoG3...

    下载后保存到MQL4\Scripts文件夹中,重启MT4以便生成可执行文件 PeriodConverterAllTimeframes.ex4

7. 打开MT4后,在图表EURGBP M1上运行这个脚本,就可以基于M1的数据转换出其他周期的数据(M5,M15,M30,H1,H4,D1,W1,MN)。

 

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

小白用户务必严格按照上述步骤,每一步都是有其作用的,不具体说明。

                                                                                                                                                     

下面针对第一第二步作者又更详细的解说于图解

第一:

怎样使用?

  • 在 MetaTrader 5 中测试 EA , 选择 M1 时段以及一分钟 OHLC,
  • 在测试结束后,.hst 文件就保存在测试器文件夹中,把它复制到您 MetaTrader 4 的历史文件夹下。
  • 使用时段转换器脚本把 M1 .hst 文件转换为其他时段。https://pan.baidu.com/s/1y6zly....

高精度MT5数据转换MT4方法

在MT4测试中,很多人到处购买的历史数据,网络上很多第三方的数据都有坑,找到高质量的数据很难。

所以最好的方式就是找到一个同时提供MT5和MT4的平台商,从该平台的MT5上获得M1数据,然后在其MT4平台上测试。

有必要提醒下:

在MT4中转换数据之前,你必须登录MT4账号,并在“市场报价”窗口中显示所有品种,这么做的目的是为了获得品种属性即合约规格(点差,利率,佣金,交易模式,杠杠等)

因为在测试时需要用到品种的这些属性。

登录账号,显示所有品种,之后就可以删除账号密码了,然后就可以转换数据了。

有些朋友可能需要txt数据,用于Python测试。

那么只需要修改EA中的保存数据的格式,用参数 1 

void OnDeinit(const int reason)
  {
//--- 
    //hstBar.SaveData(0);
      hstBar.SaveData(1);   //1 则是保存为txt文档,可用于Python测试。

  }

第二:

https://pan.baidu.com/s/1jqoG3...

当我们进行回测时,通常会从第三方下载M1数据,然后将M1数据转换为其他时间范围。

该脚本有助于将历史数据从M1转换为M5,M15,M30,H1,H4,D1,W1和MN。

该脚本必须在M1图表上运行。

您可以选择是否转换为D1,W1,MN。默认情况下为false。

  • ConverterD1 = FALSE;
  • ConverterW1 = FALSE;
  • ConverterMN = FALSE;

请注意,在回测之前,您应断开与代理服务器的连接,否则服务器数据将覆盖数据。

为了避免覆盖,实际的方法是删除MetaTrader 4设置中的密码(菜单“工具”→“选项”→“服务器”)。

 

以上方法都是可行的,我也亲测。

为什么需要高精度数据,为什么不直接在MT4下载。

这问题在好多老EA交易者都知道的痛点,我简单说说:

在MT4历史数据下载通常速度都奇慢,而且可能根本下载不了,无法控制时间周期,做成文件巨大(我的指导者告诉我,他的MT4文件达到100G容量,99%都是数据)。

还有一个致命的问题,就是丢包,数据不连贯,可能你回测2015-2019时间,中间2016的8月数据整个消失或者1分钟周期里,有些分钟数据消失。这些问题都会做成回测失效,变的无意义。

可能有些人会去数据网站购买高精度数据,但有很多经纪商都是有冬夏令时的转换,会做成本来经纪商星期一00::00才出现的数据,变成星期天23:00就出现,对于很多指定时间段运行的EA做成回测失效。

说到这里就这样吧,假如大家有不明白怎么使用,可以留言,我会“尝试”说明,毕竟我不是原创,我都一步一步按照方法做

Disclaimer: The content above represents only the views of the author or guest. It does not represent any views or positions of FOLLOWME and does not mean that FOLLOWME agrees with its statement or description, nor does it constitute any investment advice. For all actions taken by visitors based on information provided by the FOLLOWME community, the community does not assume any form of liability unless otherwise expressly promised in writing.

FOLLOWME Trading Community Website: https://www.followme.com

If you like, reward to support.
avatar

Hot

好是好,就是不会用
搬砖佬
Author
@我不是英雄6682:先下载两个附近,然后按照他步骤走就操作就行
@搬砖佬 mt5也得下啊
搬砖佬
Author
@我不是英雄6682
@我不是英雄6682 是的,你平台不是也有mt5吗?然后下载,登录一个模拟账户。然后下载一个附件,是放放MT5文件夹里的,位置文章有写,然后关闭MT5再打开,在EA导航哪里刷新就出来了。
回测之后,找不到hst文件
搬砖佬
Author
@小丑哈雷 是MT5还是MT4
小丑哈雷
@搬砖佬
@搬砖佬 mt5,不过已经在其他地方找到了,跟教程说的不一样
搬砖佬
Author
@小丑哈雷
@小丑哈雷 我这个教程是完全复制的,然后MT5的数据地方和我也是一摸一样
photo
干货啊
大笑
干货
技术贴
搬砖佬
Author
@船长886 我只是觉得每个EA交易者都必须想办法获得数据。不然回测就没有意思。
干货
你回来了,要不是为了活跃值,我根本不想多打一个字,都没有人回我,多么寂寞啊!

-THE END-