MetaTrader 5 MCP服务器和Distrobox自动化
该项目使用Distrobox容器、Flask REST API和MCP服务器,为MetaTrader 5(MT5)Expert Advisors(EA)的运行、优化和记录提供了一个完全自动化的工作流程。
______________________________________________________________________
特性
- 葡萄酒/Distrobox中的MetaTrader 5:自动设置和启动。
- 烧瓶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、Python 3、pip、Flask、MetaTrader 5、pandas、jinja2、git以及所有必需的工具。 - Flask API自动启动。 - 初始化git存储库并提交所有文件。
2.烧瓶REST API
- 位于
src/mt5_flask_api.py. - API可从位于的主机访问 http://localhost:5000 (默认情况下,端口5000已发布;请参阅
src/mt5.ini). - 示例:使用以下工具从主机系统测试API:
curl http://localhost:5000/optimization_status/some-id- 终点:
- POST /optimize:开始优化运行。 - GET /optimization_status/:检查优化状态。 - GET /optimization_results/:获取结果。 - POST /save_results:将结果另存为HTML/Markdown/CSV/JSON。
- 结果保存到
~/mt5-dev/result/manual/tuning/_tuning.html和.md.
3.MCP服务器
- 看
src/mt5-server.ts用于MCP服务器实现。 - 工具包括:
- 交易操作(get_count_info、create_order等) - 优化操作(运行优化、获取优化状态、获取优化结果、保存优化结果)
4.使用示例
- 启动容器(Distrobox将运行所有设置并启动Flask API)。
- 使用MCP服务器触发优化并生成报告。
- 在中打开HTML/MaMarkdown报告
~/mt5-dev/result/manual/tuning/以获得清晰的概述。
______________________________________________________________________
工作目录和配置
默认情况下,所有日志、数据、结果和输出都存储在 ~/mt5-dev 为了便携性和一致性。\ 要覆盖本地开发的任何配置值,请复制 src/mt5.ini 向 src/mt5-dev.ini 并根据需要进行定制。\ 这 src/mt5-dev.ini git会忽略该文件,不会对其进行跟踪或推送。
