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

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

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

技术分析基础 难度 · 入门 2026-01-08 7 分钟阅读
#ATC2011#MQL5#EA设计#ZigZag突破

谁是 Tim Fass 与 The_Wild_13

Tim Fass 是一名来自德国的机电一体化专业本科生,2011年首次参加 MetaTrader 举办的自动化交易锦标赛(ATC 2011)。他的兄弟 Golomolo 同样参与开发,两人此前已用 MQL4 编写过管理自有资金的 EA。锦标赛中,Tim 的独立作品 The_Wild_13 一度登上排行榜首位并稳居前十。这个名字来源于他在截止前提交的第13版程序,并借用了童年读物《Jim Knopf》的意象,并无深层交易含义。

The_Wild_13 最引人注目的是其平缓而稳定的权益曲线上升,以及偶尔出现的大额但极少数的亏损交易。Tim 强调,他刻意追求“不混乱”的程序行为,以便于判断策略有效性并决定是否需要重新优化,这种工程化的简洁思维贯穿了他的整个开发过程。

✦ 普通交易者启示
新手不必迷信复杂模型,从简单、可解释、易监控的 EA 起步,反而更容易在实盘中存活与迭代。

兄弟协作与策略分工模式

Tim 与兄弟的背景互补:Tim 偏重数学与分析型策略,兄弟偏好基于指标的策略。两人各自独立寻找交易逻辑并用 spare time 实现,遇到好文章、函数或问题才互相交流。自有资金投放时,他们选用两人中表现更优的程序共同投资;但锦标赛为追求更高收益与排名,分头开发了风险更大的独立版本。

这种“家庭作坊”式分工降低了单人认知负荷,也避免了规则冲突。ATC 允许亲属使用不同程序参赛,只要非同一 EA 即可。对于中文交易者,若身边有编程或金融背景的伙伴,类似轻量协作能显著提升研发效率。

The_Wild_13 的核心工作原理

该 EA 仅使用 15 分钟周期与 ZigZag 指标,不含其他技术指标。其本质是突破系统:在 ZigZag 识别的近期高低点附近挂出 pending orders,捕捉既成趋势。由于只依赖现有趋势,在方向明确的行情中表现最佳;而在震荡(flat)市中,ZigZag 高低点压缩,会产生大量错误信号,成为亏损主因。Tim 已过滤大部分但仍未找到满意的横盘识别方案。

为获得小而可靠的利润,EA 采用较大止损,使得亏损交易次数极少但单笔亏损额较大。优化时他要求 profit factor 至少大于 3,并偏好参数组合的稳定性而非极致收益。订单注释中的“321”仅为随机标识,用于区分 EA 自身订单、防止误操作,与“123”形态系统无关。

⚠ 横盘风险
仅用 ZigZag 的突破 EA 在 flat 行情中极易连续误触发,实盘前务必加入波动率或振幅过滤,否则可能遭遇访谈中提及的“一周三亏”。

实盘资金 EA 与竞赛 EA 的差异

Tim 兄弟原有 MQL4 EA 管理自有资金四个月,表现平稳;为 ATC 则必须提高利润并承担更大风险,因此分头改写。竞赛版本追求排名,允许深回撤;实盘版本强调稳定。他指出,要赢比赛需更激进的 EA,而要护住本金则需更保守的 EA,这是环境而非个性决定。

这对中文用户的警示是:不要直接把锦标赛高分 EA 用于实盘,其风险敞口可能远超个人承受力。应先在 demo 与小资金验证,再按自身风险偏好降杠杆或改参数。

MQL4 与 MQL5 的开发取舍

Tim 一年前学 MQL4,三个月前接触 MQL5。他认为 MQL4 的线性风格适合“简单瀑布式”逻辑,很多优秀 EA 正是此类;MQL5 虽需为许多功能定义类,但面向对象特性在复杂项目里更有优势。短期内他仍用 MQL4,因更熟悉。对于中文交易者,若策略不复杂,MQL4/MT4 生态成熟、例程多;若需多线程、复杂结构再迁 MQL5。

