有的能,大多数不能,而能赚钱的那些往往也只是小赚。我们把 AIStrategyMiner Strategy Builder 模板库里 53 个经过实测的智能交易系统设计放进同一套 MT5 测试。11 个的盈利因子达到或高于 1.00,42 个低于 1.00,中位数是 0.92。 只有 1 个设计达到了 Strategy Builder 判定合格所用的门槛。盈利能力属于某一条规则、在某个市场、某段时间里、扣除成本之后的结果。它不是“EA”这类东西自带的属性。

但这取决于:
- 规则,而不是标签。 53 个设计中有 29 个落在 0.90 到 0.99 之间。它们会交易,几乎打平,然后慢慢亏损。
- 你衡量的窗口。 整组最好的设计在测试年份里得到 1.23。在另一次 H1 复测中,同样的默认设置在 2018–21 年只有 0.99。
- 设置是怎么选出来的。 8 次有记录的参数搜索把样本内盈利因子推到最高 1.37,但没有一次找到能在未参与拟合的窗口上站得住的设置。
- 为这个结果承担的风险。 整组里最大的净盈利 +304.23 来自一个网格篮子,而它为此经历了 -7.92% 的回撤。
- 回测与实盘。 这里每一个数字都是策略测试器的运行结果,没有一个来自真实账户。
以上每一点都会在下文用我们自己的数据来检验。
数据说明了什么:53 个 EA 设计,同一套 MT5 测试
Strategy Builder 附带 87 个入门模板,其中 53 个带有实测回测。这 53 个全部只跑了一次,品种、周期、时间段、模型和入金完全相同。这一点比听上去更重要。大多数公开的 EA 对比混杂了不同的经纪商、时间段和账户规模,所以它们之间的差异大多只是测试之间的差异。在这里,唯一的变量是规则本身。我们如何运行和标注这些测试,写在我们的测试方法里。
| 默认设置下的盈利因子 | 设计数 |
|---|---|
| 低于 0.80 | 6 |
| 0.80 到 0.89 | 7 |
| 0.90 到 0.99 | 29 |
| 1.00 到 1.09 | 9 |
| 1.10 到 1.19 | 1 |
| 1.20 及以上 | 1 |
| 测试条件 | |
|---|---|
| 实验编号 | EXP-TEMPLATE-PROFITABILITY-001 |
| 上级实验 | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| MT5 版本 | 模板清单中未记录 |
| 环境 | MetaTrader 5 策略测试器,Exness MT5,2026-06-18 测得 |
| 品种 / 时间周期 | USDJPYm M5 |
| 期间 | 2025-06-01 – 2026-06-09 |
| 模型 | M1 OHLC(Model=1) |
| 入金 | 10,000 |
| 最近验证 | 2026-09-27 |
这个分布的形状就是第一个发现。亏钱的 EA 通常并不惊天动地。53 个里有 29 个落在 0.90 到 0.99 之间,而 53 个设计的回撤中位数只有 -1.33%。一条没有优势的规则不会爆仓;它在每笔交易上付出一点点,然后缓缓下滑。这就是为什么一个亏钱的 EA 可以跑上好几个月,才有人认定它在亏钱。
表格的顶端很短,值得仔细读:
| 设计 | 模块数 | 交易数 | 盈利因子 | 最大回撤 | 10,000 上的净结果 |
|---|---|---|---|---|---|
pending_breakout | 9 | 164 | 1.23 | -0.21% | +38.47 |
ma_distance_pullback | 6 | 159 | 1.10 | -0.26% | +25.55 |
mtf_sar_bb_break | 21 | 20 | 1.08 | -0.10% | +3.27 |
basket_avg_tp_grid | 7 | 8,765 | 1.03 | -7.92% | +304.23 |
dualpair_rsi_basket | 13 | 12,953 | 0.87 | -36.38% | -3,433.95 |
最好的设计一年在 10,000 上赚了 +38.47,不到 0.4%。第三名只建立在 20 笔交易上,那是传闻而不是结果。网格篮子赚得最多,却需要一段比它的利润还大的回撤才能做到。最差的设计在同样的测试里亏掉了账户的三分之一。“盈利”一词涵盖了前四行,而它们根本不是同一类结果。

