手机版

我对EA优化的方法

阅读 :
外_汇_邦 WaiHuiBang.com

 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.

外_汇_邦 WaiHuiBang.com
本文标题:我对EA优化的方法 - MT4平台MQL4编程学习
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/40617.html

相关文章

  • MT4指标编程入门(十):画一条指标线

      要画指标线,只要在程序中写明以下几点就可以了:   明确指标线所在窗口,是主图还是副图   要建立数组,用以保存指标线在各个位置的值。   要建立指标线与数组的对应关系,哪个数组对应哪条指标线   ...

    MQL4编程学习
  • EA编程教程第三讲 数据类型转换

    MQL语言目前仅支持隐式转换,MQL目前可以做一下数据类型自动转换。int(bool, color, datetime) 可转换成 double 或 stringdouble 可转换成 string,除了以上两种转换外,不能进行其他的数据类型转换,如:int i = 1 / 2; /...

    MQL4编程学习
  • 与狼共舞 --- 使用网格EA获得盈利的基本原则!

    近来大部分的趋势EA,剥头皮EA表现很差的情况下,越来越多的赌 博、加仓EA浮出水面了,比如什么Forex Hacked, Forex envy, Grid me up …之类的,我们把这一类加仓或网格的EA定义为”高风险,危险性“EA。然而,如此危险的...

    MQL4编程学习
  • 在开发一个EA之前,需要对EA的策略进行规划

    在开发一个EA之前,需要对EA的策略进行规划,做到有的放矢。 EA的策略包括一下几点:1、开仓:当行情满足什么条件时,EA进行开仓,何时做多,何时做空。2、平仓:当行情满足什么条件时,EA要进行平仓。3、止损和止赢:EA是否需要设置...

    MQL4编程学习
  • 外汇EA交易使用的几种思路

    使用EA交易的朋友,有以下几种思路可以去尝试一下:(1)小止赢(比如10点),大止损(比如1000点),超短线。这样的话能提高成功率,通过大量的小赢来获取胜利,但是要克服偶尔的大亏。(2)利用5%的交易赚取95%的利润。这就是趋势交易法,在...

    MQL4编程学习
你可能感兴趣