我对EA优化的方法
MT中仅有参数优化,但对于一个EA来说,参数优化仅仅是一个步骤.
我的想法是通过发现那些对EA有优化作用的指标及其参数范围来优化EA.简单讲讲我的思路和做法.
主要思路是在要优化的EA中插入一段代码,这段代码用来在EA发出开仓信号时,记录各个指标的状态,目前可以记录50组不同的指标状态.包括系统指标和自定义指标.
然后,对记录的这些数据进行统计,数据主要包括开仓时间,开仓价格,平仓时间/价格,收益的点数.再加上50组指标值. 然后分别统计每个指标的"值段"同收益点数的对应分布情况来发现那些对这个EA有良好"作用"的指标,并把对应的较好的指标"值段"加入到EA中,起到提高准确性和收益率的目的.
下面是一个简单例子,用的是我以前做的一个简单的EA.姑且叫EA1吧.
比如下面的图1里就是EA1和SMA34(价格和SMA34之间的距离)对应的分布情况,X轴对应的是收益点数,Y轴对应的是SMA34的值. 可以很明显的看到两条分布带,一条是接近45度的斜向的分布,一条在X轴的-10附近的垂直分布带.
图1
先说这条-10的垂直分布带,形成的主要原因是我设置了15的止损.这个止损可能有些过小,导致了价格一旦出现了15点以上的抖动,就触发了止损,所以可能丧失了后面的利润(也可能是亏损.)
再说这条斜向的分布带,说明了随着SMA34的增大(Y轴向上),可获取的利润点数也越大,但是交易次数在减少.充分说明了,随着SMA34的增大,EA1信号的安全性越大.反之,必然亏损.比如SMA34在0轴一下,也就是说EA1的信号如果发生在SMA34均线以上是较安全的,且离均线越远越安全,反之,则非常危险.
到这里,EA的优化就已经可以了.剩下的就是设置SMA34的参数了.这个可以通过图2来判断.
图2
图2包含了三组图,分别是SMA34在不同"值段"对应的收益率/成功率/交易次数,这个就很简单了,SMA34在0以上,基本上就不亏钱,只是成功率偏低,40-50%左右,如果设置SMA34在12-15以上,那么就可以达到60%以上的成功率,而且能保证有一定的交易次数,从图上看应该有150次以上的机会.
我的测试时间是2006/04/01-2006/12/30.平均每个月15次交易.
以上仅是一个例子,我只是从50组指标中发现了一组我认为较好的-SMA34.其他的诸如MACD/KDJ/AO/AC等等,也可能是我设置的参数不好,也可能是我没有发现.总之其他的还没有这么明显.
可以肯定的一点是EA1同SMA34的互补关系是很明显的.通过SMA34可以极大的优化EA1.
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40617.html