作者: William Harris · 最后审核
如何在 MetaTrader 5 中安装 Expert Advisor(2026 分步指南)
您需要准备
- • 已安装 MetaTrader 5(参见 install-mt5)
- • Expert Advisor 文件(.ex5 编译后的二进制)
- • 供应商的预设文件(.set,可选)
- • 拥有交易 EA 品种权限的交易账户
分步说明
第 1 步:验证 EA 文件正版且未被阻止
MT5 的 Expert Advisors 以 .ex5 文件(编译字节码)分发。有时供应商会提供 .mq5 文件(源代码)— 它会在首次启动时编译为 .ex5,但仅当安装了 MetaEditor 时;如果您只有 MT5,.ex5 路径更安全。
在 Windows 上,右键单击下载的 .ex5 文件 → 属性。如果您在底部看到'此文件来自另一台计算机,可能被阻止'的提示,勾选'解除阻止'并点击确定。否则 Windows 将该文件视为不受信任,MT5 拒绝编译。
如果文件以 .zip 或 .rar 存档形式提供,请先解压。不要将 .zip 文件加载到数据文件夹中 — MT5 不会自动解压。如果存档包含多个文件(通常:.ex5、.set 预设、PDF 手册和自定义指标 .ex5),保持它们分组 — 指标通常需要并行部署。
第 2 步:打开 MT5 数据文件夹
在 MT5 中,选择 File → Open Data Folder。Windows 资源管理器(或 Mac 上通过 Wine 包装器的 Finder)将在每个安装的数据文件夹打开。路径类似于 C:\Users\<你>\AppData\Roaming\MetaQuotes\Terminal\<hash>\。
关键子文件夹是:MQL5\Experts\(EA)、MQL5\Indicators\(自定义指标,通常作为依赖项需要)、MQL5\Presets\(供应商 .set 文件)和 MQL5\Files\(一些 EA 在此读取辅助数据)。
保持资源管理器窗口打开 — 您将向其中复制文件,然后返回 MT5。
第 3 步:将 EA 和任何依赖项复制到数据文件夹
将 EA 的 .ex5 文件拖放到 MQL5\Experts\。如果供应商打包了自定义指标,将该 .ex5 放入 MQL5\Indicators\。如果他们提供了 .set 预设,将其放入 MQL5\Presets\。
文件位置严格:MQL5\Indicators\ 中的 EA 文件不会显示在 EA 列表中。MQL5\Files\ 中的预设无法从 load-preset 下拉菜单发现。如果供应商的安装指南说'将 .ex5 放在 MQL5\Experts\YourBrand\'(子文件夹),请遵守 — 这纯粹是组织性的,但供应商的设置脚本可能会寻找它。
切勿重命名 .ex5 文件。MT5 用于识别 EA 下单的内部 Magic Number 包含文件名的哈希值 — 重命名会无声地破坏 EA 自身交易的订单追踪。
第 5 步:将 EA 附加到图表
打开 EA 期望的品种和时间框架的图表。供应商的文档应该指定两者:例如 'EURUSD M5' 或 'XAUUSD H1'。品种不匹配是 'EA 不交易' 最常见的原因 — 大多数 EA 在加载时检查 `Symbol()`,如果错误就静默退出。
将 EA 从 Navigator 面板拖到图表上。弹出窗口打开,包含三个选项卡:Common、Inputs 和 Dependencies(最后一个仅适用于某些 EA)。
在 Common 选项卡上,勾选 'Allow live trading' 和 'Allow modification of Signal Settings'。保持 'Disable auto-trading when the account has been changed' 勾选 — 这是安全保护。全局工具栏级别的 'Allow algorithmic trading' 设置覆盖每图表设置,但您需要两者都打开,EA 才能实际下单。
第 6 步:加载供应商预设(.set 文件)
切换到弹出窗口中的 Inputs 选项卡。默认情况下,EA 显示其编译时的默认值。要加载供应商推荐的 .set 文件,点击底部的 Load 按钮并从 MQL5\Presets\ 中选择 .set。
现在 Inputs 选项卡显示来自 .set 的参数。扫描它们以查找提及 Magic、LotSize 或 RiskPercent 的任何内容。Magic 应该是此账户上此 EA 的唯一整数 — 如果您运行多个 EA,它们必须都有不同的 Magic Numbers,否则在读取自己的持仓时会冲突。
风险相关的输入(手数、风险百分比、最大回撤)应该针对实际账户余额进行审查。为 $10,000 账户每笔交易 1% 风险规则设计的预设在 $1,000 账户上产生的交易过大 10 倍。
第 7 步:启用 AutoTrading 并验证 EA 已加载
点击确定关闭弹出窗口。EA 现已附加,但尚未交易,因为 AutoTrading 默认在工具栏级别为主控禁用。
查看顶部工具栏中的 'AutoTrading' 按钮(小三角形图标,通常橙色/灰色)。点击它。图标变为绿色,绿色笑脸出现在图表右上角,EA 名称旁边。如果您看到红色悲伤脸,将鼠标悬停在 EA 名称上以阅读原因:常见原因有 'Trading not allowed in EA properties'(重新打开弹出窗口并勾选框)、'Symbol mismatch' 或 'No connection to server'。
终端底部的 Experts 选项卡显示 EA 初始化消息。健康的 EA 会记录 OnInit complete 消息。之后,观察图表查看第一个信号。大多数 EA 仅在特定的会话窗口期间交易,所以如果第一个小时没有任何动静,请不要惊慌。
需要避免的常见错误
- ✗ 将 .ex5 放在 Program Files MT5 文件夹而不是 Roaming 数据文件夹解决方法: MT5 不会扫描 Program Files 安装路径以查找用户 EA。始终使用 File → Open Data Folder。
- ✗ 错误的 Magic Number — 两个 EA 共享相同的 Magic 并开始争夺相同的订单解决方法: 为每个 EA 在每个图表上设置唯一的 Magic。'官方'惯例是 EA 的产品 ID + 图表品种代码,但任何唯一整数都有效。
- ✗ 启用每图表 AutoTrading 后忘记启用全局 AutoTrading解决方法: 两者都必须打开。全局是工具栏 orange-to-green 按钮;每图表是图表上的绿色笑脸。
- ✗ 品种名称不匹配(例如 XAUUSD vs GOLD vs XAU/USD)解决方法: 检查您经纪商的 Market Watch 中确切的品种名称。如果 EA 硬编码 XAUUSD 但您的经纪商称之为 GOLD,联系供应商获取 symbol-override 输入。
- ✗ 缺少自定义指标依赖项 — EA 抛出 'Cannot load indicator'解决方法: 重新阅读供应商的包内容。EA 使用的任何自定义指标必须在 MQL5\Indicators\ 中,与 MQL5\Experts\ 中的 EA 并行。
- ✗ 当预设假设标准手数大小时在 Cent 账户上运行 EA解决方法: Cent 账户将 1 手视为 1000 单位(标准上为 100,000)。0.1 手预设打开 100 倍的预期敞口。将 LotSize 减少 100 倍。
常见问题
我附加了 EA 但它没有下任何订单 — 我应该检查什么?
如果笑脸是红色的,最常见的原因是:在 EA 属性中禁用了交易(重新打开输入选项卡)、全局 AutoTrading 关闭(橙色图标,点击使其变绿),或账户更改安全锁被触发(取消勾选并重新勾选 AutoTrading 工具栏按钮)。如果笑脸是绿色但没有出现交易,检查 Journal 选项卡和 EA 自己的日志输出 — 健康的 EA 会记录不交易的原因,如 'Volatility below threshold' 或 'Outside trading session'。
我可以在同一个图表上运行多个 EA 吗?
'每个图表一个 EA'规则在终端级别强制执行 — 将第二个 EA 拖到已经托管一个 EA 的图表上会提示'您要替换当前的 Expert Advisor 吗?'。解决方法是多个图表,每个都有自己的 EA 和自己的 Magic Number。对于 5-10 个 EA 的高频设置,您最终会想要多显示器,或在图表布局视觉上无关紧要的 VPS 上运行 EA。
为什么我的付费 EA 在新 MT5 安装上说 'Account not licensed'?
许可证检查通常在 OnInit 期间发生,将 AccountInfoInteger(ACCOUNT_LOGIN) 与服务器端允许列表进行比较。供应商的账户页面显示当前绑定;一些包含自助'release binding'按钮,其他需要电子邮件给支持。模拟账户通常免费添加,不计入绑定限制。购买前始终检查许可条款 — 一些供应商严格只允许 1 个账户,其他较宽容。
供应商提供了 .set 文件,但我的 EA 输入不匹配 — .set 是错的吗?
检查终端 Experts 选项卡中的版本行 — 大多数 EA 在加载时打印 'EAName v3.2 initialised'。供应商的产品页面通常按版本列出 .set 文件(例如 'preset-v3.2-conservative.set')。如果只有旧的 .set 可用,手动将最重要的输入(手数、magic、时间过滤器)转换到新 EA 的输入中,忽略其余部分。
我将 EA 附加到哪个图表时间框架重要吗?
在 EA 中,代码经常调用 `PERIOD_CURRENT` 来读取图表时间框架;切换时间框架会改变一切,从指标如何初始化到追踪止损距离如何计算。.set 预设也针对特定时间框架校准 — M15 图表上的 Scalperology M1 预设以错误的止损大小产生 1/15 的信号频率。始终将时间框架与供应商文档匹配。
我可以在多台计算机上安装从 MQL5 Market 购买的 EA 吗?
5 次激活限制通过 Tools → Options → Market → 'Reset activations' 每 30 天刷新一次。每个 Mac/PC/VPS 算作一次激活;重新安装操作系统或移动到新驱动器通常使用一次激活。如果您在 30 天前达到限制,联系 MetaQuotes 支持 — 他们会手动重置一次。自托管 EA(在 MQL5 Market 之外购买)遵循供应商使用的任何许可方案;一些按账户计算,一些按机器计算,一些不受限制。
EA 运行中 — 接下来是什么?
进入实盘前,使用您刚刚加载的 .set 预设对历史数据回测 EA。MT5 Strategy Tester 大约需要 10 分钟设置。
继续:如何在 MT5 中回测 EA →