在这张表有任何意义之前,有两条限制压在它上面。这是一个品种、一个周期、一年——足以说明一个设计在默认设置下还没完成,却不足以给策略做一般性排名。而且 M1 OHLC 模型会对每根 K 线内部的路径插值,所以绝对数值带着通常的成交价格保留意见(建模质量解释了原因)。
对比:赚钱的 EA 设计与其他设计差在哪里
如果盈利很少见,那么有用的问题就是:赚钱的那些有什么共同点。我们按人们通常归功的几个特征,把同样的 53 条记录重新分组。
| 分组 | 设计数 | 盈利因子中位数 | 达到或高于 1.00 | 回撤中位数 |
|---|---|---|---|---|
| 单一策略,4–8 个模块 | 14 | 0.945 | 4 | -1.025% |
| 单一策略,9–12 个模块 | 18 | 0.93 | 3 | -1.165% |
| 单一策略,13 个及以上模块 | 12 | 0.94 | 4 | -1.035% |
| 多条规则组成的组合 | 9 | 0.91 | 0 | -3.51% |
| 回撤超过 5% 的任何设计 | 8 | — | 1 | — |
复杂并没有帮上忙。 三个规模分组之间的差距在 0.015 以内,而整组最好的设计用了九个模块。给规则加过滤条件,改变的是它接哪些单。就这份证据而言,它并不改变这条规则有没有优势。
把规则合在一起反而更差。 全部九个组合模板都落在 0.89 到 0.95 之间,没有一个达到或高于 1.00。它们的回撤中位数为 -3.51%,单一规则为 -1.065%。几条读取同一价格的规则往往意见一致,也一起亏钱。分散化能把正期望摊开,却不能凭空创造正期望。
仓位与杠杆放大的是结果,而不是优势。 有八个设计的回撤超过 5%。其中之一,也就是网格篮子,以 1.03 收在 1.00 之上。其余的包括整组最差的两个结果,都在 -36% 附近。网格交易或加杠杆的手数规则不会把弱信号变成强信号。它只会把每笔交易的小亏损变成大亏损,或者把亏损往后推。
“推荐”说的是连线方式。 模板库把 53 个实测设计中的 40 个标为推荐,而这 40 个里有 10 个达到或高于 1.00。这个标记说明该流程是其模式的一个干净示例,它从来不是关于盈利的说法。
在一个窗口里盈利,与在三个窗口里都盈利
最重要的对比不在设计之间,而在窗口之间,其中八个模板带有一次有记录的参数搜索,能直接说明这一点。每次搜索都在 H1 上调整止损和止盈,最多覆盖三个窗口——用来拟合的时段、它之后的保留窗口,以及一个更早的窗口——并记录它保留下来的数字。单元格为空,表示该记录没有这个数字。
| 设计 | 默认盈利因子 | 样本内最佳 | 保留窗口 | 更早窗口 | 结论 |
|---|---|---|---|---|---|
ichimoku | 1.03 | 1.37 | 0.89 | 0.80 | no_robust_edge |
ma_crossover(H1) | 0.95 | 1.23 | — | 0.98 | no_robust_edge |
cci_level | 0.95 | 1.07 | 1.05 | 0.92 | no_robust_edge |
adx_trend | 0.96 | 1.04 | 0.91 | 0.80 | no_robust_edge |
breakout | 1.05 | 1.04 | 0.79–0.89 | 0.64–0.84 | no_robust_edge |
rsi_reversal | 0.94 | 0.91 | — | — | no_robust_edge |
bb_bounce | 0.97 | 0.91 | — | — | no_robust_edge |
macd_signal | 0.93 | — | 1.14–1.15 | 0.74–0.77 | no_robust_edge |
样本内数字最大的那一个跌得最远:ichimoku 的 1.37 变成了 0.89 和 0.80。macd_signal 在保留窗口上达到 1.14–1.15,在更早窗口上只有 0.74–0.77。有两个设计即使在用来拟合的数据上也从未超过 1.0。这就是过拟合最普通、也最出于好意的形态:在一个窗口里拟合得最好的设置,正是吸收了那个窗口最多噪声的设置。
唯一拥有干净三窗口记录的设计,就是上表里最好的那一个。它的 1.23 来自 M5 测试。之后 pending_breakout 又在 USDJPY H1 上、以固定点差 20 单独复测了 2018–21、2022–24 和 2025–26 三个时段:
- 默认设置(SL 40 / TP 80 点),也就是在 M5 测试中得到 1.23 的那一个,在 H1 复测的 2018–21 年只有 0.99。
- 样本内最佳(SL 50 / TP 120)达到 1.31,在 2018–21 年跌到 0.98。
- 有两个设置在三个窗口里都保持在 1.00 以上:SL 30 / TP 120 为 1.12 / 1.16 / 1.14,SL 30 / TP 80 为 1.09 / 1.15 / 1.10。它们是比较平淡的那两个。记录注明这是 USDJPY 特有的结果:在 EURJPY 和 GBPJPY 上的交叉测试在样本内就是亏损的。
所以,在一次 53 个设计的测试里看起来最赚钱的 EA,在一次测试中越过了门槛,在更早的窗口上却停在 0.99。它稳健的版本赚得更少。这不是令人失望的结果;一个真实而微小的优势,被诚实检验时本来就是这个样子。

