MT5图表截图服务

一个轻量级的MetaTrader 5 MCP服务器,直接从MT5终端提供实时图表快照,无需浏览器自动化。

  • by ali-rajabpour
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ali-rajabpour/metatrader-mcp

使用说明

MetaTrader 5 MCP服务器

MetaTrader 5的轻量级模型上下文协议(MCP)服务器,提供 真实图表快照 直接从您的MT5终端-无需浏览器自动化!

🌟 特性

  • � 真实MT5屏幕截图:使用所有自定义指标从MetaTrader 5终端捕获实际图表
  • 💹 市场数据:获取当前价格、点差和交易品种信息
  • 🚀 轻量级:智能交易系统+基于文件的通信(无Selenium,无浏览器)
  • 🔧 易于集成:与Claude Desktop无缝协作
  • 🎨 你看到的就是你得到的:捕获MT5中显示的图表
  • ⚡ 快速:通过MQL5的ChartScreenShot函数直接捕获图表
  • � 安全:基于文件的通信,不需要网络端口

🏗️ 建筑

该系统采用了一种创新方法:

  • MQL5专家顾问:在MT5内部运行,使用以下命令捕获真实图表 ChartScreenShot()
  • 基于文件的协议:通过共享文本文件的命令/响应(UTF-16LE编码)
  • Python MCP服务器:与EA沟通,向Claude Desktop提供图表
  • MetaTrader5 API:获取市场数据和交易品种信息

主要优势:使用所有自定义指标、图形和设置捕获真实的MT5图表,与您看到的完全一致!

📋 先决条件

  • Windows操作系统 (MetaTrader 5要求)
  • MetaTrader 5 已安装(在这里下载)
  • Python 3.10+

🚀 快速开始

步骤1:安装依赖项

cd d:\Desktop\metatrader-mcp
pip install -e .

步骤2:安装智能交易系统

  1. 复制EA:

    • 打开MT5→ File → Open Data Folder
    • 导航至 MQL5\Experts\
    • 复制 expert_advisor\MCPChartCapture.mq5 到此文件夹
  2. 编译EA:

    • 在MT5中,按下 F4 打开MetaEditor
    • 打开 MCPChartCapture.mq5
    • 按 F7 编译(应显示“0错误”)
  3. 附加到图表:

    • 打开MT5中的任何图表(例如,欧元兑美元H1)
    • 在导航器中(Ctrl+N),扩展 Expert Advisors
    • 拖拽 MCPChartCapture 在图表上
    • 在对话框中,转到 Common 选项卡:
      • ✅ 允许自动交易
    • 点击 OK
  4. 启用自动交易:

    • 点击 AutoTrading MT5工具栏中的按钮(或按 Ctrl+E)
    • 你应该看到一个😊 在图表上

步骤3:测试设置

python test_ea_connection.py

预期产量:

✅ Connected to MT5 v5370
✅ EA Response: EA is running
✅ Screenshot saved: output\EURUSD_H1_20251101_024101.png
All tests passed! ✅

步骤4:配置Claude桌面

  1. 查找配置文件:

    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加MCP服务器:

    {
      "mcpServers": {
        "metatrader5": {
          "command": "python",
          "args": ["-m", "metatrader_mcp.server"],
          "cwd": "d:\\Desktop\\metatrader-mcp"
        }
      }
    }
    
  3. 重新启动克劳德桌面

  4. 测试它!问克劳德:

    Show me a screenshot of EURUSD H1 chart
    

🛠️ 可用工具

1. capture_chart_screenshot

从MT5终端捕获包含所有指标的真实屏幕截图。

参数:

  • symbol (string):交易对(例如,“EURUSD”、“XAUUSD”、“BTCUSD”)
  • timeframe (字符串):图表时间范围-M1、M5、M15、M30、H1、H4、D1、W1、MN1

退货:捕获的屏幕截图路径(PNG,1920x1080)

示例:

