很多不懂策略开发的朋友会对市面上流出的ea很感兴趣,它们可能出自各大外汇论坛、MQL5、QQ群网友等等。有些ea只是一些辅助性的工具,例如账户历史交易记录的统计分析、批量下单键盘、财经日历提醒等等,这些辅助性的工具并不属于自动化交易系统,只是起到辅助作用,所以只要用起来方便就好。但是更多的朋友还是对自动化交易的ea更加感兴趣,毕竟自己没有金刚钻的话,靠辅助性工具 ea 还是不能赚到钱。

今天就来讨论一下对于外部的自动交易系统的ea,究竟应该怎么看待。我知道外汇圈一直以来都是乱象丛生的,各大qq群里面有无数的业务员,他们的目标就是一个——交易量。开发业务的方式包括但不限于晒交割单,晒 ea 截图卖 ea……很多朋友就会对此动心,忍不住去试一下,跟个单或者买个ea什么的。

这些 ea 背后的价值几何,我这里不好直接对所有 ea 下结论。我们先来看我自己在 mt5 上对某 ea 做的优化结果列表:

某 ea 在 mt5 中的优化结果列表:

https://docs.qq.com/sheet/DSVpvR3dsc25SRW5o?tab=BB08J2&c=P3A0A0

我主要围绕三个参数去组合变化,分别是“Multiple”(加仓倍率)、“Interval”(每隔多少点残差加仓)、“CloseOneByOne”(是否分阶段平仓),对应表格的后三列。回测时间为20160101-20191023,起始资金为10000美元,大致优化了84组参数。

通常优化列表出来之后,我们最关心的首先是盈利、回撤。链接中的表格我已经默认按照“Result”降序排序了。

我们看到排在最前面的大致做到了1322%的收益率,这在三年多的时间里已经算是一个比较不错的战绩了,对应的“Equity DD”为 54.12%,虽然看起来稍大,但是相对于它的收益率来说,还是可以接受的。

因此对待这样的ea,即便是其他参数都不懂的情况下,优化功能已经帮我们找到了非常优质的参数。很多人到这一步就已经决定实盘搞起来了。

但是其实呢,这款ea整个完整的逻辑我是非常清楚的。这款ea就是SpindleHedging。

我在之前的文章中曾经也列过它的回测交割单,但是收益率绝没有这么高,因为我之前并没有像这次这样专门用 mt5/mt4 优化过它的参数,而是直接随便给了一组相对合理的参数去回测并把结果呈现出来的。

那么现在有个十几倍收益率的参数,是不是发现新大陆了呢?其实不然。

我之前给过关于SpindleHedging的残差敏感度计算表用来辅助计算https://docs.qq.com/sheet/DSWlJV25mV25WQVB0?tab=BB08J2&c=D13A0F0

我们尝试将这一组参数放进去看一下,结果显示的亏损百分比达到了105.82%,而且是不含隔夜仓息或者是移仓成本的。也就是说实际还没有到止损线就已经爆仓了。

但是由于20160101-20191023这个时间段内的残差并未拉到过3100,甚至远未及,所以看起来最近几年三者相关性很强,并没有阔开过大,但这并不代表未来不会。正相反,我们在之前文章中的残差图看到3000以内的残差都是正常的游走范围,绝不能因为最近三四年都在2000以内就随意把仓位拉大,这是完全不合理的,而参数优化就在这么干!优化给到的结果已经不能用总结规律去描述了,而应该定义为过度拟合了。不理解什么是过度拟合的同学可以参看上篇文章中的小猫图。

结合小猫图,在交易当中其实我可以举一个更夸张的例子,那就是照着行情做交易。

给定一个时间段的行情的历史走势我们已经完全知道了,至少一分钟级别的走势都是很清楚地记录在图表上的。那么我只需要照着行情做交易就可以了,把图表1分钟图打开,加载NewZigzag线段拆分指标,只要吧线段长度大于点差的线段全部拆分出来,得到M个极大值和N个极小值。然后在每一个极大值处平多开空,在每一个极小值处平空开多,不就可以抓住每一波大于点差的行情了么。如此方法去做,写个ea回测,一年一亿倍都不是问题。但是很显然,这种方法是没有任何意义的。看似抓住了行情的每一个细小特征,实际上是过度拟合的极端典型例子。

还记得上篇文章中举的追妹子的例子吗?其实我们要分析的是妹子们喜欢的男生的特点,而不是表妹一个人喜欢的男生的特点。那么你把表妹的喜好刻画得越详细,你能适配的也仅仅是表妹一人而已。

EA本身预留的一些参数可能给拟合行情留了很大的空间,做到了极限就是完全照着行情做。这就是为什么我不认可拿个ea过来优化出一组参数就上实盘,因为结果太菜了,有本事你超过我的一年一亿倍的记录呀,哈哈。

分享到