1. 为什么 MT5 量化 EA 需要一个 AI Agent 来监管
跑 MT5 量化 EA 的人,大多经历过同一个循环:策略挂上图表,前两周盯得比看盘还勤,第三周开始松懈,某天行情突变,EA 在马丁第 5 层加仓,你才发现账户回撤已经超出心理预期。问题不在于 EA 不自动,而在于它太自动——自动到你不知道它此刻在做什么、为什么这么做、接下来会做什么。
EasyDeal 这个开源项目想解决的正是这件事。它把 MT5 的操作封装成一组 MCP(Model Context Protocol)工具,任何支持 MCP 的 AI Agent——Claude Code、Fay、Claude Desktop 等——接入之后,就能通过 ReAct 推理-行动循环自主调用这些工具:读账户、读持仓、读 EA 日志、做一致性校验,甚至在你授意下修改 MQL5 策略代码。AI 不再是对着 K 线截图猜行情,而是直接读你真实账户里 EA 的真实状态。
这篇指南聚焦一条完整链路:以 Claude Code 或 Fay 作为执行端,通过 TaoToken 统一 Key/API 通道接入模型能力,围绕 EasyDeal 给出可复制的 config.toml / settings.json 骨架与 CC Switch 配置,最后演示一次「EA 状态读取 + 改进建议」的验证动作。适合已经在跑 MT5 EA、想给策略加一层 AI 监管副驾的量化玩家,也适合想用 Claude Code 做量化 Agent 但卡在模型接入环节的开发者。
2. TaoToken 前置:统一 Key 与 API 通道
在配 EasyDeal 的 MCP Server 之前,先把模型通道打通。Claude Code 和 Fay 都需要一个能稳定调用 Claude 系列模型的入口,TaoToken 在这里扮演的是统一 Key/API 通道的角色——你只需要一个 API Key,就能在多个 Agent 端复用同一套模型能力,不用为每个工具单独申请和切换。
官网入口:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
API 基址:https://taotoken.net/api(注意这个地址不加 UTM 参数,直接用于配置)
操作顺序建议这样走:先注册并登录控制台,在 API Keys 页面创建一个新 Key,复制保存;然后确认账户余额或额度状态;最后再回到 Claude Code / Fay 的配置里填入。Key 只显示一次,建议创建后立刻存进密码管理器。
控制台地址:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
API Keys 管理页:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
注意:EasyDeal 的 MCP Server 本身不绑定模型厂商,它只负责把 MT5 能力暴露成工具。真正调用模型的是 Claude Code / Fay 这一端,所以模型通道配在 Agent 侧,而不是 EasyDeal 侧。这个分工想清楚,后面排障会省很多时间。
3. 可复制配置:config.toml 与 settings.json 骨架
EasyDeal 的部署分三块:MT5 交易端 EA、Python 监管端 MCP Server、AI Agent 接入端。下面给出可直接改用的配置骨架,路径和字段按你本机实际情况替换。
3.1 EasyDeal 监管端 config.toml
# easydeal_mcp_server 配置骨架 [mt5] # MT5 终端数据目录,Windows 下通常在 AppData 里 terminal_path = "C:/Users/YourName/AppData/Roaming/MetaQuotes/Terminal/XXXXXXX" # 交易账户,建议先用 demo account_login = 12345678 account_password = "your_demo_password" server = "YourBroker-Demo" [server] # MCP Server 监听方式,stdio 适合本地 Agent 直连 transport = "stdio" name = "easydeal-mcp" [monitor] # 监管轮询间隔(秒) poll_interval = 5 # 是否开启一致性校验 consistency_check = true # EA 日志读取路径 ea_log_path = "C:/Users/YourName/AppData/Roaming/MetaQuotes/Terminal/XXXXXXX/MQL5/Logs" [risk] # 新闻窗口前暂停加仓的分钟数 news_pause_minutes = 30 # 最大允许马丁层数,超过触发告警 max_martin_layer = 33.2 Claude Code 的 settings.json 接入 MCP
Claude Code 通过 MCP 配置登记 EasyDeal 的 Server。在项目或用户级 settings.json 中加入:
{ "mcpServers": { "easydeal": { "command": "python", "args": ["D:/EasyDeal/easydeal_mcp_server.py"], "env": { "EASYDEAL_CONFIG": "D:/EasyDeal/config.toml" } } } }3.3 CC Switch 配置:把模型通道指向 TaoToken
CC Switch 用来在多个模型通道之间切换。新增一个 provider,把 Base URL 指向 TaoToken 的 API 地址,Key 填你在控制台创建的那把:
{ "providers": [ { "name": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的Key", "models": { "default": "claude-sonnet-4-5", "fast": "claude-haiku-4-5" } } ], "active": "taotoken" }Fay 端的配置逻辑一致,在它的模型设置里把 API 地址和 Key 换成上面这套即可。Fay 作为数字人 Agent 框架,接入 EasyDeal 的 MCP 工具后,可以用语音或文字直接问 EA 状态。
提示:config.toml 里的 terminal_path 和 ea_log_path 一定要填对,这是后面「读不到 EA 状态」最常见的根因。MT5 的 Terminal 目录名是一串随机字符,别照抄示例。
4. 验证请求:一次 EA 状态读取与改进建议
配置完成后,先别急着上实盘。用 demo 账户跑一次完整验证,确认链路通了。
第一步,启动 EasyDeal 的 MCP Server:
python easydeal_mcp_server.py --config D:/EasyDeal/config.toml看到 Server 正常监听、无报错后,打开 Claude Code,确认 MCP 工具已加载。你可以先问一句「你现在能调用哪些 EasyDeal 工具」,Agent 会列出可用的工具清单,比如读账户、读持仓、读日志、一致性校验等。
第二步,发起状态读取请求。在 Claude Code 里输入:
读取当前 MT5 账户状态:净值、持仓列表、每单浮盈浮亏,并告诉我 EA 现在处于马丁第几层。Agent 会自主调用 EasyDeal 的工具,返回类似这样的结果:
账户净值:10240.50 USD 持仓:3 单 XAUUSD,方向多 浮亏:-120.30 USD 马丁层级:第 2 层 距下一层加仓触发价:约 4 美元第三步,请求改进建议。接着问:
把今天的 EA 成交日志和策略规则比一比,有没有不一致的地方?这段加仓逻辑风险如何,帮我把马丁层数从 5 改到 3,并解释影响。Agent 会读取日志、对照规则、给出偏差清单,并在你确认后修改 MQL5 代码。改完的代码建议先回测,再小仓位验证。
第四步,验证新闻过滤。问一句「未来 30 分钟有没有重要财经数据,要不要提前减仓」,Agent 会调用新闻日历工具,返回数据窗口和仓位建议。这一步能直观感受到「读真实状态」和「看截图猜」的区别。
5. 本篇常见错排查
链路跑不通时,按下面顺序排查,基本能覆盖九成问题。
MCP 工具加载不出来:先确认 easydeal_mcp_server.py 进程是否在跑,再看 Claude Code 的 settings.json 里 command 和 args 路径是否正确。Windows 下路径用正斜杠或双反斜杠,单反斜杠会被转义。
读不到 EA 状态或日志:九成是 config.toml 里的 terminal_path / ea_log_path 填错。去 MT5 的「文件」-「打开数据文件夹」确认实际路径,Terminal 后面那串随机字符每个安装都不同。
模型调用报 401 或鉴权失败:检查 CC Switch 里的 apiKey 是否完整复制,baseUrl 是否为 https://taotoken.net/api。Key 前后不要带空格,创建后只显示一次,丢了就重新建一把。
Agent 回答泛泛而谈、不调用工具:说明 MCP 没连上,Agent 退化成纯聊天。回到第 4 步确认工具清单能否列出。如果列不出,问题在 MCP 配置,不在模型。
改了代码但 EA 行为没变:MQL5 改完需要重新编译并重新挂载,MT5 不会热加载。改策略后先回测,再小仓位验证,别直接重仓。
新闻过滤不生效:检查 config.toml 里 news_pause_minutes 是否被注释掉,以及财经日历数据源是否可访问。
注意:涉及真实下单、改单的关键操作,务必保留人工确认。EasyDeal 的定位是监管与辅助,AI 给的是建议和解释,主动权在你手里。
6. 把 AI 监管接进你的量化工作流
跑通一次验证之后,你可以把这条链路固化成日常流程:每天开盘前让 Agent 做一次账户与规则一致性校验,重要数据窗口前让它提醒减仓,收盘后让它读日志、总结当天 EA 的实际动作与策略规则的偏差。长期做编码和 Agent 编排的话,Coding Plan 更适合持续调用:
https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
想直接在网页里验证模型对话效果,可以用模型对话入口:
https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
接入文档在这里,MCP 和 API 的细节都能查到:
https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
Claude Code 相关的 Anthropic 接入说明:
https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
EasyDeal 的仓库在 Gitee 和 GitHub 都能找到,自带 GMarket.mq5 核心 EA,也支持监管你自己的策略。先用 demo 账户把第 4 步的验证动作跑三遍,确认状态读取、日志校验、代码修改三条路径都通,再考虑接实盘。量化交易有风险,AI 是副驾不是自动驾驶,关键操作留人工确认这一步别省。