MT4
使用99%精度的Tick Data(每秒报价,动态点差)来进行历史回测
回复:0  浏览:165
  • 楼主admin 圈主
  • 2019-05-05 04:48
为何要用tick 数据来进行历史回测?
1.MT4中历史回测最小的单位是1M,也就是说1M以下的数据变动情况是无法得知的,所以每次进行历史回测时,都必须先“计算”出每根1M柱的每tick变动情况,由于它是由计算机模拟计算出来的,因此其与当时的实际市况有所差别,一个个小的差异积累起来就造成了与真实结果的巨大差异。


2.MT4的历史回测中的点差是固定的。哪怕你可以通过工具修改点差,它也在历史回测中始终是固定的,而我们知道,实际市况中不同时段的点差是动态的,而不同点差也对EA的结果造成不同的差异。

因此,我们要用每一秒的TICK数据和每一秒的点差来进行历史回测。

因此凡是力求精确测试,要先有tick数据.dukascopy.com有免费tick数据下载.

过程较复杂,,,希望大家承受得住[s:138]




nclick="zoom(this, this.src, 0, 0, 0)" class="zoom" src="http://www.eazhijia.com/static/image/hrline/2.gif" onmouseover="img_onmouseoverfunc(this)" onload="thumbImg(this)" border="0" alt="" />




1.      开立演示帐户:

  www.dukascopy.com  :  开立演示户口栏  注册一个模拟账户,除了邮箱之外都可以随便填写(建议专门注册一个邮箱,接下来会用到),然后去邮箱里得到登陆账号和密码。如图:

205_66465_99001ee55d36b51555.jpg

2.    选择平台: 见图:

64646464646.png

下载Jfore.JNLP文件.如图:

22222.png



Jfore.JNLP文件是用java程序打开的,电脑上如果没有安装java的,还要下载java,如图:

4444.png


66666.png



下载后,安装好java 然后打开Jfore.JNLP文件,用java打开.如图:

77777.png
3.  这样就打开了dukascopy的模拟平台。输入账号和密码。如图:

2222232.jpg

4.   进入平台后,选择工具里的historicalData Manager,然后依照下图修改,勾选,然后点开始,慢慢等待,一般情况下下载2007.3.1~现在的数据需要几十个小时的时间。如图:

222223233332.jpg

5.      转换数据
当你下载的数据完成之后,是CSV格式的,不能直接用于MT4
需要进行转换。找到存放目录,将其名字改为货币对名称,如EURUSD(便于操作)。
将CSV数据拷贝到你的平台/experts/files文件夹内。如图:

112233.jpg

6下载格式转换工具:CSV2FXT
在网址: eareview . net  注册一个帐户 然后到如图这里下载.如图:


22113344.png


下载CSV2FXT转换工具 .如图:

333422222.png


下载格式转换工具:CSV2FXT ,将压缩文件中的experts文件覆盖到你的MT4目录里。
打开MT4打开你需要创建的历史数据的货币对图表(比如你要测试EURUSD,15分钟,那么就打开EURUSD,15M图表),将脚本CSV2FXT拖进图表中。
在参数中 csvfile 填上你的下载的数据名和后缀。如:EURUSD.csv.  
UseRealSpread中选择True。点确定。如图:

11223ffttt.jpg

7 在eareview . net  注册一个帐户后,邮箱里会有一封带有number 数字编码,是专门试用Tick Data Suite 软件的KEY,先下载Tick Data Suite 软件如图:

77666555.png


注明:此软件试用期为7天,过期后,你用的电脑不再能使用Tick Data Suite 软件,除非你换台电脑再注册试用,或者交费使用.
安装打开Tick Data Suite 软件.如图:

665443332.png


双击打开tds文件,即可进行历史测试了,
理论上就可以用TICK DATA数据来进行测试了,和普通历史回测一样,唯一的区别是不会再有“生成1M数据”的字样,而直接进行测试。
  测试完毕,你会得到99%的模型精度。如图:

133333.png