项目简介

MetaTrader5 MCP 服务器是一个将MetaTrader5(MT5)交易终端的功能通过Model Context Protocol (MCP) 标准暴露给大型语言模型 (LLM) 应用的后端服务。它允许LLM客户端以标准化的方式获取实时的市场数据、历史数据、执行交易操作、管理账户信息,并支持复杂的数据分析和预测任务,从而实现智能化的量化交易和策略验证。

主要功能点

  • 市场数据访问: 获取交易品种列表、详细信息、历史K线(OHLCV)、tick数据和市场深度(DOM)。
  • 技术分析: 计算多种技术指标,如RSI、MACD、EMA等。
  • 数据简化与编码: 支持LTTB、RDP、SAX等多种算法对市场数据进行降采样、分段或压缩编码,以便LLM高效处理。
  • 预测与波动率估计: 提供多种预测模型(如Theta、ARIMA、蒙特卡洛模拟)进行价格预测,并支持EWMA、GARCH等方法进行波动率估计。
  • 模式识别: 识别K线模式、经典图表模式(如头肩形、三角形)和艾略特波浪模式。
  • 策略回测与优化: 支持滚动回测以评估预测模型的性能,并可优化盈亏目标(TP/SL)的设置。
  • 交易执行与管理: 允许LLM下达市价单、挂单、修改订单、平仓、查询账户信息、历史交易记录和当前持仓。
  • 上下文报告: 生成一站式综合分析报告,包括市场背景、枢轴点、波动率、预测与回测结果等。

安装步骤

  1. 安装MetaTrader5终端: 确保您的计算机上已安装MetaTrader5交易终端。
  2. 安装Python依赖:
    pip install -r requirements.txt

服务器配置

MCP客户端需要配置MCP服务器的启动命令 (command) 及其参数 (args) 才能与MCP服务器建立连接。以下是MCP服务器的配置信息示例(JSON格式):

{
  "server_name": "MetaTrader5 MCP 服务器",
  "command": "python",
  "args": ["server.py"],
  "env": {
    "MT5_LOGIN": "<您的MetaTrader5账户号码>",
    "MT5_PASSWORD": "<您的MetaTrader5账户密码>",
    "MT5_SERVER": "<您的交易服务器名称,例如: 'MetaQuotes-Demo'>",
    "MT5_TIME_OFFSET_MINUTES": "0"
  },
  "comment": "MetaTrader5 MCP 服务器用于提供市场数据和交易功能。'MT5_TIME_OFFSET_MINUTES' 可选,用于配置MT5服务器时间与UTC的偏移(分钟),例如,对于UTC+2,设置为'120';对于UTC-4,设置为'-240'。所有时间戳将根据此偏移量标准化为UTC。"
}

请注意:

  • '<您的MetaTrader5账户号码>'、'<您的MetaTrader5账户密码>' 和 '<您的交易服务器名称>' 处请替换为您的实际MT5账户信息。
  • 'MT5_TIME_OFFSET_MINUTES' 可选,用于配置MT5服务器时间与UTC的偏移(分钟)。

基本使用方法

  1. 启动MCP服务器: 在项目根目录下,打开命令行工具并执行:
    python server.py
    服务器将在后台运行,等待MCP客户端连接。
  2. 通过MCP客户端交互: 一旦服务器启动,您可以使用任何兼容MCP协议的客户端(如支持MCP协议的LLM客户端)连接到此服务器。客户端将通过JSON-RPC协议发送请求,调用服务器暴露的工具,如获取市场数据、执行交易等。

信息

分类

商业系统