文档 / MT5 优化设置

Optimizations

MT5 优化设置

Ultimate 订阅者可在自己的 Windows、Linux 或 Intel Mac 电脑上通过 Docker 运行 PositionRelay MT5 优化器。

什么是 MT5 优化?

您电脑上的 Docker worker 运行 MT5 优化,并定期接收控制面板命令。

您需要提供 EA(.ex5)、参数网格(.set)和 MT5 经纪账户(模拟或真实)。结果保存在电脑的 reports 文件夹中,并在控制面板显示为通过项和收藏。公司组合还需要受支持的组合 EA 的源代码。

此功能为自托管。PositionRelay 不会替您运行 MetaTrader。目前没有托管优化器。

工作原理

已发布的 Wine + MetaTrader 5 Docker 镜像在您的机器上运行。心跳进程使用您的 PositionRelay User ID 鉴权,检查 Ultimate 权限,并等待控制面板命令。

验证通过的结果显示在 Passed 和 Favorites。公司组合还需要受支持的组合 EA 的源代码。

  1. 订阅 Ultimate,打开 Dashboard → Setup → MT5 Optimizations。
  2. 安装 Docker,并按照适合您操作系统的设置向导操作。
  3. 挂载 Experts 与 SetFiles,编写 optimizer.env,然后启动容器。
  4. 先在启动日志中确认经纪账户已授权,再检查 worker 是否在 Dashboard → Optimizations 显示在线。
  5. 配置日期、品种与策略,然后点击 Start。

要求

  • 有效的 PositionRelay Ultimate 订阅。
  • 运行 Docker 的 Windows、Linux 或 Intel macOS x64 电脑。不支持 Apple Silicon / ARM。
  • 需要足够的 RAM 和磁盘空间存储真实 tick 历史;使用 Docker Desktop 时可在设置中调整资源。
  • MT5 经纪账户(模拟或真实)的登录名、密码和服务器。
  • 您自己编译的 EA(.ex5)。MQL5 Market EA 受激活锁定,无法运行。
  • 按照设置向导,将 .set 文件放在 SetFiles/Classic/<timeframe> 下。

Docker 设置

分步安装说明位于 Dashboard → Setup → MT5 Optimizations。向导会显示适合您系统的文件夹、文件和命令,并填入 User ID。

文件存放位置:选项 1 是您电脑上的文件夹(Windows 为 C:\PositionRelay\optimizer,Linux 和 macOS 为 $HOME/PositionRelay/optimizer),用于存放 EA、.set 文件、Broker/servers.dat 和 optimizer.env。目前只有这一种方式,向导也使用它。选项 2(将 EA、.set 文件和环境变量上传到 PositionRelay)即将推出,使用风险由您自行承担。

Experts、SetFiles、Broker 和 reports 的每条 -v 命令中,左侧是电脑上的文件夹,/data/... 是容器内的路径。如果文件在其他位置,请分别替换完整的主机路径,在 Windows 上也要包括盘符。只修改 --env-file 不会改变这些挂载。

在已连接经纪商的 MT5 终端中选择 File → Open Data Folder。只将 config/servers.dat 复制到优化器的 Broker 文件夹,让 Docker 中的 MT5 找到经纪商。不要复制 accounts.dat。设置向导会显示准确的目标路径。

按照向导操作并使用您的 MT5 经纪账户。只有日志显示“Broker login authorized”后,才能移除 MT5_PASSWORD。

首次启动时,容器会先尝试登录经纪账户,再启动心跳,可能需要几分钟。请查看容器日志。出现 "Starting optimizer heartbeat" 后,再等待几次轮询,worker 才会在 Optimizations 页面显示在线。

  • 切勿提交 optimizer.env。
  • Experts 与 SetFiles 以只读方式挂载;reports 可写。
  • MT5 目录树与 tick 缓存在命名卷 positionrelay-mt5 上。

从控制面板运行

打开 Dashboard → Optimizations。选择日期范围、品种、周期、策略、优化模式、余额与最大净值回撤。可选在验证后启用稳健性测试。

Start 开始新批次。Resume 继续中断的运行。Stop 停止当前批次;worker 仍保持在线。Clean 清除主机上的测试器缓存。

页面打开时,实时状态每隔几秒刷新。任务期间请保持容器运行。

结果、收藏与组合

Passed 行为批次中通过验证的幸存者。在控制面板标记收藏;worker 可将其同步到主机 Favorites 文件夹。

公司组合目前仅支持一种 PositionRelay 组合 EA,并需要公开镜像中不包含的源代码。使用自己编译的 .ex5 可以优化、验证和收藏,但不能构建组合。

报告保存在您于主机上创建的 reports 文件夹中。

更新镜像

要检查是否有新镜像,请运行 docker pull ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest(设置向导中的“下载”命令)。pull 状态只说明本地镜像,不能说明正在运行的容器是否已使用该镜像。请比较 docker inspect --format '{{.Image}}' positionrelay-optimizer 与 docker inspect --format '{{.Id}}' ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest。若两者相同,可让容器继续运行;若不同,或之前已下载但推迟了重新创建,请等待正在运行的任务结束,再使用设置向导最后一步中的命令重新创建容器。镜像更新仅替换 worker;卷会保留 MT5 和 tick 缓存。新版 MT5 需要单独更新。

故障排除

  • Worker 一直离线 — 确认 Ultimate 有效、POSITIONRELAY_USER_ID 与 Setup 一致,且 docker logs 显示心跳。
  • 经纪商登录尚未确认 — 检查从正常运行的 MT5 复制的 Broker/servers.dat,然后检查 MT5_LOGIN、MT5_PASSWORD 和 MT5_SERVER。只有在日志显示 "Broker login authorized" 后才从 env 文件移除密码。
  • 首次登录时 Wine 可能输出 fixme 消息和图形库错误。仅凭这些行无法判断成功或失败。请查看 "Broker login authorized" 或 "broker login not confirmed",然后确认 "Starting optimizer heartbeat"。即使经纪登录失败,worker 仍可能显示在线。
  • EA 无法运行 — Market 购买的 EA 受激活锁定。请使用自己编译的 .ex5。
  • 磁盘不足 / tick 过慢 — 提高 Docker Desktop 资源,并腾出真实 tick 历史空间。
  • Apple Silicon / ARM — 不支持。请使用 x64 电脑。
  • 控制面板命令失败 — 打开 docker logs -f positionrelay-optimizer 查看 worker 错误。

文档