移动平均线交叉机器人是一种自动化交易程序,它会监控两条移动平均线,并在它们交叉时开仓或平仓。本文介绍的版本由 Algo Trading Space 创始人 Petko Aleksandrov 开发,将 12 周期和 26 周期均线与 DeMarker 和随机指标确认、动量退出以及固定保护性订单相结合。
以下是其精确规则集、回测中一笔盈利和一笔亏损的交易、普通交叉策略往往失败的原因,以及如何在承担资金风险之前,在 MT4 或 MT5 上自行测试该 EA。
什么是移动平均线交叉机器人?
它是一种专家顾问(EA),当快速均线穿越慢速均线时,可以自动执行交易,无需任何人盯着图表。当快速线上穿滞后线时,程序将其视为买入信号;当快速线下穿滞后线时,则将其视为卖出信号或退出信号。

人们用多种名称称呼这些程序,包括移动平均线交易机器人、交叉机器人和 MA 交叉 EA。标签不如规则重要。
与手动交易相同信号的区别在于一致性。人类可能在连续三次亏损后犹豫不决,在凌晨两点跳过信号,或凭直觉移动止损;而自动化程序每次都应用相同的逻辑,因此实盘结果可以与回测进行公平比较。另一方面,它也会在规则从未针对其设计的条件下继续交易。Fidelity 将交叉方法描述为当较短均线穿过较长均线时进行交易,并指出较短的线被称为“快速”,因为它改变方向更快(Fidelity Viewpoints, June 2026)。
如需更广泛地了解交叉逻辑、常见周期对以及如何生成你自己的变体,请参阅我们的构建移动平均线交叉 EA 指南。本页专注于一个已完成的机器人及其特定过滤器。
为什么普通交叉策略不够用
移动平均线是根据过去的收盘价计算的,因此它们跟随价格而不是预测价格。因此,交易每次交叉的程序会在移动开始后入场,并在无后续走势的震荡行情中持续入场。

在一个回顾热门 MA 策略的视频中,Aleksandrov 在 EA Studio 的回测器中测试了其中几种:
- “在布伦特原油 H4 上交易接近 50 EMA”:该想法无法按描述进行编码,因为“接近”不是一个精确的规则。最接近的可测试版本——在前一根 K 线开盘低于上升的 50 周期 EMA 后,当前 K 线开盘高于该 EMA——产生了亏损的余额曲线。
- 该想法加上 $10 止损、$30 目标价和一根 K 线退出:在最近的 2-3 个月窗口内,它显示了 15 笔盈利交易,但在 2013 年至 2022 年 9 月 1 日期间的 852 笔交易中却亏损了。
- GBP/CHF 上的 20/50 交叉,永久在场内:每次交叉都反向操作,导致账户趋向追加保证金。
他的结论是,均线可以成为可行系统的一部分,但不应单独承担重任。将它们与其他技术指标和严格的退出条件配对,才是区分可测试 EA 与仅在精选示例中看起来有说服力的图表的关键。

