首页 / 交易学院 / 小布知识库 / ATC冠军访谈:CCAaveragingEA实战揭秘
ATC冠军访谈:CCAaveragingEA实战揭秘
🤖

ATC冠军访谈:CCAaveragingEA实战揭秘

从南非开发者Anton Nel的锦标赛经验学风控与策略

指标策略 难度 · 进阶 2026-05-09 7 分钟阅读
#ATC2012#CCI策略#平均加仓#MQL5市场#风险管理

一、受访者背景与锦标赛表现

Anton Nel来自南非,是一名拥有20年软件开发经验的专业人士,涉足工程、医疗、教育与金融领域。他个人在线交易历史达10年,首次参加2012年自动交易锦标赛(ATC 2012)便凭借自研EA强势进入前十,并曾稳居第一超一周,后期牢牢占据第二。他的参赛EA名为ROMAN5 Herolds Bay,名称源于南非当地一种鱼与居住地附近的海滩,体现其钓鱼爱好。Anton此前在2011年本地手动期货交易比赛中获亚军,但那次经验因策略差异对本次自动化比赛帮助有限。

从开发者背景看,长期软件开发训练使其能快速将金融逻辑转化为MQL5代码;而十年手动交易则赋予他对市场微观结构的直觉。这种复合背景正是多数纯程序员或纯交易员缺乏的。对于中文交易者,启示是:若想深耕EA,必须同时补齐编程与交易认知,单腿走路极易在极端行情中爆仓。

二、EA核心逻辑:CCI入场与Heiken Ashi出场

ROMAN5 Herolds Bay的核心机制是始终留在市场中,避免‘死寂时段’。具体进场使用CCI指标的超买/超卖区域判定:当CCI显示超卖时考虑做多,超买时考虑做空。出场则选用Heiken Ashi而非CCI,原因是在历史回测中Heiken Ashi平仓表现优于CCI。这种‘不同指标分工’的思路降低了曲线拟合风险。

需要强调的是,Anton并非盲目使用 oscillator。他明确提到,最危险的场景是CCI发出超卖信号入场后,价格不涨反跌并发展成趋势性下行。此时系统会启动平均加仓或止损。对于中文用户,CCI参数周期与超买超卖阈值(如±100或±200)需在Strategy Tester中多周期验证,不可直接套用论坛默认值为圣杯。

✦ 指标搭配建议
入场用灵敏但易反复的震荡指标(CCI),出场用平滑的趋势确认工具(Heiken Ashi),可过滤部分假突破。但务必用近三年多品种数据回测。

三、平均加仓与无止损的运行机制

该EA在价格反向时不设传统Stop Loss,而是通过计算平均成本,在浮亏仓位上继续开立同方向订单以摊平成本,待价格回归后整体平仓,并可能在反向重新开仓。这种方式在震荡市能快速修复亏损,但在单边趋势中若没有 equity 保护,会演变为灾难。Anton在比赛中固定每笔5手,属典型‘要么登顶要么垫底’的高风险博弈。

他坦言,5手固定手数是为锦标赛规则与名次冲刺而定,并非稳健方案。赛后他计划引入基于权益的资金管理(money management),按净值计算手数。这提醒我们:竞赛EA与实盘EA的目标函数不同,直接照搬竞赛参数到真实账户极危险。

⚠ 平均加仓红线
无止损+加仓等于卖出深度虚值期权,收益平滑但尾部风险无限。实盘必须设总权益回撤硬限制(如20%强制停用),否则一次黑天鹅可清零。

四、MQL5新手上传依赖库的实践

Anton长期使用MT4,初涉MT5。为避免锦标赛服务器缺失标准组件,他将CTrade内置库与Heiken Ashi指标源码随EA(ex5)一并上传。CTrade是MT5标准库 trade 命名空间下的便捷下单类,封装了OrderSend等复杂调用。此做法保证了隔离环境可运行,但也暴露了他对MT5云编译环境的不熟悉。

