首页 MT5正文

用历史数据回测外汇EA超详细教程

大侠 MT5 2009-08-23 17:17:00 611 0 外汇入门

EA历史测试

历史测试是了解EA性能的最主要的方法,熟练掌握历史测试方法是一个EA交易员的必修课。

部分EA程序在写程序的时候禁止进行历史测试,对于这一类不知道工作原理的EA的使用需要特别谨慎。

 

交易理念

外汇分析的基本方式可以分为技术分析和基本面分析两类,技术分析假设历史会重演,日光之下无新事。通过对于历史行情的分析,来预测未来行情的发展,技术分析在90%的情况下是有效的,但仍然会有例外,只能用风险控制方式来应对。

 

1.历史测试方法

点击工具栏按钮,启动历史测试(如图2-15所示)。

选择EA程序、货币、时间周期、开始和结束时间,选中复盘显示,就以开始历史测试了(如图2-16所示)。

EA历史测试

然后可以点击“EA属性”来修改EA的参数设置,把赋值的内容修改为合适的值就可以了(如图2-17所示)。

EA历史测试

在测试过程中,可以拉动速度控制条来调节运行速度,也可以暂停测试(如图2-18所示)。

图表窗口会显示交易的执行过程,这有助于我们了解EA的开仓平仓原易八门与实战理、适用行情、最大风险等(如图2-19所示)。

 

EA2.测试报结告束,我们可以拿到3份报告:

这(1)EA里记录交着易EA记逐录笔交易的过程,包括EA开仓、修改止盈止损、平仓、部分平仓的动作(如图2-20所示)。

EA历史测试
EA历史测试

(2) 净值图

在图2-21中,折线是余额,细折线是净值。净值就是余额+浮动盈亏。需要注意的是,EA的净值图并不是每时每刻统点统计的,因此,在没有平仓的过程中,可能产生比较大的浮动盈亏,这个浮动也盈亏在净值图上是显示不出来的。

EA历史测试

(3)统计报

里面重点需要关注的内容是:

总净盈利:这是EA的总的盈利。

盈利比:总的盈利金额除以总的亏损金额。

预期盈利:如图2-22中平均每一笔交易单盈利2.15美元。

最大亏损:盘中包含浮亏在内的最大亏损比例,也称作最大回撤。

盈利交易(%占总百分比):图2-22中75.3%的交易单是盈利的。

EA历史测试

3.复盘模型选择

历史测试跟真实的交易是有差别的,主要的差别就是每一个报价跟实际运行并不一样,如果你是做1小时级别的交易,那么这个差别可能不大,但如果你做的是1分钟的交易,这个差别就会非常大。

 

历史测试的时候有三种复盘模型可以选择(如图2-23所示),分别是:

(1)每个即时价格

MT4会使用尽可能多的报价,测试速度最慢,测试结果最可信。需要说明的是,即便如此,在这种模式下的历史测试跟实际的运行仍然有差别,因为MT4最小的时间周期是1分钟,在1分钟以内的报价变化并没有被记录下来,历史测试的时候使用特定的算法模拟出这些变化。

 

外汇小知识:

报价漏洞

MT4历史测试里面的报价是根据特定的算法计算出来的,并不是实际的报价。部分无良EA就是利用这个漏洞做出来的,只要搞清楚这个算法的原理,就可以设计出盈利几万倍的EA,这一类的EA实际运行的绩效是一塌糊涂的。

 

(2)12个控制点

根据每一根K线仅12个报价进行测试,测试速度较快。这会跟实际情况相差很大,因为每分钟一般都有30~200个报价,如果在一小时H1上回测,每一根K线应该有1800~12000个报价。历史测试的时候仅取12个报价,显然有可能发生偏差,偏差的程度决定于EA策略,对有些EA策略来说,这样的偏差已经不能接受了。

 

(3)开盘价

只取每一根K线的开盘价进行测试,测试速度最快。这种模式主要用于检查EA的错误,正常运行的时候一般不用。当然,如果EA策略只是每一根K线开盘的那一瞬间入场和离场,那么也可以使用这样的模型。

EA历史测试

有些EA程序的运算量特别大,因此MT4的历史测试需要几个小时,在这种情况下,一般的做法是先使用12个报价来检查EA的错误,确认EA工作正常之后,使用每一个即时价格再重新测试一遍。

相关文章