策略设置概览
该机器人是在为原始研究构建和测试的 97 种交叉策略中表现最好的。其设置(如页面于 2023 年 1 月首次上线时发布的那样)总结如下。
| 组件 | 设置 |
| 策略类型 | 带指标确认的交叉 |
| 快速 MA | 12 |
| 慢速 MA | 26 |
| 做多触发器 | 12 上穿 26 |
| 做空触发器 | 12 下穿 26 |
| 第一过滤器 | DeMarker:周期 30,阈值 45 |
| 第二过滤器 | 随机指标:%K 14,主线与信号线 |
| 退出指标 | 动量:周期 49,水平 100.69 |
| 保护性订单 | 固定止损和止盈 |
| 平台 | 首次发布时为 MT4 |
一些细节从未公布:交易品种、时间框架、均线类型、确切的止损/止盈距离以及测试周期。请从 EA 的输入中读取每一项,并在得出结论之前,通过自己的回测进行确认。
做多入场规则
只有当三个条件在同一根 K 线上同时满足时,才会开多单:
- 12 周期 MA 上穿 26 周期 MA;
- DeMarker 低于其阈值;
- 随机指标 %K 高于 %D。
订单附带入场价下方的止损和上方的止盈。
做空入场规则
卖出镜像买入逻辑。12 下穿 26,DeMarker 高于其阈值,且 %K 低于 %D。止损位于入场价上方,止盈位于下方。
DeMarker 确认
DeMarker 通过比较近期的高点和低点来衡量买入或卖出压力是否过度。要求买入时 DeMarker 低于阈值,可以过滤掉那些在价格已经大幅上涨后才出现的交叉。
该页面的第一版将条件描述为“低于30级45级水平线”,这混淆了两个数字。30是指标周期,45是阈值。MetaTrader 在 0 到 1 的范围内绘制 DeMarker,因此阈值在输入中可能显示为 0.45;在复制之前请进行检查。
随机指标确认
对于买入,振荡器的 %K 必须位于其信号线(%D)之上;对于卖出,则位于其下方。这检查了短期动量是否与交叉方向一致。由于只给出了 %K 周期为 14,因此从 EA 中获取 %D 和减速值。
动量退出规则
如果未触及任何保护性订单,当 49 周期动量指标升至 100.69 以上时,买入平仓。MetaTrader 的动量指标将最新收盘价与设定数量的 K 线之前的收盘价进行比较,因此接近 100 的读数意味着价格在该区间内大致未变。未给出卖出侧的退出水平;根据对称性,它可能略低于 100,但请核实。
止损和止盈
每个头寸都带有预设的止损和止盈目标,随入场订单发送并保存在经纪商服务器上。它们限制了错误信号造成的损害。由于未公开原始距离,请根据自己的测试设置适合该工具的点数或点值。
基本交叉与此机器人
过滤器是将此 EA 与教科书式交叉区分开来的关键。
| 功能 | 基本交叉 | 此机器人 |
| 交叉时入场 | 是 | 是 |
| DeMarker 过滤器 | 否 | 是 |
| 随机指标确认 | 否 | 是 |
| 动量退出 | 否 | 是 |
| 止损 | 可选 | 内置 |
| 止盈 | 可选 | 包含 |
| 始终在场内 | 经常 | 否 |
每增加一个条件就会减少交易。这降低了被来回打脸(whipsaw)的风险,但也意味着信号更少,因此机器人需要更长的测试来建立有意义的样本。
来自历史测试的交易示例
之前的文章展示了回测中的两笔卖出,一笔盈利,一笔亏损。
一笔盈利的卖出
12 均线跌破 26 均线,DeMarker 处于其水平的高位,随机指标指向下方,因此所有入场条件均得到满足。随后价格下跌足够多,在动量退出机制发挥作用之前触及了目标。
一笔亏损的卖出
同样,入场时所有确认条件都存在,但价格却逆着头寸方向移动,最终以亏损平仓。这一结果并不意味着 EA 出现故障。即使所有条件都成立,市场也可能反转;机器人应遵循其预定义的止损、退出指标或反向信号逻辑,而不是交易者凭冲动干预。
为什么交叉机器人在横盘市场中表现不佳
均线是趋势跟踪工具。当价格震荡时,快线和慢线相互缠绕,产生快速反转的反复交叉,通常被称为“来回打脸”(whipsaws)。
这就是为什么许多交叉策略添加诸如以下过滤器:
- ADX 要求最低趋势强度;
- ATR 跳过非常平静的时期或将止损设置为波动率;
- RSI 或随机指标以避免在极端水平入场;
- 更高时间框架的趋势检查 使交易跟随更广泛的方向;
- 完成 K 线确认 在行动之前;
- 点差上限 在成本扩大时跳过入场。
此机器人的两个振荡器过滤器发挥了这种作用。没有过滤器能完全消除来回打脸,每增加一个参数都可能被拟合到历史数据中,因此它应在样本外测试中证明其价值。
这种机器人何时倾向于有效
均线交叉在持续的方向性阶段赚取大部分利润,当趋势持续足够长,使滞后均线能够跟上并保持一致时。在这些阶段之间的震荡中,它们会回吐资金。预期结果会以爆发形式出现,而不是平稳地出现,并在足够长的时期内评估机器人,以包含这两种类型的市场。
机器人如何处理新闻和波动性
EA 对经济数据发布没有感知。它只读取价格,因此利率决定或就业报告通过突然的 K 线、更宽的点差和滑点影响它,而不是通过任何规则。随订单设置的止损仍然保护头寸,但在快速市场中,它可能在其水平之外成交。希望避免这种风险的交易者通常在主要预定公告前后暂停自动交易,或添加点差过滤器,在成本激增时暂停交易。
内置止损之外的风险控制
EA 自身的退出保护每个头寸,但当 EA 无人值守交易时,账户级别的限制同样重要。在任何实盘使用之前,决定:
- 头寸规模 基于每笔交易权益的小百分比,而不是固定手数。
- 最大点差 超过该值时跳过新入场。
- 每日或每周亏损限制 在设定跌幅后暂停机器人。
- 如果你同时在多个交易品种上运行该策略,未平仓头寸数量会有上限。
杠杆限制同样适用。欧盟受监管经纪商的零售客户在主要货币对上的杠杆上限为 30:1(CNMV 关于 ESMA 措施的摘要,2018 年 6 月),而在其他地方提供的高杠杆会像放大盈利一样迅速放大亏损。
交叉机器人中的 SMA 与 EMA
指数移动平均线比简单移动平均线反应更快,因为它赋予近期价格更高的权重。MetaQuotes 解释说,简单移动平均线赋予周期内每个价格相同的权重,而指数和线性加权移动平均线则更重视最新数据(MetaQuotes 指标参考)。
对于交叉机器人而言,后果很直接:EMA 交易会产生更早的信号和更多的噪音,而简单移动平均线对则信号较晚且假交叉较少。两者并非绝对优劣,且该 EA 使用的 MA 方法从未明确说明,因此请在设置中检查。
机器人应等待 K 线收盘吗?
通常,是的。在 K 线形成过程中可见的交叉可能在 K 线结束前消失。在已完成的 K 线上确认可以消除这些幻影入场,代价是入场时间稍晚。
MetaQuotes 指出,其“仅开盘价”测试模式仅使用每根 K 线的开盘价(MetaQuotes 测试文档)。该模式适用于仅在新 K 线开始时行动的 EA,但会错误地表示那些在 K 线内交易的 EA,因此请将建模模式与程序实际评估信号的方式相匹配。
MT4 与 MT5 上的移动平均线交叉机器人
该机器人最初以 MT4 文件形式发布,如果没有专门版本,它无法在 MT5 上运行。MT4 EA 使用 MQL4 编写,并编译为该平台 Experts 文件夹中的 .ex4 文件;MT5 程序使用较新的语言,并生成存储在 MQL5/Experts 中的 .ex5 文件(MetaTrader 5 帮助,算法交易)。
MT5 的测试器增加了多线程优化和实时刻度建模,使其成为多指标机器人更强大的环境。在 EA Studio 中重建规则,可以让你将它们导出到两个平台,而无需维护两个手工编码的文件。
如何回测此 EA
尽管开发者已对其进行测试,但请在你打算交易的经纪商、交易品种、点差假设和时间框架上运行你自己的回测。在其他数据源上的结果可能会有显著差异。
- 将机器人附加到其设计所用的图表和时间框架上。
- 打开策略测试器,并选择一个包含趋势阶段和震荡阶段的时期。
- 输入现实的点差和佣金。
- 运行测试并查看报告。
- 在设置从未见过的后续历史数据段上重复测试。
我们的 MT4 分步测试指南 和 MetaTrader 5 回测教程 详细介绍了相关设置。
报告中需要检查的内容
该机器人的原始报告称其盈利因子为 1.45,同样未说明其背后的市场、图表周期或日期。盈利因子是总盈利除以总亏损;数值大于 1 意味着在测试期间,盈利在金额上超过了亏损。它并未说明交易胜率,过去的数字也不能保证未来的盈利能力。
请结合以下回测结果进行审查:
- 交易次数和测试时长;
- 净利润和最大回撤;
- 平均盈利与平均亏损,以及预期回报;
- 最长连续亏损次数;
- 使用的成本假设;
- 在样本外数据和不同年份上的表现。
诸如 向前推进分析 之类的方法,可以更系统地查看设置是否在用于选择它们的数据之外依然有效。
获取 EA 并进行模拟测试
此页面旧版本上的免费下载链接已失效。2025 年 9 月,Algo Trading Space 下架了旧视频中分享的免费 EA,因为它们需要重新优化,现在在 免费平台账户 的“免费赠品”标签页中提供每月更新的三个 EA。你也可以使用相同的构建器重现 12/26 逻辑,并在你自己的经纪商数据上进行测试。
无论你选择哪种途径,在实盘交易前,请在模拟账户上试用该机器人。这可以确认它在当前点差和交易时段中按预期执行;但这并不能证明未来的结果。如果你计划持续运行它,虚拟专用服务器(VPS)可以保持终端在线,我们关于 如何选择外汇 VPS 提供商 的指南解释了需要比较的内容。
交叉机器人常见问题
12/26 是一个好的移动平均线交叉吗?
这是一个速度适中的合理组合,但没有哪种组合是普遍适用的。12 和 26 周期与 MACD 默认使用的长度相匹配,因此许多交易者都熟悉它们。单独使用时,它们在震荡行情中仍会出现反复止损(whipsaw),这就是为什么该机器人添加了 DeMarker、随机指标和动量规则。12/26 是否适合你的交易品种和时间框架,只能通过在你自己的数据上进行测试,并与 10/30 或 15/30 等邻近设置进行比较来判断。
这个机器人可以交易加密货币吗?
它可以附加到 BTCUSD 等符号上,但其设置并未作为加密货币专用设置发布,不应假设其可以直接迁移。加密货币的波动幅度通常远大于大多数货币对,因此保护性订单距离、指标阈值和退出指标都需要重新测试。经纪商的加密货币差价合约(CFD)通常具有更宽的点差和不同的交易时段。将此 EMA 或 SMA 交叉系统视为加密货币版本的新策略,并为其进行独立的回测和向前测试。
我可以使用警报代替自动交易吗?
可以。信号可以重新创建为警报,当所有条件满足时通知你,将下单决定留给你。MetaTrader 支持来自指标和 EA 的弹出、声音、电子邮件和推送通知。权衡之处在于一致性:手动执行会增加延迟,并产生跳过信号的诱惑,这会使实盘结果偏离回测结果。许多交易者在熟悉规则时使用警报,一旦信任规则,就切换到完全自动化。
为什么从 97 种策略中选择了这个机器人?
它是为研究构建的 97 个交叉 EA 中最强的一个。从众多策略中挑选最佳者是正常步骤,但它带有选择偏差:只要有足够的候选者,其中一个看起来不错可能部分出于偶然。这就是为什么获胜者应在从未用于选择的数据上重新测试,并在实盘使用前在模拟账户上运行。通过这两项检查的结果比仅在原始比较中排名第一更有意义。
哪些市场和时间框架适合这个机器人?
机器人发布时未指定任何特定市场或时间框架,因此应将两者视为待测试的开放问题。交叉系统通常在具有持续趋势的交易品种上表现最佳,且在点差相对于典型波动较小的时间框架上表现良好,通常是在流动性最高的外汇货币对的 M30 到 H4 上。较低的时间框架会增加交易次数和对成本的敏感度。在几个候选交易品种和图表周期上运行 EA,仅保留样本外表现可接受的组合。
我可以与其他交易机器人一起运行它吗?
可以,前提是每个 EA 使用唯一的魔术数字,以便 MetaTrader 能够区分哪些头寸属于哪个程序。当多个交易机器人的逻辑不同时,同时运行它们可以平滑整体结果,但在相关市场上的交叉系统通常会同时发出信号,这集中了风险而不是分散风险。在将此机器人添加到已运行其他类似交易品种自动化策略的账户之前,请在投资组合回测中检查合并回撤和总未平仓风险敞口。
获取 Algo Trading Space 帮助测试你的交叉机器人
如果你需要帮助验证此机器人的设置、将其重建为 MT5 版本,或在你的经纪商数据上设置公平的回测,请联系 Algo Trading Space 团队。我们可以帮助你首先在模拟账户中正确测试它,然后再承担任何资金风险。
风险警告:交易外汇和差价合约(CFD)存在高损失风险,杠杆可能会使损失超过你的初始存款。本文仅供教育目的,不构成财务建议。回测结果是假设性的,不保证未来表现。




Comments
No comments yet. Be the first to comment!
Leave a Comment
Your email address will not be published. Required fields are marked with *