对于中文开发者,正确做法是优先使用#include <Trade/Trade.mqh>引用官方库,仅在确知目标环境可能被裁剪时才附带。盲目打包会增加审核驳回概率。如下为CTrade典型调用片段,可供理解其封装逻辑:

#include <Trade/Trade.mqh>
CTrade trade;
//--
void OnTick()
{
   if(PositionSelect(_Symbol)) return;
   if(iCCI(_Symbol,PERIOD_M15,14,PRICE_TYPICAL,0) < -100)
      trade.Buy(5.0,_Symbol);
}

五、回测优化与适用市场特征

Anton的优化并无秘密:对多个历史区段分别回测,选取综合结果最优的一段参数固化。他认为自己的EA在趋势与盘整中均可运作,真正噩梦是CCI误判后演变成趋势。他也对多货币EA持怀疑,认为货币无实物锚定,更偏好黄金等真实商品;若做多币种必严审策略逻辑。

在金融工具经验上,他交易过股票与单股期货:期货带杠杆与到期日,不适合长持;股票可长期持有。这说明标的流动性与期限结构会直接塑造EA的资金曲线。中文交易者常把 forex 微点差习惯带入商品,忽略展期成本,回测盈利实盘亏损。

六、自动化交易认知与新手陷阱

Anton认为自动化在高成交量策略中极有价值,但半自动(semi-automated)效果最佳。他反对把EA当无知借口:新手必须懂交易原理与机器人逻辑。最大陷阱是贪婪,建议从最小手数起步并预设资金管理。他还指出市场无稳定模式,新闻冲击方向常变,编程找规律易、理解市场难,且单一模式不通用于多市场。

对于MQL5社区功能,他肯定Jobs服务(自由职业接单)像买卖双方桥梁且第三方托管安全;并希望MT5原生支持Renko与点数图。这些诉求至今部分仍靠自定义指标实现。中文用户应善用Jobs找审计,而非闭门造车。

✦ 新手起步清单
1) 先用Strategtes Tester跑免评测EA;2) 固定微手+总回撤停权;3) 读MQL5 Reference而非仅抄代码;4) 警惕‘无止损稳赚’话术。

七、从访谈看竞赛EA与实盘EA鸿沟

竞赛排名按绝对收益,鼓励凸性风险;实盘追求复利存活。Anton固定5手、无权益联动,是典型竞赛产物。赛后他明确要加money management,印证了二者鸿沟。很多中文用户下载锦标赛EA直接挂实盘,忽视此差异导致巨亏。

此外,他提到未在南非见过自动化交易本地群体,说明生态分布不均。中文社区应多参与MQL5官方访谈与文章,吸收全球经验而非仅看国内营销贴。本文译自俄文原稿,链接 https://www.mql5.com/ru/articles/583 ,中文版 https://www.mql5.com/zh/articles/583 。

八、可复用的策略工程化要点

总结ROMAN5可抽取的工程要点:指标职责分离、回测多周期选参、依赖显式声明、高风险参数赛后重构。中文团队可建立内部‘竞赛EA体检表’,逐项标注哪些仅为排名优化。同时,平均加仓务必配合权益熔断,CCI阈值需随波动率动态调整,而非写死。

最后,Anton每日读财经博客与新闻,结合策略开发。这提示纯技术派:宏观事件会改写指标分布,EA需留人工干预开关。半自动并非退步,而是对未知风险的敬畏。

常见问题

入场使用CCI指标的超买/超卖区域判定,出场使用Heiken Ashi指标,因回测显示Heiken Ashi平仓优于CCI。
它采用平均加仓机制:价格反向时补开同方向单摊平成本,整体平仓后可能反向重开,而非用Stop Loss。但实盘必须加总权益回撤限制。
Anton初用MT5怕服务器缺组件而打包CTrade与Heiken Ashi。正规做法是用#include引用官方库,仅环境不确定时才附带以免审核失败。
竞赛EA如固定5手、无资金管理是为排名冲刺,尾部风险高。实盘应改为按净值计算手数并设硬止损,否则易爆仓。
把EA当无知借口且不设资金管理,最大陷阱是贪婪。应从最小手数起步、理解交易原理并预设回撤停权。