值得注意的是,ATC 2011 已基于 MT5,他用 MQL5 提交了 The_Wild_13,说明即使偏好 MQL4,竞赛环境也迫使掌握新语言。以下是 MQL5 中简化版的 ZigZag 突破挂单片段示例(逻辑示意,非完整 EA):

//+------------------------------------------------------------------+
//| 示意:基于ZigZag的突破挂单                                      |
//+------------------------------------------------------------------+
#include <Indicators\IndicatorIchimoku.mqh>
int zigzagHandle = iCustom(_Symbol, PERIOD_M15, "Samples\ZigZag");

double lastHigh = 0, lastLow = 0;
// 假设通过 CopyBuffer 获取zigzag极值后:
if(lastHigh > 0) BuyStopSet(lastHigh + Point()*10, 0.1);
if(lastLow > 0)  SellStopSet(lastLow - Point()*10, 0.1);
// 大止损示例
void BuyStopSet(double price, double lot){
   CTrade trade; trade.BuyStop(lot, price, _Symbol, price - 500*Point(), 0, ORDER_TIME_GTC);
}
//+------------------------------------------------------------------+

简单策略是否足够盈利

Tim 以工程师信条“最简方案往往最好”只用了 EURUSD 与单一指标。他后续尝试遗传算法,但认为简单 EA 可能媲美向量机。其自有资金 EA 月收益模拟可达20%,但他清醒地只投能亏得起的钱,不依赖暴富。这反映出简单策略在明确趋势品种上具备生命力,前提是严格风控与持续优化。

中文交易者常陷入“指标越多越准”的误区。该访谈证明,精简输入、明确假设、可控回撤,比堆砌过滤器更易落地与维护。当然,简单不等于无脑,横盘过滤与止损尺度仍是生死线。

✦ 品种选择
EURUSD 在15分钟趋势段流动性好、点差低,适合初学者用单指标突破系统练手。

自动交易与手动交易的观点

Tim 用模拟账户试过手动交易,因情绪化且无法24小时盯盘而失败。他认为程序只做理性决策,不被恐惧贪婪带偏,一旦写好便省时。当然,他承认有人适合手动,而他不是。对中文用户,若工作繁忙或易冲动,自动化是更优解,但需投入时间写代码与定期优化。

他也提到 EA 并非总按预期运行,因 MQL5 排错时间不足。这提醒我们:上线前充分回测与日志审查不可省,尤其 pending order 成交与止损执行逻辑。

给中文交易者的落地建议

从 The_Wild_13 案例可提炼出五步法:一、选单一品种与单周期;二、用 ZigZag 等结构指标定义趋势边界;三、挂突破单并设宽止损控频;四、优化时重 profit factor 与稳定性;五、横盘过滤未完美前用小资金。如此可在 MT4/MT5 上快速验证想法。

最后,Tim 的“城堡与科技避难所”梦想虽远,但其风控底线(只投闲钱)值得每位交易者抄写于终端旁。市场从不缺明星 EA,缺的是活下来的普通人。

常见问题

他的 The_Wild_13 仅使用 15 分钟周期和 ZigZag 指标,不加载其他技术指标,基于 ZigZag 识别的高低点附近挂突破单。
横盘时 ZigZag 高低点相互靠近,产生大量假突破信号,导致错误挂单成交。Tim 也承认未找到满意的横盘识别方案,实盘需自行加波动率过滤。
若策略是线性瀑布式、不复杂,MQL4 更快上手、例程多;若需复杂面向对象结构再用 MQL5。Tim 短期因熟悉度仍选 MQL4,但竞赛环境逼他用 MQL5。
不建议。竞赛 EA 为排名放大风险与回撤,实盘 EA 才重稳定。应先 demo 与小资金验证,按承受力降杠杆改参数。
仅是 Tim 随机选的标识数字,用来区分 EA 自身订单、防止误操作,与“123”价格形态系统无关。