新手刚接触 EA,找了几个所谓"年化 200%"的 EA,模拟历史数据回测确实赚得飞起,挂实盘亏得惨。是 broker 不给好执行还是 EA 本身就是历史曲线拟合?想问下做 EA 的兄弟们:①回测什么数据集才能信 ②挂实盘前要做哪些检测 ③有没有什么明显的"垃圾 EA"信号一眼能识别。
3 个铁律识别垃圾 EA:
第一看回测周期。如果只展示最近 3 年的数据 + 回测曲线特别滑,9 成是过拟合。要看 2008 雷曼、2020 疫情这种黑天鹅时段表现。挑一段历史数据上最大回撤超过 30% 的,回测里直接平掉了说明 EA 没扛过这种波动—参数已经被反推过了。
第二看 EA 的下单逻辑。如果是"突破挂单 + 反向加仓"这种网格马丁,回测一定漂亮但实盘见鬼。我 EA 经历里栽过 3 次马丁的跟头,最猛一次 8 层加仓爆了 8000 美金。能不能接受单边走势把账户打穿是判断标准。
第三跟卖家要"实盘账户号"——MyFXBook 这种第三方公开账户监控(有 API 自动同步成交记录的),看连续 12 个月以上的曲线。光给你截图 PDF 全部不可信。
我自己跑 EA 的 SOP:demo 跑 1 个月;小账户 100-200 美金跑 3 个月观察;稳定后才切自有大账户。从来没急着上实盘,每一步都看 sharpe ratio 和最大回撤。
我硬件背景的,看 EA 跟看电路一样,先看输入输出和稳定性。
回测和实盘的差异主要来自这几方面:
历史数据质量。MT4 内置的 1 分钟数据是 close-to-close 的,没有 tick 级别数据,回测时所有分钟内行情都被简化成 OHLC。实盘下单时一笔 tick 错过你回测看不到。要用 Dukascopy 那种 tick 历史数据回测才接近实盘。
滑点模拟。MT4 默认回测滑点 = 0,实盘黄金数据点附近 5-10 个点滑点是常态。回测一改成"每笔加 3 点滑点"很多 EA 立刻从盈利变亏损。这就是过拟合。
流动性差异。回测用的是历史成交价,实盘是你的经纪商当时实际报价。一线券商和离岸券商点差差 1 倍很正常,EA 在 IC Markets 跑得动到了离岸户直接亏穿。
服务器延迟。回测假设瞬间成交,实盘下单到成交有 50-200ms 延迟。剥头皮 EA 每次只赚 5 个点的,光延迟就吃掉一半利润。
挑 EA 怎么做:让卖家在你指定的经纪商账户跑 3 个月 demo(指定不是他自己的账户—因为他可能挑跑得好的展示给你);研究 EA 在不同行情下的表现(横盘 / 单边趋势 / 高波动数据日 / 节假日低成交量 这 4 种行情下分别盈亏,如果只展示横盘数据,单边趋势一来必爆);看 EA 的代码(MQL4/5 源码),如果卖家不给源码只给 ex4 编译文件,10 个 9 个有问题。源码里看:止损是不是硬编码 / 加仓逻辑 / 风控规则。
最后建议:新手前半年不要碰 EA,先理解行情逻辑。EA 不是省时间是放大判断—好的逻辑放大成好结果,差的逻辑放大成爆仓。
垃圾 EA 共同特征:只展示账户曲线没下单详情;交易频次特别高(一天 50+ 单大概率剥头皮 EA 抗不住滑点);参数能调整—参数越多越大概率过拟合。