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: mt4ctl

快速开始

安装 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


Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    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.
    5
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for operating headless MetaTrader 4 terminals remotely over SSH, enabling status checks, logs, screenshots, systemd control, and automated first-login.
    13
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/masdevid/mt5-quant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server