ATC冠军访谈:趋势EA实战心法
从Bulls指标到资金管理的真实教训
选手背景与交易经历
Tomasz Tauzowski(论坛ID: ttauzo)是2010年自动交易锦标赛(ATC 2010)的长期前十选手。他在华沙经济学院主修金融与银行(资本市场方向),本职工作是一家咨询公司的商业智能顾问,负责数据仓库与报表系统。编程一直是他的个人爱好,因此他将金融理论基础与IT数据处理能力结合,开发外汇EA。约5年前受MetaTrader平台鼓励进入外汇市场,因手动时间不足而使用MT4脚本功能,2005年写出第一个EA。2006年起每届ATC都参加,实盘迷你账户曾从400%盈利几乎归零,此后专注竞赛并仍在股市交易。
他的经历说明,学术背景与编程爱好的结合是量化交易者的典型路径。但实盘与竞赛差异巨大:实盘因激进 scalp 策略与大额回撤失败,而竞赛EA强调稳定。这提醒中文交易者,不要盲目把竞赛参数用于实盘,必须理解资金曲线背后的假设。
EA核心原理:Bulls Power趋势捕捉
Tomasz的2010年EA基于Bulls Power(牛力指标)构建。该指标由Alexander Elder提出,反映买方力量突破前期高低的强度。EA分析指标的趋势及其幅度(magnitude),当显著趋势变化出现时开立对应头寸。他修改了市场格言,从“趋势是你的朋友”变为“新趋势可能是你的新朋友”,假设趋势反转后的首次方向即使有小修正,多数情况仍值得跟随。
具体规则:固定止损(SL)与止盈(TP),TP设为SL的两倍。因此只需33%胜率即可盈利。实际胜率超47%,但每笔盈利单需跑满80点,这是关键差异。EA同时只允许一个开放仓位,但因信号频繁,几乎全程在场。代码因一晚间从MT4迁至MT5而混乱,他利用注册截止延期才完成转换。
止损止盈与仓位管理优化
SL与TP水平通过历史优化求得最高余额与合理回撤。EURUSD的短期突破与崩跌常接近80点,有时伴随40点修正,这构成他的假设(未严格验证)。TP=2×SL用于纪律化EA,避免大回撤暴露策略弱点。比赛中许多仓位差2-5点触及盈利后反转,若有平仓系统可锁定利润,但他未实现。
更严重的是资金管理的缺失:因迁移时间紧,未写 proper money management 模块。对手forez同信号开双倍仓位,他自嘲“只能祈祷对手亏钱”才能靠小仓位胜出。这直接限制其夺冠概率至0.5%,最多拼第三。教训是:EA必须内置风控与仓位算法,不能依赖运气。
为何只做EURUSD与多币种设想
策略在EURUSD流动性高时表现好,他无法优化到其他货币对。MT4不支持多币种回测也限制验证。计划迁移MT5后利用货币相关性:某些货币对可能更早起信号,以确认EURUSD信号显著性。但他也承认外汇接近有效市场,相关性套利可能无效,仍愿尝试。
对中文交易者的启示:单币种策略易过拟合,应利用MT5多币种测试功能做相关性过滤,但需警惕数据挖掘偏见。实盘前应在多品种样本外检验。
连赢连亏现象与Z分数困惑
他的EA的Z-score很高,呈现赢后赢、亏后亏的依赖。他猜测受MT4重报价(requotes)污染:部分仓位未开,若开则Z值不同。若简单在亏后跳过1信号,理论可行但实践不易,否则即成圣杯。他准备赛后研究并在ATC 2011应用。
这说明测序相关性不一定能直接转化为过滤规则,需区分真实序列依赖与执行摩擦。中文开发者可用MT5的成交历史与延迟日志分离分析。
MQL5标准库与跨平台迁移
因仅一晚从MT4转MT5,他把信号引擎塞入使用标准库的模板。MQL5提供预定义库处理通用操作(如交易类CTrade),大幅降低迁移成本。他肯定官方库价值,但也导致代码杂乱。对于中文用户,熟练使用MQL5标准库能加快开发,但应注意结构清晰以免后期难维护。
// 示例:MQL5中使用CTrade开仓(基于标准库)
#include <Trade/Trade.mqh>
CTrade trade;
void OnTick()
{
if(PositionSelect(_Symbol)) return;
double sl = SymbolInfoInteger(_Symbol,SYMBOL_TRADE_TICK_SIZE)*800; // 示例80点
double tp = sl*2;
trade.Buy(0.1,_Symbol,SymbolBid(),_SymbolBid()-sl,_SymbolBid()+tp);
}
竞赛规则与对手观察
他评论白俄罗斯选手因同EA多版本被取消资格,认为规则意在防止“活优化”,但理解 jury 难决。此事让他递补进前三。他欣赏avoitenko、bighope曲线,forez为最大对手(同信号双倍仓),kgo曾近100%胜率后崩盘。领导者需敬服。这反映竞赛生态:稳定性>暴利,规则合规是底线。
中文交易者参与类似竞赛,应读透规则,避免多账号同策略;同时监控对手公开曲线以校准自身风险。实盘则无需对标竞赛排名,重在夏普与回撤。
实战建议与总结
从访谈提炼可落地步骤:1)用Bulls Power等动能指标识别突破幅度,而非仅方向;2)固定RR(如1:2)降低胜率门槛;3)MT5标准库加速开发但需重构;4)必须写资金管理模块,勿让仓位成短板;5)单币种先验证,再试多币相关性;6)Z-score异常先查执行摩擦。Tomasz用真实亏损与排名教我们:EA是工程,不是祈祷。
- 定义清晰的指标假设与参数边界
- 用样本外数据检验80点假设
- 迁移MT5后补足MM与多币种测试
- 记录重报价以分离序列依赖假象