Skip to main content
Glama

MT5-Quant

OpenSSF Scorecard CII Best Practices Rust CI crates.io License: MIT CodeQL

MCP 服务器,用于在 macOS/Linux 上进行 MT5 策略开发。 提供 89 个工具,用于编译、回测、分析、优化、调试崩溃以及管理 MQL5 智能交易系统——无需 Windows。

You: "Backtest MyEA Jan-Mar, what caused the February drawdown?"

Claude: [compile → clean → backtest → analyze 1,847 deals]
        → Feb 14: BUY grid at L6, locking lot 1.75× base
        → Cutloss fired 17 points later
        → Recommendation: cap locking multiplier to ≤1.2×

为什么选择 MT5-Quant

重点: 回测组织、报告和分析——这些是 MT5 本身不具备的能力。

MT5-Quant

其他

平台

macOS/Linux 原生

仅 Windows

回测流程

✅ 完整(编译 → 运行 → 分析)

✅ 通过 MT5 Python 包

交易级分析

✅ 19 个维度,数据库支持

❌

报告组织

✅ SQLite(报告 + 交易)+ 搜索 + 历史

❌

MQL5 编译

✅ 无头模式(通过 Wine 运行 MetaEditor,无 GUI)

⚠️ 通过 GUI 或终端

优化

✅ 后台运行 + 结果解析 + .set 文件生成

⚠️ 仅终端,无解析

崩溃调试

✅ Wine/MT5 诊断

❌

其他方案通常使用 MetaTrader5 Python package 在 Windows 上运行,提供完整的终端操作。MT5-Quant 填补了这一空白:组织回测报告、提取交易级洞察、管理优化工作流——这些都不是 MT5 或其 Python API 原生提供的功能。

Related MCP server: mt5ctl

快速开始

安装 MT5-Quant

选项 A — Cargo(推荐,需要 Rust 工具链)

cargo install mt5-quant --locked

选项 B — 预构建二进制文件(无需工具链)

# macOS Apple Silicon
curl -LO https://github.com/masdevid/mt5-quant/releases/latest/download/mcp-mt5-quant-macos-arm64.tar.gz
tar xzf mcp-mt5-quant-macos-arm64.tar.gz   # → mcp-mt5-quant-macos/mt5-quant

# Linux x64
curl -LO https://github.com/masdevid/mt5-quant/releases/latest/download/mcp-mt5-quant-linux-x64.tar.gz
tar xzf mcp-mt5-quant-linux-x64.tar.gz     # → mcp-mt5-quant-linux/mt5-quant

将二进制文件移动到 PATH 中的某个位置(例如 /usr/local/bin 或 ~/.local/bin),以便客户端可以将其作为 mt5-quant 启动。

选项 C — 注册到你的 LLM 客户端(复制粘贴)

Claude Code

claude mcp add mt5-quant -- mt5-quant --stdio

Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "mt5-quant": { "command": "mt5-quant", "args": ["--stdio"] } } }

Cursor — .cursor/mcp.json(与 Claude Desktop 的 JSON 结构相同)

{ "mcpServers": { "mt5-quant": { "command": "mt5-quant", "args": ["--stdio"] } } }

opencode — .opencode/opencode.jsonc

{ "mcp": { "mt5-quant": { "type": "local", "command": ["mt5-quant", "--stdio"], "enabled": true } } }

Codex CLI — ~/.codex/config.toml

[mcp_servers.mt5-quant]
command = "mt5-quant"
args = ["--stdio"]

然后完成设置(自动检测 Wine 和 MT5 路径):

bash scripts/setup.sh

提示: 你也可以直接让你的 LLM 编程代理完成以上所有操作: “请从 https://github.com/masdevid/mt5-quant 安装 mt5-quant——下载或构建它,运行其 scripts/setup.sh 以自动检测 Wine 和 MT5 路径,并将其注册为 MCP 服务器。”

首次回测

Run a backtest on MyEA from 2025.01.01 to 2025.03.31

AI 会运行完整流程:编译 → 清理缓存 → 回测 → 提取 → 分析。

MCP 工具(89)

核心工作流

工具

描述

run_backtest

完整流程:编译 → 清理 → 回测 → 提取 → 分析

run_backtest_quick

使用预编译 EA 快速回测(跳过编译)

run_backtest_only

仅回测——只提取原始交易,不进行分析

launch_backtest

即发即弃:启动 MT5 回测,轮询直至完成

get_backtest_status

轮询运行中的回测状态(MT5 是否运行、是否找到报告、已用时间)

run_optimization

遗传优化(后台运行,立即返回)

get_optimization_results

在 MT5 完成后解析优化结果

list_jobs

列出所有优化任务及其状态

analyze_report

从任意报告目录读取 analysis.json

compare_baseline

将报告与基线比较,返回胜者/败者判定

compile_ea

通过 MetaEditor 编译 MQL5 EA

list_experts

列出 MQL5/Experts 目录中的所有 EA

list_indicators

列出 MQL5/Indicators 目录中的所有指标