在相信一个盈利因子之前该看什么
有四项检查,能把一个有意义的数字和一个只是好看的数字区分开来。无论是你自己搭的 EA,还是别人拿给你看的 EA,都适用。
1. 比值背后的交易笔数。 建立在 20 笔交易上的盈利因子,只是带小数点的噪声。Strategy Builder 的 Measure 面板不会把少于 60 笔交易的结果判为合格,而一年 164 笔交易也仍然偏少。每一次都先看笔数,再看比值。
2. 一个设置从未见过的窗口。 要求看同一条规则在更早时段、或在拟合窗口之后的保留窗口上的结果。在我们的八次搜索里,没有任何设置在所有测试窗口上都保持在 1.00 以上,还有两个即使在拟合所用的数据上也从未超过 1.00。如果只有一个窗口,你看到的是一次拟合,而不是一项发现。前推分析就是这项检查的系统化版本。
3. 为净结果付出的回撤。 把最大回撤和净结果放在一起看。网格篮子的 +304.23 伴随着 -7.92% 的回撤,也就是说,账户曾经沉到的深度,比它最终盈利的幅度还大。这可以是一笔理性的交换,但它应该是你主动选择的。
4. 超出成本的余量。 盈利因子 1.03 意味着毛盈利比毛亏损大 3%。任何在亏损一侧增加约 3% 的东西——比测试器更宽的点差、佣金、关键入场上的滑点——都会把它抹平。高出 1.00 的余量越薄,结果就越依赖你的经纪商与测试条件一致。
实际运行一个 EA
日常运行大部分并不是干预,而是提前决定什么情况会让你停手,并确认 EA 的表现仍然与它的记录相符。
- 先在你自己的经纪商上重跑。 打开策略测试器(
Ctrl+R),选择 EA,用你的经纪商的历史数据,在你要交易的品种和周期上测试。某家经纪商 USDJPY M5 上的记录,对另一家的 EURUSD H1 什么也说明不了。 - 比较时要对齐模型。 上面的记录使用 M1 OHLC。改用
Every tick based on real ticks重跑会改变成交,所以“不一样”的结果可能只是另一次测试,而不是另一个 EA。 - 先模拟,再投钱。 在模拟账户上运行足够久,直到看见一段亏损期。你需要的数字不是收益率,而是当回撤走到你测过的最深处时,你是否还会让它继续跑。
- 看对标签页。 工具箱(Toolbox)的 Experts 标签页记录 EA 自己的日志行;Journal 标签页记录终端的执行记录。一个“不交易”的 EA,原因多半是某个开关,而不是策略。Algo Trading 必须在两个地方开启:工具栏按钮,以及
Tools > Options > Expert Advisors > Allow Algo Trading。 - Strategy Builder 生成的 EA 需要多一步设置。 在 Strategy Builder 中编译的
.ex5启动时会与https://aistrategyminer.com进行确认。请把这个地址加到Tools > Options > Expert Advisors > Allow WebRequest for listed URL下,否则 EA 会以aistrategyminer.com authorization failed - EA disabled停止。策略测试器会跳过这项确认。 - 拿记录来比,而不是拿零来比。 一个下跌 1% 的 EA,如果它的记录里有 5% 的回撤,那就是正常表现。一个交易频率是记录三倍、或者沉得比记录中任何时候都深的 EA,正在告诉你一件规则本身无法察觉的事。
风险与回撤的现实
有三条限制应该和这些数字放在一起。
过去的结果不会延续到未来。 盈利因子描述的是一段已经发生过的时间。pending_breakout 的记录就是这里最清楚的例子:同样的规则和设置,在 M5 测试中得到 1.23,在 H1 复测的更早窗口上是 0.99。
筛选决定了你看到什么。 一个只列出赚钱 EA 的页面,给你看的是通过了某道筛选的幸存者,而那道筛选恰恰是你看不到的部分。上面这 53 个设计没有按结果筛选,所以你能看到亏钱的那 42 个。向任何来源追问:为了找到它给你看的那些,它一共测试了多少个设计。
小优势仍然是优势——也仍然很小。 我们数据中最稳健的设置,盈利因子在 1.09 到 1.16 之间。这是真实的结果,也是单薄的结果,很容易被你没有建模的成本吃掉。任何结果都没有保证,亏损是本页每一条记录的组成部分。
下一步
接下来:
- 想看一个人和一套规则在亏损期里如何比较,请读 EA 与手动交易。
- 想把回撤换算成入金额和手数,请读 EA 风险管理。
- 从一个想法到编译好的
.ex5的完整路径,请看不用写代码做一个 MT5 EA。 - 在搜索任何设置之前,请先读 MT5 参数优化,那里详细讲解了上面的八次搜索。
- 如果 EA 来自别处,MT5 免费 EA 怎么用介绍了应该先做的检查。