MT5-Quant
MT5-Quant
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 --stdioClaude 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.31AI 会运行完整流程:编译 → 清理缓存 → 回测 → 提取 → 分析。
MCP 工具(89)
核心工作流
工具 | 描述 |
| 完整流程:编译 → 清理 → 回测 → 提取 → 分析 |
| 使用预编译 EA 快速回测(跳过编译) |
| 仅回测——只提取原始交易,不进行分析 |
| 即发即弃:启动 MT5 回测,轮询直至完成 |
| 轮询运行中的回测状态(MT5 是否运行、是否找到报告、已用时间) |
| 遗传优化(后台运行,立即返回) |
| 在 MT5 完成后解析优化结果 |
| 列出所有优化任务及其状态 |
| 从任意报告目录读取 |
| 将报告与基线比较,返回胜者/败者判定 |
| 通过 MetaEditor 编译 MQL5 EA |
| 列出 MQL5/Experts 目录中的所有 EA |
| 列出 MQL5/Indicators 目录中的所有指标 |
| 列出 MQL5/Scripts 目录中的所有脚本 |
| 快速服务器健康检查 |
| 列出 MT5 终端中所有可用的交易品种 |
细粒度分析(单独分析)
工具 | 描述 |
| 仅月度盈亏明细 |
| 仅回撤事件及原因 |
| 仅最大亏损交易 |
| 仅连续亏损模式 |
| 持仓时间与盈亏配对 |
| 买入与卖出表现 |
| 连胜/连亏分析 |
| 同时持仓峰值 |
使用这些工具进行针对性分析,或使用 analyze_report 一次性运行所有分析。
交易级分析(新)
工具 | 描述 |
| 列出单个交易,支持筛选(类型、利润范围、手数、日期) |
| 在交易注释中进行全文搜索(例如 "Layer #3") |
| 按 EA 魔术数字筛选交易 |
| 利润直方图:小/中/大额盈利与亏损 |
| 按小时和星期几分析表现 |
| 持仓时间分桶 + 与利润的相关性 |
| 根据注释进行网格/马丁格尔层分析 |
| 手数相关性 + 按手数大小的表现 |
| 手续费和隔夜利息对盈利能力的影响 |
| 每小时/每日利润、年化收益、交易频率 |
监控
工具 | 描述 |
| 检查 Wine/MT5 路径、Wine 版本以及 EA/.set 文件数量 |
| 检查后台优化任务的实时状态 |
| 一次调用获取所有优化任务及简洁状态 |
报告与日志
工具 | 描述 |
| 所有运行的关键指标紧凑表格——无需完整分析 |
| 获取最新报告,可选权益曲线图 |
| 按 EA、交易品种、日期范围或利润条件查找报告 |
| 按 ID 获取特定报告及权益曲线图 |
| 汇总统计:数量、平均值、通过率 |
| 按任意指标排序的前 N 个报告(利润因子、回撤等) |
| 按标签查找报告 |
| 按回测日期范围查询 |
| 在报告备注中进行全文搜索 |
| 查找使用特定 .set 文件的所有报告 |
| 查找可比较的报告(相同 EA/交易品种/时间框架) |
| 读取任意日志的最后 N 行;使用 |
| 删除旧报告目录,保留最近 N 个(跳过 |
| 将历史条目或报告写入 |
历史与基线
工具 | 描述 |
| 将一个报告目录转换为 |
| 批量归档所有报告目录,然后可选择删除;保留最近 N 个安全 |
| 使用筛选条件(EA、交易品种、判定、利润、DD)和排序选项查询历史 |
| 为任意历史条目附加判定/备注/标签 |
缓存管理
工具 | 描述 |
| 按交易品种统计 MT5 测试器缓存大小——清理前检查 |
| 删除测试器缓存文件;支持按交易品种和 |
预检与验证
工具 | 描述 |
| 获取当前 MT5 账户会话(登录名、服务器、可用交易品种) |
| 验证交易品种在日期范围内是否有足够的历史数据 |
| 检查 MT5 终端是否已安装并准备就绪 |
| 不运行完整编译的预编译语法检查 |
调试与诊断(新)
Tool | Description |
| 检查 Wine 安装、版本和 prefix 健康状况 |
| 获取 MT5 终端、测试器或 MetaEditor 日志(支持过滤) |
| 在日志中搜索错误模式(崩溃、异常、访问冲突) |
| 检查 MT5 进程是否在运行,获取 PID、CPU 和内存使用情况 |
| 终止卡死的 MT5 进程(对 wineserver 使用 force=true) |
| 检查磁盘空间、内存和 CPU 可用性 |
| 验证 terminal.ini 和测试器配置文件 |
| 获取 Wine prefix 详细信息:Windows 版本、已安装程序、注册表 |
| 调查回测失败:不完整的标记、缺失的 deals.csv、错误 |
| 检查是否有更新版本的 MT5-Quant 可用 |
| 将 MT5-Quant 更新到最新版本 |
项目管理
Tool | Description |
| 使用模板(scalper/swing/grid/basic)搭建新的 MQL5 项目 |
| 从 EA 输入变量生成 .set 参数文件 |
| 将回测报告导出为 CSV、JSON 或 Markdown |
历史与比较
Tool | Description |
| 列出 EA/交易品种的所有回测及汇总指标 |
| 并排比较 2 个以上回测结果并附带分析 |
.set 文件 — 读取 / 写入
Tool | Description |
| 列出测试器配置目录中的所有 .set 文件,包含扫描统计和组合数量 |
| 解析 UTF-16LE |
| 将完整参数字典写入 → 带 |
| 就地更新特定参数,返回差异 — 取代读取→编辑→写入流程 |
| 一次调用即可将 |
.set 文件 — 分析与生成
Tool | Description |
| 扫描参数、值计数和总优化组合数 |
| 两个 |
| 从 |
搜索与发现
Tool | Description |
| 在所有目录中按名称模式搜索 EA |
| 按名称模式搜索指标 |
| 按名称模式搜索脚本 |
| 将指标复制到项目目录 |
| 将脚本复制到项目目录 |
故障排除
首先从你的 LLM 运行 verify_setup — 它会检查所有路径并返回可操作的提示。
对于回测/编译/优化期间的崩溃或无法解释的失败:
diagnose_wine— 检查 Wine 安装和 prefix 健康状况search_mt5_errors— 在日志中查找崩溃原因check_mt5_process+kill_mt5_process— 检测并终止卡死的进程get_backtest_crash_info— 调查失败的回测报告
文档
Doc | Description |
分步安装、设置和首次回测 | |
全部 90 个工具的完整输入/输出模式 | |
配置参考( | |
设计原则和内部模块布局 | |
通过 Wine 在 Linux 代理之间分发优化任务 | |
针对 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
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for MT4 and MT5: read accounts, prices and candles, and place or close orders.
Connect any MCP client to MetaTrader 4/5 to read prices, manage positions, and place trades.
Research-only MCP server: your AI as a quant research desk. 90 tools, no trades, no brokers.
- FensoryOAuthcom.fensory
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects 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.6MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for operating headless MetaTrader 5 terminals — over SSH, from your agent.MIT
- AlicenseNot gradedqualityCmaintenanceA 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
- FlicenseNot gradedqualityDmaintenanceUniversal MCP server that enables AI assistants to control MetaTrader 5 directly, executing trades, managing data, and automating MT5 operations through natural language.2-