首页 / 交易学院 / 小布知识库 / ATC冠军访谈:简单EA的盈利哲学
ATC冠军访谈:简单EA的盈利哲学
🤖

ATC冠军访谈:简单EA的盈利哲学

从德国学生Tim Fass的MQL5实战看稳健策略设计

MQL5开发 难度 · 入门 2026-04-15 7 分钟阅读
#MQL5#EA开发#ATC2011#自动化交易

谁是 Tim Fass 与 The_Wild_13

Tim Fass 是一名来自德国的机电一体化(Mechatronics)专业本科生,2011年首次参加 MetaTrader 举办的自动交易锦标赛(Automated Trading Championship,简称 ATC 2011)。他与同样参与开发的兄弟 Golomolo 此前已用 MQL4 写过实盘 EA 管理自有资金投入外汇市场约四个月。为锦标赛,两人分头改写策略以追求更高收益与风险暴露,Tim 的参赛作品命名为 The_Wild_13。该名字源于这是第13次修改后才通过锦标赛自动化测试验收的版本,灵感来自他喜欢的儿童故事 Jim Knopf,并无深层交易含义。

The_Wild_13 在 ATC 2011 初期冲上排行榜前列,权益曲线呈现缓慢上行后回落的形态,长期停留在前十附近。Tim 强调,该 EA 在实盘使用的原型同样展现平滑向上的特征,其核心信仰是:工程师视角下,最简单的解法往往最好,不需要复杂模型也能稳定获利。

✦ 新手启示
首次参赛即名列前茅,说明系统性执行简单逻辑、重视风险控制,比堆砌指标更重要。

The_Wild_13 的策略原理与周期选择

Tim 透露,EA 采用基于 ZigZag 指标的突破系统(breakout system),在当前价格周围挂出 pending orders(挂单)以捕捉既有趋势。它仅使用 15 分钟周期(M15)进行计算,不加载其他技术指标,输入变量极为精简。由于依赖明确趋势,EA 在趋势清晰时表现最佳;而在震荡(flat)行情中,ZigZag 生成的高低点彼此靠近,会产生大量错误信号,这是亏损交易的主要来源。

为抑制震荡干扰,Tim 做了多数过滤但自承未能找到满意的横盘识别方案。订单注释中的 '321' 仅是随机选取用于标识 EA 自身订单、防止误处理的标记,与流行的 123 形态系统无关。不同方向的订单数量与手数存在差异,因为上升与下降趋势采用了略有不同的子策略,而非统一逻辑。

大止损与稳定参数优化的权衡

The_Wild_13 的平滑权益来自一个刻意设计:使用较大的止损位(large stop loss)下挂单,使得亏损交易稀少但单次冲击强,关键在于尽可能降低亏损频率。Tim 在优化时偏好 profit factor(盈利因子)至少达到 3 的稳健参数组合,而非极致高收益但脆弱的拟合。他认为,不混乱的曲线更易于判断 EA 是否有效、何时需重新优化。

在锦标赛中他一周内遭遇三笔亏损,自认运气不佳。这也反映出简单突破系统对趋势环境的依赖:一旦连续震荡或趋势反转,大止损会被触及。对中文交易者的借鉴是,评估 EA 不能只看曲线美观,要明白其最大回撤触发机制与行情适配边界。

⚠ 常见坑
只因盈利因子高就实盘,忽略 flat 行情过滤不足,会在横盘期集中止损。上线前需用多品种多周期验证震荡表现。

MQL4 与 MQL5 的开发体验对比

Tim 约一年前从 MQL4 起步,三个月前接触 MQL5。他指出 MQL5 语法更复杂,许多 MQL4 中单行命令能完成的事,在 MQL5 需定义类(class)等面向对象结构。但 MQL5 在复杂逻辑上具备优势。他的总结是:MQL4 这类线性语言适合“瀑布式”简单顺序的 EA,而 MQL5 面向对象特性适合更高复杂度项目。两者各有强弱,近期他仍用更熟悉的 MQL4。

从工程角度看,若策略本质是“指标触发→挂单→止损止盈”的线性流,MQL4 足够且开发快;若需管理多品种组合、复杂状态机、自定义对象,则 MQL5 更顺手。中文初学者常纠结选哪个,其实应先把策略逻辑写清楚,再按复杂度选语言。

// 示意:MQL5 中基于 ZigZag 获取最近拐点的简化片段
#include <Indicators\Trend.mqh>
CiZigZag zig;
zig.Create(_Symbol, PERIOD_M15, 0, 5, 0);
double lastHigh = zig.GetHigh(1);
double lastLow = zig.GetLow(1);
// 在 lastHigh 上方挂突破买单,lastLow 下方挂突破卖单

自动化交易与手动交易的取舍

Tim 用模拟账户试过手动交易,结论是自己情绪化且无法 24 小时盯盘,并不适合。他认为程序只做理性决策,不会因恐惧或贪婪偏离策略,这是自动化最大优势。一旦有成熟 EA,日常仅需定期优化,不必持续看盘。他也承认部分人具备手动能力,但他不属于此类。

对于“自动化还是手动更好”,他的态度是视目标而定:锦标赛要排名需用更激进 EA,实盘资金保全则需更平稳 EA,环境决定选择。这提醒中文用户,同一套代码不应无脑既跑竞赛又跑本金,风险画像要分离。

✦ 实盘建议
竞赛 EA 与养家 EA 应分开管理。竞赛追求高回报排名,实盘追求低回撤,参数与手数需差异化。

简单 EA 是否足够赚钱与作者野望

Tim 的 EA 已在实盘为他赚钱,但他清醒表示不会投入超过亏损承受力的资金,也明白外汇仍有风险。偶尔测算月化 20% 的“暴富梦”只是日梦,真实规划是当作附加收入而非唯一来源。他笑谈最疯狂梦想是住城堡、建科技藏窖,并开一家不被利润单一驱动的生物与机电研究公司。

这折射出健康交易观:用简单策略挣认知内的钱,不押命。对中文社区尤其中小资金者,先求生存再求扩张,比追逐圣杯更实际。

从访谈看中文交易者的可落地动作

第一,策略上可用单指标突破+宽止损验证趋势跟随,但必须补震荡过滤器(如 ATR 阈值或波动率截断)。第二,开发上若逻辑线性,MQL4 快速验证;想用 MQL5 面向对象可参考官方文档 https://www.mql5.com/zh/articles/546 延伸资料。第三,实盘与展示账户隔离。第四,优化以 profit factor 与回撤为锚,而非仅看净利润。第五,接受运气成分,ATC 选手亦称无完美程序。

Tim 的兄弟用指标型、他用数学分析型,同源不同径,说明家庭协作中分工试错能提速。中文用户可组建小团队,一人挖逻辑一人写代码,用版本号管理 EA(如 v13 才过测),降低单点失误。

常见问题

他的 The_Wild_13 仅用 15 分钟周期和 ZigZag 指标,做基于突破的挂单趋势跟随,不加载其他指标,靠大止损换小频率亏损来实现平滑权益曲线。
对线性瀑布式逻辑,MQL4 更简单,单行命令即可;MQL5 需定义类,偏复杂,但适合多状态复杂项目。Tim 建议按策略复杂度选语言,他近期仍用熟悉的 MQL4。
ZigZag 在 flat 中高低点靠近,产生大量错误突破信号,EA 缺乏满意的横盘识别,导致挂单被扫损,这是其主要亏损来源,需额外波动率过滤。
只是 Tim 随机选的数字,用来标记 EA 自身订单防止误操作,和 123 形态系统完全没有关系。