list_scripts

列出 MQL5/Scripts 目录中的所有脚本

healthcheck

快速服务器健康检查

list_symbols

列出 MT5 终端中所有可用的交易品种

细粒度分析(单独分析)

工具

描述

analyze_monthly_pnl

仅月度盈亏明细

analyze_drawdown_events

仅回撤事件及原因

analyze_top_losses

仅最大亏损交易

analyze_loss_sequences

仅连续亏损模式

analyze_position_pairs

持仓时间与盈亏配对

analyze_direction_bias

买入与卖出表现

analyze_streaks

连胜/连亏分析

analyze_concurrent_peak

同时持仓峰值

使用这些工具进行针对性分析,或使用 analyze_report 一次性运行所有分析。

交易级分析(新)

工具

描述

list_deals

列出单个交易,支持筛选(类型、利润范围、手数、日期)

search_deals_by_comment

在交易注释中进行全文搜索(例如 "Layer #3")

search_deals_by_magic

按 EA 魔术数字筛选交易

analyze_profit_distribution

利润直方图:小/中/大额盈利与亏损

analyze_time_performance

按小时和星期几分析表现

analyze_hold_time_distribution

持仓时间分桶 + 与利润的相关性

analyze_layer_performance

根据注释进行网格/马丁格尔层分析

analyze_volume_vs_profit

手数相关性 + 按手数大小的表现

analyze_costs

手续费和隔夜利息对盈利能力的影响

analyze_efficiency

每小时/每日利润、年化收益、交易频率

监控

工具

描述

verify_setup

检查 Wine/MT5 路径、Wine 版本以及 EA/.set 文件数量

get_optimization_status

检查后台优化任务的实时状态

list_jobs

一次调用获取所有优化任务及简洁状态

报告与日志

工具

描述

list_reports

所有运行的关键指标紧凑表格——无需完整分析

get_latest_report

获取最新报告,可选权益曲线图

search_reports

按 EA、交易品种、日期范围或利润条件查找报告

get_report_by_id

按 ID 获取特定报告及权益曲线图

get_reports_summary

汇总统计:数量、平均值、通过率

get_best_reports

按任意指标排序的前 N 个报告(利润因子、回撤等)

search_reports_by_tags

按标签查找报告

search_reports_by_date_range

按回测日期范围查询

search_reports_by_notes

在报告备注中进行全文搜索

get_reports_by_set_file

查找使用特定 .set 文件的所有报告

get_comparable_reports

查找可比较的报告(相同 EA/交易品种/时间框架)

tail_log

读取任意日志的最后 N 行;使用 filter=errors 仅查看失败信息

prune_reports

删除旧报告目录,保留最近 N 个(跳过 _opt 目录)

promote_to_baseline

将历史条目或报告写入 baseline.json,供 compare_baseline 使用

历史与基线

工具

描述

archive_report

将一个报告目录转换为 backtest_history.json 中的紧凑 JSON 条目,可选择删除源目录

archive_all_reports

批量归档所有报告目录,然后可选择删除;保留最近 N 个安全

get_history

使用筛选条件(EA、交易品种、判定、利润、DD)和排序选项查询历史

annotate_history

为任意历史条目附加判定/备注/标签

缓存管理

工具

描述

cache_status

按交易品种统计 MT5 测试器缓存大小——清理前检查

clean_cache

删除测试器缓存文件;支持按交易品种和 dry_run

预检与验证

工具

描述

get_active_account

获取当前 MT5 账户会话(登录名、服务器、可用交易品种)

check_symbol_data_status

验证交易品种在日期范围内是否有足够的历史数据

check_mt5_status

检查 MT5 终端是否已安装并准备就绪

validate_ea_syntax

不运行完整编译的预编译语法检查

调试与诊断(新)

Tool

Description

diagnose_wine

检查 Wine 安装、版本和 prefix 健康状况

get_mt5_logs

获取 MT5 终端、测试器或 MetaEditor 日志(支持过滤)

search_mt5_errors

在日志中搜索错误模式(崩溃、异常、访问冲突)

check_mt5_process

检查 MT5 进程是否在运行,获取 PID、CPU 和内存使用情况

kill_mt5_process

终止卡死的 MT5 进程(对 wineserver 使用 force=true)

check_system_resources

检查磁盘空间、内存和 CPU 可用性

validate_mt5_config

验证 terminal.ini 和测试器配置文件

get_wine_prefix_info

获取 Wine prefix 详细信息:Windows 版本、已安装程序、注册表

get_backtest_crash_info

调查回测失败:不完整的标记、缺失的 deals.csv、错误

check_update

检查是否有更新版本的 MT5-Quant 可用

update

将 MT5-Quant 更新到最新版本

项目管理

Tool

Description

init_project

使用模板(scalper/swing/grid/basic)搭建新的 MQL5 项目

create_set_template

从 EA 输入变量生成 .set 参数文件

export_report

将回测报告导出为 CSV、JSON 或 Markdown

历史与比较

Tool

Description

get_backtest_history

