MT4后台测试MCP服务器
一 主控程序 服务器,使Claude Desktop(或Claude Code)能够完全控制MT4回测管道,并支持Tick Data Suite。
You: "Analyze EURUSD, create a mean-reversion EA, backtest 2020-2024"
Claude: write_ea -> compile_ea -> run_backtest -> analyze report -> iterate先决条件
- Python 3.10+
- MetaTrader 4 --用于回溯测试的专用实例(不是您的真实/资金账户)
- Tick数据套件 在MT4中安装和配置
- 克劳德桌面版 (MAX计划)或 克劳德代码
快速开始
1.克隆并安装
git clone https://github.com/YOUR_USERNAME/mt4-mcp-server.git
cd mt4-mcp-server视窗 (建议使用——MT4仅适用于Windows):
setup.bat手动设置:
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt2.配置
复制示例环境文件并填写您的值:
cp .env.example .env编辑 .env 使用您的路径和凭据:
MT4_TERMINAL_PATH=C:\MT4-Backtest\terminal.exe
MT4_METAEDITOR_PATH=C:\MT4-Backtest\metaeditor.exe
MT4_DATA_FOLDER=C:\MT4-Backtest
MT4_REPORTS_FOLDER=C:\MT4-Backtest\reports
MT4_LOGIN=your_account_number
MT4_PASSWORD=your_password
MT4_SERVER=YourBroker-Server安全说明:.env包含凭据,并通过以下方式从版本控制中排除.gitignore永远不要承诺。
3.验证
validate.bat这将检查Python、依赖项和MT4路径是否配置正确。
4.连接到克劳德桌面
将以下内容添加到您的Claude Desktop配置文件中:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mt4-backtester": {
"command": "C:\\mt4-mcp-server\\venv\\Scripts\\python.exe",
"args": ["C:\\mt4-mcp-server\\mt4_mcp_server.py"]
}
}
}调整路径以匹配您克隆存储库的位置。
一个工作示例可在 claude_desktop_config.example.json.
5.重新启动克劳德桌面
重新启动后,您应该看到 mt4背酯 Claude中提供的工具。
可用工具
| 工具 | 说明 |
|---|---|
write_ea | 将MQL4源代码写入MT4专家目录 |
compile_ea | 编译 .mq4 到 .ex4 通过MetaEditor命令行界面 |
run_backtest | 运行一次回溯测试并返回原始HTML报告 |
run_batch_backtest | 使用不同的参数顺序运行多个回溯测试 |
read_report | 阅读之前生成的回溯测试报告 |
list_experts | 列出可用的EA(源代码和编译状态) |
list_reports | 列出最近的回溯测试报告 |
save_research_log | 将研究阶段条目持久化到磁盘(JSONL) |
read_research_log | 从会话中读取研究日志条目 |
MT4设置(一次性)
如果您还没有专用的MT4回溯测试实例:
- 安装单独的MT4实例 在类似的文件夹中
C:\MT4-Backtest\
- 使用 /portable 旗帜,保持一切自给自足 - 此实例仅用于回溯测试,请勿在此基础上进行交易
- 安装Tick数据套件 在这种情况下
- 为每个符号预先配置TDS:
- 打开MT4>策略测试器 - 选择一个交易品种(例如欧元兑美元)>启用“使用分时数据”>配置可变点差 - 对计划测试的每个符号重复此操作 - 运行手动回溯测试并验证99%的建模质量
- 验证MetaEditor是否从CLI编译:
"C:\MT4-Backtest\metaeditor.exe" /compile:"C:\MT4-Backtest\MQL4\Experts\Moving Average.mq4" /logA. .ex4 文件应出现在同一目录中。
- 从CLI验证回溯测试是否有效:
start /wait /min "C:\MT4-Backtest\terminal.exe" "C:\MT4-Backtest\tester\test.ini"MT4应该打开,运行回溯测试,然后自动关闭。
项目结构
mt4-mcp-server/
├── mt4_mcp_server.py # MCP server (9 tools)
├── .env.example # Configuration template
├── requirements.txt # Python dependencies
├── setup.bat # Automated setup (Windows)
├── validate.bat # Validate installation
├── claude_desktop_config.example.json # Claude Desktop config template
├── SETUP_GUIDE.md # Detailed setup guide with architecture
└── AUTONOMOUS_RESEARCH_PROMPT.md # Prompt template for autonomous research运作原理
┌─────────────────────────────────────────────────┐
│ Claude Desktop / Code │
│ │
│ "Create a mean-reversion EA on EURUSD, │
│ backtest 2020-2024 with every tick" │
└────────────────────┬────────────────────────────┘
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────────────────────┐
│ mt4_mcp_server.py │
│ │
│ write_ea() → writes .mq4 to Experts/ │
│ compile_ea() → calls metaeditor.exe /compile │
│ run_backtest()→ launches terminal.exe, waits │
│ read_report() → returns raw HTML report │
└────────────────────┬────────────────────────────┘
│ File system + subprocess
▼
┌─────────────────────────────────────────────────┐
│ MT4 (dedicated backtest instance) │
│ + Tick Data Suite │
│ │
│ MQL4/Experts/ ← EA .mq4 and .ex4 files │
│ tester/ ← .ini, .set config files │
│ reports/ ← .htm backtest reports │
└─────────────────────────────────────────────────┘已知限制
| 限制 | 解决方法 |
|---|---|
| TDS“使用报价数据”无法通过CLI配置 | 在MT4 GUI中为每个交易品种预配置一次 |
| 每个MT4实例一次进行一次回溯测试 | 使用顺序批处理模式,或安装多个实例 |
| MT4有时无法完全关闭 | TestShutdownTerminal=true +服务器超时 |
MetaEditor CLI偶尔会产生损坏 .ex4 | 服务器验证编译并报告失败 |
自主研究
这 AUTONOMOUS_RESEARCH_PROMPT.md 该文件包含一个用于运行完全自主的EA研究会话的提示模板。Claude将分析数据、设计策略、回溯测试、验证样本外,并生成结构化报告——所有这些都不需要人工干预。
许可证
看 许可证 了解详情。