Capture a screenshot of XAUUSD 15-minute chart

2. list_symbols

从MT5获取可用的交易符号。

参数:

  • group (字符串,可选):按组筛选(例如,“外汇”、“加密货币”)

退货:带有描述的符号列表

示例:

Show me all Forex symbols

3. get_current_price

获取某个交易品种的实时市场数据。

参数:

  • symbol (string):交易对

退货:当前出价、要价、点差、时间

示例:

What's the current price of EURUSD?

4. get_timeframes

列出所有支持的时间范围。

退货:可用的时间段代码


📊 支持的时间范围

代码 描述
M1 1分钟
M5 5分钟
M15 15分钟
M30 30分钟
H1 1小时
H4 4小时
D1 每日
W1 每周
MN1 每月

🗂️ 项目结构

metatrader-mcp/
├── expert_advisor/
│   └── MCPChartCapture.mq5      # MQL5 Expert Advisor for chart capture
├── src/
│   └── metatrader_mcp/
│       ├── server.py             # Main MCP server
│       ├── mt5_handler.py        # MT5 connection & market data
│       └── chart_generator.py    # EA communication & screenshot handling
├── output/                       # Captured screenshots (auto-created)
├── test_ea_connection.py         # Test EA connectivity
├── pyproject.toml                # Python dependencies
└── README.md

🔧 故障排除

❌ EA未响应/超时错误

解决方案:

  1. 检查EA是否附在图表上(您应该看到😊)
  2. 在MT5中启用自动交易(Ctrl+E)
  3. 检查专家登录MT5的错误
  4. 尝试删除并重新连接EA

❌ “MT5初始化失败”

解决方案:

  1. 验证MT5是否已安装: C:\Program Files\MetaTrader 5\terminal64.exe
  2. 至少打开一次MT5进行初始化
  3. 如果是自定义安装路径,请设置 MT5_PATH 环境变量

❌ 未找到屏幕截图文件

解决方案:

  1. 确保EA正在运行(检查😊 在图表上)
  2. 检查专家日志中的错误
  3. 验证是否启用了自动交易
  4. 尝试捕获已打开的图表

❌ “无法获取符号的数据”

解决方案:

  1. 该符号必须存在于您的MT5中(查看市场观察)
  2. 符号名称区分大小写
  3. 首先尝试使用“EURUSD”进行测试

❌ 编码错误/乱码文本

解决方案:这是固定的!该系统使用UTF-16LE编码进行EA通信。


💡 使用示例

使用自定义指标捕获图表

Claude, capture a screenshot of my XAUUSD M15 chart

→ 返回包含所有自定义指标的实际MT5图表!

获取多个图表

Show me charts for EURUSD H1, GBPUSD H4, and XAUUSD M15

查看当前价格

What are the current prices for EURUSD, GBPUSD, and USDJPY?

探索符号

List all available Gold symbols

🧪 测试

运行测试套件:

# Test EA connection
python test_ea_connection.py

# Test chart capture
python take_screenshot.py

# Test specific symbol
python capture_xauusd.py

📝 配置(可选)

创建一个 .env 自定义设置文件:

# Custom MT5 installation path
MT5_PATH=C:\Program Files\MetaTrader 5

# Custom output directory for screenshots
OUTPUT_DIR=./charts

🤝 贡献

欢迎投稿!请随意:

  • 报告错误
  • 建议功能
  • 提交拉取请求
  • 改进文档

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件

🙏 致谢

📞 支持

有问题吗?以下是如何获得帮助:

  1. 运行诊断程序: python test_ea_connection.py
  2. 查看MT5专家日志:在MT5中查找错误消息
  3. 验证设置:附EA?是否启用自动交易? 😊 可见?
  4. 打开一个问题:包括错误消息和系统信息

由以下材料制成❤️ 适用于希望将MT5与Claude AI集成的交易者

没有浏览器自动化。没有硒。纯粹的轻量级MT5图表捕捉!