项目简介
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下达市价单、挂单、修改订单、平仓、查询账户信息、历史交易记录和当前持仓。
- 上下文报告: 生成一站式综合分析报告,包括市场背景、枢轴点、波动率、预测与回测结果等。
安装步骤
- 安装MetaTrader5终端: 确保您的计算机上已安装MetaTrader5交易终端。
- 安装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的偏移(分钟)。
基本使用方法
- 启动MCP服务器:
在项目根目录下,打开命令行工具并执行:
服务器将在后台运行,等待MCP客户端连接。python server.py - 通过MCP客户端交互: 一旦服务器启动,您可以使用任何兼容MCP协议的客户端(如支持MCP协议的LLM客户端)连接到此服务器。客户端将通过JSON-RPC协议发送请求,调用服务器暴露的工具,如获取市场数据、执行交易等。
信息
分类
商业系统