您需要 登录 才可以下载或查看,没有帐号?注册
由于文中提到用PHP命令行工具,对大部分人来说稍显困难,用文中说的简单方法即可
==========================================================
一般情况下,非剥皮和刷点类EA回测使用MT4历史数据中心的数据是OK的,但你如果用这两种EA每单赚1-15点利润的时候,即使是一个很小的数据差异都会对结果产生很大影响
这篇文章的起因是那些无法取得真实历史数据,最好情况下也只有1分钟K柱数据的(这些数据是在最小的时间周期插值产生的)。这对于设置100点止盈止损的EA来说问题不大,但对于只剥几点的EA来说,你的整个回测可能都被误导了。
因此,使用尽可能高质量的数据进行测试是非常重要的。
Dukascopy的tick数据平台商:dukascopy
数据:dukascopy免费提供2007年以来几乎所有货币对的数据,可以媲美商业品质的数据,在回测中可以达到99%的质量。dukascopy的数据1小时更新一次
简单的方法:如果你想略过使用PHP的过程,有一个简单的方法:需要你注册一个模拟帐号(http://eareview.net/out/dukascopy-demo),启动JForex平台,当然注册一个真实帐号数据也是一样的。用的EMAIL里的帐号登录,找到工具按纽点击历史测试器,在底部会显示历史测试器,从现在开始你要做的事情都在这个小窗口完成,首先选择一个货币对(默认是EU),如果你想增加货币对点那个“+”号选择确定即可。再点击右边的日历按纽,选择2007.03.01作为开始日期(这之前数据是不可用的)并选择一个结束日期。需要提醒的是,如果选择今天作为结束日期可能会有一个下载错误,因为不是所有数据现在都有效。在完成日期选择后,确保下面的下拉框选择项为“Ticks”,然后点击“Get Data”按纽。下载过程中如果遇到错误重试即可,如果一直遇到错误。就一个个货币对的下载,并且调小一点时间周期,如果还是出错,就用下面介绍的PHP的方法吧。如果下载OK,点击“Save Data”并选择一个文件路径存放每个货币对的CSV文件。现在你可以用jForex2FXT脚本来转换数据为FXT格式。它的工作模式就像Dukascopy2FXT脚本的文档里面有如何转换数据为MT4格式的章节介绍的一样,你要做的只是用jforex的压缩包替代dukascopy的压缩包(并用JForex2FXT替代Dukascopy2FXT)
注意:JForex2FXT和Dukascopy2FXT是不同的,即使他们的输入参数看起来很像。工具:
PHP脚本这里下载:http://eareview.net/download/dukascopy_php_scripts_21.04.2010.zip里面有三个脚本:1、download_dukascopy_data.php下载dukascopy数据。这个脚本不会重复下载已有的数据。在货币对的数组里面设置每个货币的开始和结束时间。脚本会用LINUX标准时函数mktime转换后处理。2、process_dukascopy_data.php用来处理已下载的数据,这脚本需要一些参数
3、一个小shell脚本用来处理所有的下载数据windows版本PHP下载安装 如何转换成CSV文件
到http://windows.php.net/download/这里下载PHP最新的binary版本(ZIP文件),解压到C:php并且把http://eareview.net/download/dukascopy_php_scripts_21.04.2010.zip解压到同一目录
把c:phpphp.ini-development改名为c:phpphp.ini
打开php.ini编辑,找到这一行:
;extension=php_curl.dll
改为:
extension=ext/php_curl.dl
保存并退出
依次执行:开始 - 运行 - cmd - cd php - php download_dukascopy_data.php
等。。。。。。
如果你想要下载特定的数据可以加上参数运行,例如:php process_dukascopy_data.php EURUSD 200702 200911 EURUSD.csv
或者,可运行process.bat 这个批处理会处理所有货币对的数据。 注意:确保磁盘有足够空间。下载的文件会超过7.5GB,并且转换过的CSV文件会接近60GB
使用数据:
为了使用CSV数据,必须做以下步骤:
1、转换数据为FXT或HST格式
2、拷贝FXT/HST数据到正确的目录
3、运行MT4加载FXT文件,就可以开始回测了 转换数据为MT4格式:
为把数据转为HST格式,用一个MT4脚本:http://eareview.net/download/dukascopy_mql_scripts_19.09.2010.zip
这个脚本从GainData2fxt.mq4演变来的
执行下面的步骤将CSV数据转换为FXT:
1、将dukascopy_mql_scripts_22.04.2010.zip拷贝到MT4安装目录并解压
2、将CSV文件移到expertsfiles目录
3、打开对应数据的图表(如果你下载的是eurusd数据就打开这个图表)
4、选择一个你想要生成FXT文件的时间周期(如果你想回测H1数据,就选择H1图表)
5、在导航器的脚本菜单中双击Dukascopy2FXT脚本6、配置参数1)CsvFile:如果你的CSV文件名字是eurusd.csv,这栏就不需要输入2)CreateHst:如果这栏选择为true,则在别的时间周期图上就无需再次生成HST文件,因为第一次就会生成所有周期的数据3)Spread:配置你的FXT文件所需要的点差,如果设为0,脚本会使用你所在平台的点差。值得注意的是许多平台在周末都会扩大点差。如果是5位数平台,则2点差需要输入20,4位平台只需要输入2
4)StartDate/EndDate:按上面提示,可留空,脚本会自动使用CSV文件里面的时间
7、点击OK,脚本大概要花5-30分钟,结束后会有提示出来,expert日志也可以看到一些记录8、如果有人碰到其它一些问题,请在这里留言拷贝数据到正确的位置:完成以后在expertsfiles里面有一些文件,将其移动到history你的服务器名里面
注意:除非修改或者重新制作一个,否则HST文件只需要被生成一次就够了,移动完HST文件后,将expertsfiles里生成的FXT文件移到testerhistory目录下面可以用它们进行回测了。。。(后面note部分未翻译)注意:只能用255版本的MT4加载数据
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!