使用tick+真实点差进行99%数据精度历史回测

楼主  收藏   举报   帖子创建时间:  2019-05-05 07:13 回复:0 关注量:125
MT4回测的最大精度是M1,也就是说M1以下的数据,每次都是电脑模拟出来的,但一分钟可以发生太多事情。差之毫厘谬以千里,尤其是在EA测试上更是这样。今天教大家如何使用dukascopy提供的免费tick数据+当时的市场真实点差,来做99%超高精度的历史回测。

声明:dukascopy仅用于数据下载,脚本原作者:birt。

言归正传。
1.注册dukascopy模拟账户。打开官网,选择注册模拟账户。
直达链接:https://www.dukascopy.com/swiss/chinese/forex/demo_fx_account/
信息随便填,但请务必填真实的邮箱,如果你不想收到dukascopy的推荐邮件,请用你的小号邮箱。

2.登陆dukascopy
下载jforex(在附件里),用邮箱里收到的账户密码登陆。

211039c6ytd6jd5e5kcldj.jpg

3.在jforex里打开历史数据中心,按照下图选择日期,分隔符,tick,货币对,下载位置。然后点开始。

4.下载结束后,打开MT4,点左上角文件,选择数据文件夹。
a把附件里的脚本里的 MQL4 文件夹,覆盖到数据文件夹根目录里的同名文件夹。
b把刚才下载好的CSV文件拷贝到MQL4/Files下。

在进行第4步时请注意:dukascopy下载好的CSV文件都是带时间的,拷贝到MT4数据文件夹后,请把原来的文件名删掉后缀,改成货币对名称,如“EURUSD”,才能顺利进行转换。

5.打开你要测试的货币对选择好时间周期。(比如你要测试EURUSD,15M,就打开EU,选择15分钟)

在MT4导航里找到脚本,双击其中的CSV2FXT脚本。然后找到以下选项:

Use real spread(使用真实点差):选择true
commission(手续费):根据实际情况填写,注意:dukascopy是原始点差+手续费,如果你手续费默认为0,将导致测试点差过低。
FXT GMT offset(时区设置):根据你MT4服务器所在时区填写
其他默认,然后点击确认,左上角会跳出1%的进度条。等进度条读取完后,会跳出一个对话框,点击yes。一切顺利的话,重启MT4。

6.在EU,15M图表上拖入“回测”脚本,弹出对话框点确认。

7.在EU窗口保持打开的情况下,使用MT4历史回测器进行历史回测。
如果一切正常,不会出现生成数据的步骤,而是直接开始回测。注意:你只能回测EURUSD 15M,并且不能做数据优化。

nmouseover="showMenu({'ctrlid':this.id,'pos':'12'})"> tick回测.zip (212.5 KB, 下载次数: 843)
打赏