ATC冠军选手揭秘MQL5多币EA实战
从通信工程背景到自动化交易锦标赛前十的经验蒸馏
选手背景与转向算法交易的契机
Enbo Lu(论坛ID luenbo)来自中国上海,拥有通信工程硕士学历,主修信号与信息处理,日常就职于移动通信企业。交易最初只是他的个人爱好,约在访谈前两年开设了第一个外汇账户进行手动交易。他很快发现手动交易极其消耗时间与精力,于是开始思考用机器人把日内重复劳动自动化。正是在这个阶段他接触到了 MetaTrader 4 与 MetaTrader 5。由于本身熟悉 C 和 C++,学习 MQL4 与 MQL5 并没有语言障碍。他特别提到 MQL5 社区里《Step-By-Step Guide to writing an Expert Advisor in MQL5 for Beginners》这篇循序渐进的教程对新手极为友好,社区中大量易懂的文章降低了策略开发门槛。
这段背景对中文交易者的启示在于:理工科尤其是信号处理、计算机背景,在转向量化交易时具备天然优势。MQL5 语法接近 C++,若已有 C 系语言经验,应优先选择 MQL5 而非 MQL4,以便利用面向对象与多币回测能力。
为什么坚定选择 MQL5 而非 MQL4
在被问及语言偏好时,Enbo Lu 明确选择 MQL5。他看中的核心优势有两点:其一是可以对多货币 EA 进行系统化测试;其二是能够在交易系统设计中充分利用面向对象编程(OOP)带来的模块化与可维护性。部分交易者不喜欢 MQL5 同一品种不允许对冲双向持仓(即锁仓),但他表示自己从不使用双向仓位,因此该限制对其并无影响。
从工程角度看,OOP 让指标、信号、资金管理、订单执行可以拆分成不同类,便于在多货币组合中复用。对于志在参加竞赛或实盘跑组合策略的用户,MQL5 的架构红利长期看远大于初期学习成本。
策略谱系与概率游戏的本质
Enbo Lu 测试过大量策略,包括趋势跟随、逆趋势、剥头皮、均值摊平、基于统计分析的方法等。他的结论直白而重要:没有一种策略能永远盈利,市场不会简单重复,预测下一步极其困难。交易本质上是概率游戏。他偏好经典突破系统,认为这类逻辑具有长期生命力。自动化交易的最大价值在于剥离情绪干扰,但要让机器人自适应所有市场环境仍非常困难。
他指出一个不变的事实:影响市场中各类参与者心理的市场行为模式始终存在。这意味着策略不必追求预测绝对方向,而应捕捉群体心理导致的价格摆动规律。对中文交易者的实操含义是,与其不断寻找圣杯,不如在可控回撤下重复高胜率的小周期逻辑。
ATC 2012 参赛 EA 的核心逻辑
本届赛事他提交的是一个简化版多货币 EA。原始设计覆盖超过 5 个货币对,但因锦标赛 30 分钟测试时间限制未能通过,最终裁剪为 EURUSD 与 GBPUSD 两个主流品种。策略本身并不复杂:基于反趋势指标,配合均值加仓(averaging)与部分优化。大多数情况下,在市场区间滚动时赚取小额利润;若出现强趋势,则追加手数以摊平成本,直到价格回归。他使用固定止盈与简单资金管理,限制回撤不超过余额的 70%。但他强调,在实盘账户中通常风险控制在余额的 5% 以内,70% 仅是竞赛激进设定。
- 信号源:仅使用 RSI 作为首仓开仓的反转指标
- 周期:选择 M5 小周期,以高频小利换取排名
- 仓位:逆势加仓摊平,价格回归后固定 TP 退出
- 风控:竞赛允许回撤 70%,实盘自述不超过 5%
多货币 EA 的开发难点与赛事限制
相比单货币 EA,多货币版本若要在策略中引入币种间相关性,复杂度会明显上升。Enbo Lu 本届作品并未使用相关性,但他透露正在设计利用货币对联动的机器人。赛事中最大的拦路虎是 30 分钟测试时限:对需要加载多品种历史、进行大参数空间优化的多货币 EA 来说过于苛刻。他公开建议次年延长测试时间,否则部分类型的组合策略根本无法合规提交。
这给开发者的教训是:在资源受限环境(竞赛或低配 VPS)中,必须权衡策略宽度与测试可行性。若组合过大,应预先做品种筛选与参数降维,只保留 3–4 个主导参数,正如他所说优化参数虽超 10 个,但真正起作用的仅三四个。
timeframe 选择与排名博弈
他选择 M5 周期是因为策略以小额利润为主,要在相对短赛期内积累排名就必须提高入场频率。小周期天然伴随噪音与滑点风险,但在锦标赛排名机制下,适度冒险是必要博弈。他认为不存在永远盈利的 EA,但设计出在特定时段表现良好的系统并不算难。这种视角区分了“实盘生存”与“竞赛冲分”两套目标。
对普通交易者,M5 剥头皮类策略需重点评估点差、佣金与执行延迟。若经纪商条件不匹配,历史回测优异的策略在实盘会迅速衰减。建议先在模拟环境验证订单成交假设,再考虑降周期。
从失败到前十:经验积累与社区价值
在 2011 年 ATC 中,他临赛前数月才着手写 EA,成绩不理想。到 2012 年,他已积累大量经验,并认为交易不止是技术更是艺术。他频繁访问 MQL5.community,从文章中获得编码解决问题的知识,也阅读历届访谈与其他开发者故事。上一届中国选手拿下季军,让他相信全球任何人都有夺奖机会。社区公开知识成为他进阶的关键杠杆。
中文交易者常困于资料分散。MQL5 官方文档、CodeBase 与文章体系化程度高,配合论坛搜索可显著降低自学曲线。建议以官方参考手册与获奖者访谈为锚,建立自己的策略库与代码片段库。
给算法交易新人的 actionable 建议
- 从 MQL5 新手教程起步,先写单货币 EA 跑通订单逻辑
- 用 RSI 等基础指标验证反趋势小周期原型,再谈复杂化
- 参加 ATC 或模拟竞赛获取真实压力下的调参经验
- 实盘资金风险严格低于 5%,竞赛参数不等于实盘参数
- 多货币策略先手筛品种,控制优化参数维度避免过拟合