ATC冠军李芳斐波那契EA实战揭秘
从量子物理到外汇自动化交易的跨界策略复盘
专访背景与交易员画像
2011年自动化交易锦标赛(ATC 2011)进行到第七周时,参赛代号 lf8749 的 Expert Advisor 以10笔交易盈利超过10万美元创下纪录,其开发者李芳因此连续两周稳居排行榜首位。李芳并非金融科班出身,本科主修环境工程,但长期自学理论物理尤其是量子力学。他2007年受外汇经纪商广告(客户11天将5万人民币翻至150万)吸引进入外汇市场,首月从500美元做到3500美元后尽数回吐,由此切身体会到保证金交易的巨大风险。这一经历决定了他后续策略重视风险与趋势而非短线猜测。
李芳认为量子力学原理不能直接用于交易所,但可借鉴其研究方法。量子力学中单粒子运动无确定规律,但粒子群运动存在统计规律,这让他意识到研究外汇瞬时波动意义不大,应关注市场整体运动方向,价格最终服从某种黄金法则。这种从微观不确定性到宏观规律性的视角,成为他构建EA的哲学基础。
EA核心逻辑:斐波那契信号规则
李芳的EA以斐波那契规则判定交易信号、止盈与止损。具体信号定义为:当市场价格回归(回踩)到斐波那契水平位时,视为卖出时机;当价格突破斐波那契水平位时,视为买入时机。该逻辑本质是在趋势市场中顺势突破加仓、回调止盈的反转/突破混合模型。他原本计划用神经网络识别最优高低点,但因时间不足改用局部高低点(local High/Low)确定斐波那契区间。
在ATC 2010中,李芳因编程错误成绩不佳;2011年赛前他修正了代码,并将构思多年的斐波那契想法落地为更优实现。他认为运气也重要,但策略骨架来自长期思考。EA仅含3个参数:止盈(Take Profit)、止损(Stop Loss)以及用于判定局部高低点的窗口参数。止盈止损并非直接由斐波那契算出,而是用2011年1至8月历史数据优化得到,但最优结果与斐波那契规则存在一定相关性。
- 回踩斐波那契位 -> 卖出信号
- 突破斐波那契位 -> 买入信号
- 局部高低点切分波段,再映射斐波那契比率
- TP/SL经历史优化,不与斐波那契直接绑定
参数优化与MetaTrader 5策略测试器
李芳使用 MetaTrader 5 内置 Strategy Tester 对EA参数进行历史优化,样本区间为2011年1月至8月。他未用过其他优化工具,因此难以横向对比,但指出 MT5 测试器唯一明显缺点是运行速度慢,其余功能良好。在 MQL5 开发中,这种基于历史片段的静态优化容易过拟合,李芳也承认强势趋势中EA效率最高,横盘弱点明显。
对于资金管理的回答是:他不擅长此领域,采用固定百分比保证金下单(fixed percentage margin),即每笔风险占账户固定比例。这种方法在ATC这种以绝对收益排名的赛事中尚可,但实盘需结合最大回撤限制。多货币EA方面,他认为当市场仅美元与非美分化时,多货币未必好;其他时候多货币可较低风险运行,且仓位容量大于单货币EA,对ATC最终排名很重要。
// 简化示例:基于局部高低点计算斐波那契突破信号
input double TakeProfit = 500; // 点
input double StopLoss = 300; // 点
input int ZigZagDepth = 12; // 局部高低点参数
int OnInit() { return INIT_SUCCEEDED; }
void OnTick() {
double hi = iHigh(Symbol(), PERIOD_H1, iHighest(Symbol(), PERIOD_H1, MODE_HIGH, ZigZagDepth, 0));
double lo = iLow(Symbol(), PERIOD_H1, iLowest(Symbol(), PERIOD_H1, MODE_LOW, ZigZagDepth, 0));
double fib = lo + (hi - lo) * 0.618;
double bid = SymbolInfoDouble(Symbol(), SYMBOL_BID);
if(bid > fib && PositionsTotal() == 0) {
// 突破斐波那契位买入
trade.Buy(0.1, Symbol(), bid, bid - StopLoss*_Point, bid + TakeProfit*_Point);
}
}
策略弱点与适用行情
李芳坦诚EA最有效率的市场是强趋势。弱点在于:当价格靠近斐波那契位反复穿越、且整体缓慢向上时,局部高低点计算不够准确,会产生无效信号。此外,止盈止损虽经优化,但是历史相关的,遇到大幅无序波动保护不足。他计划改进以规避明显单边上行市中的不稳定性。对比 y999 与 Tim 等参赛者策略,李芳认为自己与Tim思路接近,赛后重新审视该类策略。
- 强趋势:效率高,突破信号盈多
- 震荡上行:高低点漂移,信号噪音大
- 急速反转:固定百分比仓位易放大回撤
- 多货币环境:容量优但相关性风险隐现
从访谈看EA实盘落地步骤
若将李芳思路移植到中文交易者自己的实盘,建议按以下顺序:第一,用MT5选定周期(如H1)标定局部高低点,写出斐波那契水平计算函数;第二,明确回踩卖、突破买两条分支,并用历史数据验证信号频率;第三,将TP/SL设为外部参数,用Strategy Tester对1-8月样本做优化,但保留样本外9月后做验证;第四,资金管理从固定百分比起步,逐步加入单日最大亏损熔断;第五,仅在大周期趋势明确时放大手数。
与其他方案的对比
相较于纯网格或马丁EA,李芳的斐波那契突破法依赖趋势存在,不靠仓位摊平,风险结构更透明。相较于神经网络自适应EA,他用局部高低点替代NN,开发成本低但拐点识别粗糙。相较于多货币对冲EA,单货币斐波那契在美元单边行情中更聚焦。交易者应根据自身编程能力与行情判断选择:有MQL5基础、想快速复盘的,可先从该访谈简化版代码起步。
值得注意的是,原文由俄文译入,部分语法虽不畅但技术要点清晰:斐波那契不是神秘指标,而是把‘人群方向’量化为价位锚点。李芳用物理群论思维弱化单根K线,强化区段边界,这对克服过度交易有现实意义。中文社区常把斐波那契神化,本文反例说明它只是优化后的边界参考。
赛事价值与后续启发
李芳表示锦标赛除验证策略外,最大收获是观摩他人代码思路,如 y999 与 Tim。ATC作为公开赛,暴露了各种EA在相同行情下的强弱,比闭门回测更有参考价值。他预测 TIM 会进前三,自己也有机率。若获胜,部分奖金将继续投入实盘运行自有EA。对于普通中文用户,ATC访谈系列(如本篇及2012年多位选手访谈)是少有的‘失败与修正’公开记录,比售卖方回测更具学习价值。
总结而言,李芳ATC 2011的斐波那契EA展示了一条低参数、规则透明、趋势依赖的自动化路径。其成功不在指标玄学,而在明确边界、历史优化与弱点自知。交易者若能在MT5中复现并加入样本外检验与动态仓位,便可将跨界物理思维转化为可执行的稳健策略。