列出 EA/交易品种的所有回测及汇总指标

compare_backtests

并排比较 2 个以上回测结果并附带分析

.set 文件 — 读取 / 写入

Tool

Description

list_set_files

列出测试器配置目录中的所有 .set 文件,包含扫描统计和组合数量

read_set_file

解析 UTF-16LE .set 文件 → 结构化的 JSON 参数

write_set_file

将完整参数字典写入 → 带 chmod 444 的 UTF-16LE .set 文件

patch_set_file

就地更新特定参数,返回差异 — 取代读取→编辑→写入流程

clone_set_file

一次调用即可将 .set 复制到新路径,并支持可选覆盖

.set 文件 — 分析与生成

Tool

Description

describe_sweep

扫描参数、值计数和总优化组合数

diff_set_files

两个 .set 文件的并排差异 — 仅返回更改的参数

set_from_optimization

从 get_optimization_results 参数生成干净的回测 .set 文件;可选择缩小扫描范围

搜索与发现

Tool

Description

search_experts

在所有目录中按名称模式搜索 EA

search_indicators

按名称模式搜索指标

search_scripts

按名称模式搜索脚本

copy_indicator_to_project

将指标复制到项目目录

copy_script_to_project

将脚本复制到项目目录

完整模式:docs/MCP_TOOLS.md

故障排除

首先从你的 LLM 运行 verify_setup — 它会检查所有路径并返回可操作的提示。

对于回测/编译/优化期间的崩溃或无法解释的失败:

  • diagnose_wine — 检查 Wine 安装和 prefix 健康状况

  • search_mt5_errors — 在日志中查找崩溃原因

  • check_mt5_process + kill_mt5_process — 检测并终止卡死的进程

  • get_backtest_crash_info — 调查失败的回测报告

完整故障排除指南 →

文档

Doc

Description

QUICKSTART

分步安装、设置和首次回测

MCP_TOOLS

全部 90 个工具的完整输入/输出模式

CONFIG

配置参考(config/mt5-quant.yaml)

ARCHITECTURE

设计原则和内部模块布局

REMOTE_AGENTS

通过 Wine 在 Linux 代理之间分发优化任务

TROUBLESHOOTING

针对 Wine、MT5 和回测的平台特定修复

包含阅读顺序的完整索引:docs/INDEX.md


致谢

MT5-Quant 站在卓越开源项目的肩膀上:

  • Rust — 使零成本抽象、内存安全和无畏并发成为现实的语言

  • Tokio — 为所有并发操作提供动力的异步运行时

  • Wine — 让 MT5 无需 Windows 许可即可在 macOS 和 Linux 上运行

  • MetaTrader 5 — MetaQuotes 的交易平台(MetaQuotes Software Corp. 的商标)

  • rusqlite — 为 Rust 提供易用的 SQLite 绑定

  • serde — 让配置和报告处理变得轻松的序列化框架

  • scraper — 用于 MT5 报告提取的 HTML 解析

  • tempfile — 安全的临时文件处理

特别感谢 Anthropic 的 Model Context Protocol (MCP) 团队,他们定义了让 AI 驱动的开发工作流成为可能的标准。

免责声明

非财务建议。 MT5-Quant 是用于算法交易策略的开发和分析工具。它不提供投资建议、交易推荐,也不保证盈利能力。所有回测结果均为历史模拟,不保证未来表现。

风险自负。 交易金融工具存在重大亏损风险。MT5-Quant 的作者和贡献者对以下情况不承担任何责任:

  • 使用此工具开发或测试的策略所产生的交易亏损

  • 回测操作导致的数据丢失或损坏

  • Bug、错误或不正确的分析结果

  • 系统崩溃、Wine 兼容性问题或 MT5 故障

软件保证。 本软件按"原样"提供,不附带任何明示或暗示的保证,包括但不限于适销性、特定用途适用性或不侵权的保证。完整条款请参阅 LICENSE。

第三方软件。 MT5-Quant 与 MetaTrader 5、Wine 及其他第三方软件交互。用户有责任遵守这些依赖项的所有适用许可和服务条款。MetaTrader 是 MetaQuotes Software Corp. 的商标。MT5-Quant 与 MetaQuotes 无关联,未获得其认可或赞助。

监管合规。 用户有责任确保其交易活动符合所在司法辖区的适用金融法规。在某些地区,自动交易可能受到限制或需要许可。

许可证

MIT


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects MCP clients to MetaTrader 5 MetaEditor on Linux via Wine, enabling automated MQL5 development workflows including code editing, compilation of EAs/indicators, and strategy backtesting.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for operating headless MetaTrader 5 terminals — over SSH, from your agent.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first MCP server that bridges AI coding agents with MetaTrader 5 for inspection, market data, MQL5 development, compiling, Strategy Tester review, workspace sync, logs, audit trails, demo trading, and carefully gated live trading.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Universal MCP server that enables AI assistants to control MetaTrader 5 directly, executing trades, managing data, and automating MT5 operations through natural language.
    2
    -