关于 MetaTrader 5 MCP Server & Distrobox Automation
一个用于控制 MetaTrader 5 运行并优化 EA 的 MCP 服务,配合 Distrobox 容器、Flask REST API 与自动生成的报告。适合需要自动化优化与记录交易 EA 的用户。
主要功能
- 01在 Distrobox 容器中自动安装 MT5
- 02Flask REST API 启动与监控优化
- 03MCP 服务统一访问交易与优化功能
- 04生成 HTML 与 Markdown 优化报告
- 05使用 Git 对配置进行版本管理
适用场景
- 01自动化运行 EA 参数优化
- 02通过 MCP 客户端获取优化结果
- 03批量生成 EA 优化报告
MCP 相关
该项目提供 TypeScript 实现的 MCP 服务,暴露账户信息、订单创建以及优化运行、状态查询和结果获取等工具,供 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MetaTrader 5 MCP 服务与 Distrobox 自动化
本项目使用 Distrobox 容器、Flask REST API 和 MCP 服务,提供用于运行、优化和记录 MetaTrader 5(MT5)智能交易系统(EA)的全自动工作流。
功能
- Wine/Distrobox 中的 MetaTrader 5:自动完成设置和启动。
- Flask REST API:以编程方式优化 EA,并提供运行、监控和保存结果的端点。
- MCP 服务:为交易、优化和结果检索提供统一接口。
- 自动生成文档:为每个 EA 将优化结果保存为清晰的 HTML 和 Markdown 报告。
- Git 版本控制:从一开始就对所有代码和配置进行版本管理。
快速开始
1. 设置 Distrobox 容器
要构建并进入 Distrobox 容器,请在项目根目录中运行以下命令:
distrobox-assemble create --file src/mt5.ini -R
distrobox-enter mt5
- 请参阅
src/mt5.ini,了解完整的自动化 Distrobox 配置。 - 创建容器时,将安装并配置以下内容:
- Wine、MT5、Python3、pip、Flask、MetaTrader5、pandas、jinja2、git 以及所有必需工具。
- Flask API 将自动启动。
- 将初始化 git 仓库并提交所有文件。
2. Flask REST API
- 位于
src/mt5_flask_api.py。 - 可从主机通过 http://localhost:5000 访问 API(默认发布端口 5000;请参阅
src/mt5.ini)。 - 示例:在主机系统上使用以下命令测试 API:
curl http://localhost:5000/optimization_status/some-id - 端点:
POST /optimize:启动优化任务。GET /optimization_status/<id>:检查优化状态。GET /optimization_results/<id>:获取结果。POST /save_results:将结果保存为 HTML/Markdown/CSV/JSON。
- 结果将保存到
~/mt5-dev/result/manual/tuning/<EA_NAME>_tuning.html和.md。
3. MCP 服务
- 请参阅
src/mt5-server.ts,了解 MCP 服务的实现。 - 工具包括:
- 交易操作(get_account_info、create_order 等)
- 优化操作(run_optimization、get_optimization_status、get_optimization_results、save_optimization_results)
4. 使用示例
- 启动容器(Distrobox 将运行所有设置并启动 Flask API)。
- 使用 MCP 服务触发优化并生成报告。
- 在
~/mt5-dev/result/manual/tuning/中打开 HTML/Markdown 报告,查看清晰的概览。
工作目录与配置
默认情况下,所有日志、数据、结果和输出都存储在 ~/mt5-dev 中,以确保可移植性和一致性。
要覆盖本地开发的任何配置值,请将 src/mt5.ini 复制到 src/mt5-dev.ini,并根据需要进行自定义。
src/mt5-dev.ini 文件已被 git 忽略,不会被跟踪或推送。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。