MetaTraderAPI
免费开始使用 登录账户

MetaTrader API 快速上手:5 步接入 MT4 / MT5

不装终端、不写 EA,用任意语言在 15 分钟内读出账户数据并发出第一笔订单

一句话答案

接入 MetaTrader API 只需要三样东西:一个 API Key、一个绑定后返回的账户 UUID、一个能发 HTTPS 请求的运行环境。全部流程通常在 15 分钟内完成,不需要安装 MetaTrader 终端,也不需要编写任何 MQL 代码。

最后更新:2026年8月27日适用平台:MT4 / MT5难度:入门作者:MetaTrader API 技术团队

五个步骤

  1. 1. 注册账号并生成 API Key

    在控制台注册后进入设置页生成 API Key。Key 等同于账户凭据,只保存在服务端环境变量里,不要提交进代码仓库,也不要出现在前端页面。

  2. 2. 绑定 MT4 / MT5 交易账户

    在控制台的账户页填写经纪商服务器名、交易账号与密码并提交,系统会返回一个账户 UUID。这个 UUID 代表一个持续维护的账户会话,之后所有接口调用都用它来指定操作的账户。

  3. 3. 发出第一个请求:读取账户摘要

    先用只读接口验证链路是否通。返回中包含余额、净值、保证金与可用保证金,能拿到这条数据就说明认证、账户绑定与网络三个环节全部正常。

  4. 4. 订阅实时推送

    轮询适合低频查询,实时行情、订单状态与净值变化应该用 WebSocket 长连接接收。生产环境务必实现断线重连与心跳检测,网络抖动是长连接最常见的故障来源。

  5. 5. 下单前的三项检查

    第一,先在模拟账户上跑通;第二,确认经纪商的品种命名(EURUSD 与 EURUSD.m 是两个不同的符号);第三,确认最小手数与手数步长,取整错误是新接入时最常见的失败原因。

示例代码

下面的例子调用账户摘要接口,这是验证接入是否成功最快的方式。请求成功即代表认证、账户会话与网络链路三项全部正常。

# 读取账户摘要(余额 / 净值 / 保证金)
curl -X GET "https://api.api2trade.com/AccountSummary?id=YOUR_ACCOUNT_UUID" \
  -H "x-api-key: YOUR_API_KEY"
import os, requests

BASE = "https://api.api2trade.com"
HEADERS = {"x-api-key": os.environ["MT_API_KEY"]}
ACCOUNT = os.environ["MT_ACCOUNT_ID"]      # 控制台绑定账户后得到的 UUID

r = requests.get(f"{BASE}/AccountSummary", params={"id": ACCOUNT},
                 headers=HEADERS, timeout=10)
r.raise_for_status()
acc = r.json()
print("余额", acc["balance"], "净值", acc["equity"])
const BASE = "https://api.api2trade.com";

async function accountSummary(id) {
  const res = await fetch(`${BASE}/AccountSummary?id=${id}`, {
    headers: { "x-api-key": process.env.MT_API_KEY }
  });
  if (!res.ok) throw new Error(`HTTP ${res.status}`);
  return res.json();
}

accountSummary(process.env.MT_ACCOUNT_ID).then(console.log);
// 实时推送:行情、订单状态与净值变化
// 连接地址与订阅报文格式以控制台中显示的连接信息为准
const ws = new WebSocket(WS_URL);

ws.onopen  = () => ws.send(JSON.stringify({ action: "subscribe", id: ACCOUNT_UUID }));
ws.onmessage = (e) => {
  const msg = JSON.parse(e.data);
  /* 处理报价 / 订单更新 / 净值变化 */
};
ws.onclose = () => setTimeout(reconnect, backoff());  // 必须实现重连

两种认证方式对照

套餐认证方式请求头适用场景
入门版(单账户)API Keyx-api-key: YOUR_API_KEY个人项目、单账户脚本、快速验证
专业版 / 旗舰版HTTP BasicAuthorization: Basic base64(用户名:密码)多账户管理、SaaS 平台、跟单系统

升级套餐后认证方式会随之改变,记得同步修改代码中的请求头,否则会收到 401。凭据一律通过环境变量注入,不要写进代码仓库。

常见错误与排查

错误常见原因处理方式
401 Unauthorized认证头缺失或错误检查 x-api-key 拼写与 Key 内容;Pro 套餐应改用 Basic 认证
403 Forbidden套餐权限不足或该账户不属于当前 Key确认账户绑定在当前 Key 所属的组织下
404 / 无效 id账户 UUID 不存在或会话已失效回到控制台确认账户状态,必要时重新绑定
Invalid symbol品种名称与经纪商不一致先拉取该账户可交易品种列表,按返回的原始名称下单
Not enough money可用保证金不足或手数过大按净值与杠杆重新计算手数,并留出至少 30% 保证金缓冲
Timeout / 连接中断网络链路不稳定或长连接未重连实现指数退避重连;大陆访问优先选择三网直连的香港节点

中国大陆访问建议

接口本身没有地域限制,真正影响体验的是线路质量。三条实践建议:

需要固定线路或独立节点的团队,可以查看中国大陆专属方案获取定制配置与报价。

常见问题

三样东西:一个 API Key、一个已绑定并返回了 UUID 的 MT4/MT5 交易账户、一个能发 HTTPS 请求的运行环境(本地电脑、云服务器或 Serverless 均可)。不需要安装 MetaTrader 终端,也不需要写 MQL。
单账户方案使用 x-api-key 请求头;Pro 及以上方案使用 Authorization: Basic base64(用户名:密码)。两者不能混用,账户升级到 Pro 后需要把代码里的认证头一起改掉。
按顺序检查三点:请求头名称是否写成了 x-api-key(区分大小写)、Key 是否复制时带上了空格或换行、以及当前套餐对应的认证方式是否正确。401 表示凭据未通过校验,与账户 UUID 无关。
在控制台完成 MT4/MT5 账户绑定后即可看到该 UUID,它代表一个已建立的账户会话,后续所有接口都通过 ?id={uuid} 指定操作哪个账户。UUID 不要写死在前端代码里。
可以,而且强烈建议。模拟账户与实盘账户的接入方式完全一致,先在模拟账户上跑通读取、订阅与下单三条链路,再切换到实盘,只需要更换绑定的账户。
使用香港节点并选择 CN2 GIA / CU 9929 / CMI 三网直连线路时,大陆主要城市实测延迟通常在 20–40ms。不建议通过公共代理或不稳定的中转访问接口,那会显著增加超时与重连概率。
准备好开始了吗?

注册后即可生成 API Key,30 分钟内完成第一次接入

免费注册 → 查看 API 文档