tick数据准备与导入_MT4

26 十月 2020, 09:08
Zhaoqi Ke
2
1 996
 

MT4

回测的最大精度是M1,也就是说M1以下的数据,每次都是电脑模拟出来的,但一分钟可以发生太多事情。差之毫厘谬以千里,尤其是在EA测试上更是这样。
如何使用dukascopy提供的免费tick数据+当时的市场真实点差,来做99%超高精度的历史回测。
1.注册dukascopy模拟账户。打开官网,选择注册模拟账户。
直达链接:https://www.dukascopy.com/swiss/chinese/forex/demo_fx_account/ 
信息随便填,但请务必填真实的邮箱,接收账户信息。

2.登陆dukascopy
https://www.dukascopy.com/swiss/chinese/forex/trading-login/
下载jforex,用邮箱里收到的账户密码登陆。点击查看,进入dukascopy历史数据管理器:


3.在jforex里打开历史数据中心,按照下图选择日期,分隔符,tick,货币对,下载位置。然后点开始。下载的tick数据是.csv的文件格式。也可以参考格式自己获取tick数据的csv文本。


4.下载结束后,需要将CSV转为MT4回测需要的HXT文件。
https://eareview.net/downloads 下载CSV2FXT Script v.0.50

a把压缩包解压到 MQL4 文件夹,覆盖到数据文件夹根目录里的同名文件夹。
b把刚才下载好的CSV文件拷贝到MQL4/Files下。

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

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



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

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

7.在BTCUSD窗口保持打开的情况下,使用MT4历史回测器进行历史回测。
如果一切正常,不会出现生成数据的步骤,而是直接开始回测。注意:你只能回测BTCUSD 15M,并且不能做数据优化,跟跨周期数据获取。
Dukascopy三个月接近500W的数据量,接近tick,如需更精确的数据可以自己按csv格式爬取。


参考链接:https://www.talkfx.co/thread-191159-1-1.html 
                 https://www.waihuituan.com/t/137
                 http://www.eazhijia.com/thread-111775-1-10.html
                 http://www.eazhijia.com/thread-15163-1-1.html

end