MetaTrader API — 帮助中心
使用搜索或浏览左侧分类以查找答案。每个问题都有可分享的独立链接。
使用搜索或浏览左侧分类以查找答案。每个问题都有可分享的独立链接。
MetaTrader API 是一项托管的 REST API 服务,让您以编程方式操作 MT4 与 MT5 交易账户——无需在电脑上自行运行 MetaTrader。
您只需连接交易账户一次,之后即可使用标准 HTTP 请求,从任意编程语言执行交易、读取账户数据并获取市场价格。
完整技术细节请参阅官方文档。
整个过程不到 30 分钟:
POST /v1/seats 或 /ConnectEx)。分步指南请见身份验证文档。
任何能发起 HTTP 请求的语言都可以使用 MetaTrader API。由于它是基于 HTTPS 的标准 REST API,您可以使用 Python、JavaScript/Node.js、Go、C#、Java、Ruby、PHP 或任何其他语言。
它同样适用于 Postman、Make(Integromat)、n8n、Zapier 等无代码工具,以及任何能调用 HTTP 端点的工具。
是的。该 API 同时支持 MetaTrader 4(MT4)与 MetaTrader 5(MT5)账户,您可以同时连接并管理两个平台的账户。
按席位计费:每个席位连接一个 MT4 或一个 MT5 账户,同一订阅中可以混合使用 MT4 和 MT5 席位。
MT4 与 MT5 提供相同的端点,包括 /PendingOrderHistory 和 /HistoryDealsByPositionId。唯一的区别是 MT4 不支持止损限价单(BuyStopLimit/SellStopLimit)。各平台的完整端点参考请见文档。
不需要。这正是本服务的核心目的。MetaTrader API 完全在服务器端运行。您只需一次性提供券商登录凭据,API 会代您维持与券商的连接。
您无需安装 MetaTrader,无需保持任何桌面程序运行,也无需用 MQL 编写任何 Expert Advisors。
在 x-api-key 请求头中传入 API 密钥,并将账户 UUID 作为 id(或 accountId)查询参数传入:
curl -X GET "https://api.metatraderapi.net/AccountSummary?id=YOUR_ACCOUNT_UUID" \
-H "x-api-key: YOUR_API_KEY"
API 密钥在控制台中账户卡片上通过 Generate key 创建,只显示一次。Settings(设置)中的管理密钥用于开通账户,不能用作 x-api-key 请求头。
账户的 API 密钥在 app.metatraderapi.net 控制台中该账户的卡片上创建:点击 Generate key。密钥只显示一次,请立即保存。/ConnectEx 和 POST /v1/seats 也会为所连接的账户返回一个新密钥。Settings(设置)中存放的是管理密钥,用于开通(创建和移除席位),不用于交易调用。
推荐做法:将其保存为环境变量(例如 MTAPI_KEY),在运行时注入。
有两种方式:
登录 app.metatraderapi.net,进入 Accounts(账户)板块,填写您的 MT4/MT5 凭据(登录号、密码、券商服务器名称)。连接成功后,您会获得该账户的唯一 UUID。
在后端使用 POST /v1/seats(JSON 请求体,管理密钥)。也可以调用 /ConnectEx?user=&password=&server=&platform=MT5&wait=60,使用管理密钥或既非只读、也不限定单个账户的 API 密钥。两种方式都会返回账户 id 以及该账户的新 apiKey。具体参数与响应格式请见 API 文档。
BrokerName-Live 或 BrokerName-Demo。使用 /CheckConnect?id=。它返回 true 或 false:账户此刻是否已连接到券商。连接中断后,服务会自动恢复。/ConnectState?id= 显示状态及 statusReason,/Reconnect?id= 可强制重新连接。
请求格式与响应值的详情请见文档。
使用 /Disconnect?id=(或用管理密钥调用 DELETE /v1/seats/{id})断开并移除已连接的交易账户。不带 id 调用 /ConnectState(或使用 GET /v1/seats)即可列出当前所有已连接账户。
断开连接会释放该账户的席位。该席位在当前计费月结束前仍保持已付费状态,下一个连接的账户可直接使用该席位,无需额外付费。
请求参数请见 API 文档。
有多少席位,就能连接多少账户。按席位计费:一个席位 = 同时连接一个账户。可随时按需添加席位(第 1–4 个席位每席位每月 $14,第 5–19 个席位 $13,第 20 个席位起 $12,预先收费)。
每位客户最多可使用 50 个席位;如需更多可申请——请联系支持团队。
该 API 覆盖完整的交易流程:
/OrderClose),或与反向持仓对冲平仓(/OrderCloseBy)端点、参数与响应格式的完整说明请见 API 文档。
使用 /OrderSend 端点。和所有经典端点一样,它是带查询参数的 GET 请求:品种、操作类型(Buy、Sell、BuyLimit 等)、以手为单位的交易量,以及可选的止损、止盈、备注和 clientOrderId:
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.metatraderapi.net/OrderSend?id=YOUR_ACCOUNT_UUID&symbol=EURUSD&operation=Buy&volume=0.01&clientOrderId=order-1"
MT4 和 MT5 的参数相同。止损限价单(stopLimitPrice)仅 MT5 支持。挂单可带可选的 expiration;expirationType 在 MT5 上会被忽略。
使用 /OrderHistory 或 /OrderHistoryPagination 端点。两者都只按时间范围筛选(from 和 to,ISO-8601 或 Unix 秒);/OrderHistoryPagination 将结果分页(ordersPerPage、pageNumber)。按订单号筛选或排序请在您自己的代码中完成。MT4 和 MT5 都还提供 /PendingOrderHistory 和 /HistoryDealsByPositionId,用于更细粒度的查询。
完整参数参考请见文档。
支持。该 API 提供 WebSocket(事件)连接用于实时推送,让您直接接收更新,而不必反复轮询 REST 端点。
通过 WebSocket 数据流(wss://api.metatraderapi.net/v1/stream?id=,使用 x-api-key 请求头认证),您可以接收已订阅品种的实时报价和 K 线、带实时盈亏的持仓、挂单以及每一笔已成交交易,并每 10 秒收到一次心跳。每个账户最多可同时打开 25 个数据流。
获取实时买卖价可使用 REST 端点 /GetQuote(多个品种可用 /GetQuoteMany),或通过 WebSocket 数据流订阅报价以获得持续的实时更新。
/GetQuote 需要账户 id 和 symbol。每个账户和品种的响应会缓存 250 毫秒;添加 cached=0 可绕过缓存。
历史 OHLC K 线请在 MT4 和 MT5 上使用 /PriceHistory(/QuoteHistory 是它的别名)——周期选项和参数请参阅文档。
只有一个方案:按席位付费,每个席位都包含完整的 API——REST、WebSocket 实时推送,并同时支持 MT4 与 MT5。以下价格不含增值税:
每个席位同时容纳一个已连接的 MT4 或 MT5 账户,按完整的计费月预先收费。示例:10 个席位 = 4 × $14 + 6 × $13 = 每月 $134。所有价格以价格页面为准。
没有。我们目前不提供免费试用。如对如何评估该 API 有疑问,请通过 Telegram 或发送邮件至 support@metatraderapi.net 与我们联系。
您可以先用一个席位起步,费用为 $14,集成跑通后再增加席位。
可以。该方案按席位计费,每个席位同一时间连接一个账户。所有席位都在使用时,再连接一个账户会新增一个席位,价格为每月 $14(第 5–19 个席位 $13,第 20 个起 $12),在新增时预先收费。断开一个账户会腾出其席位,供下一个账户直接使用、无需额外付费,您也可以在控制台中释放未使用的席位。每位客户最多可使用 50 个席位;如需更多可申请——请联系支持团队。
通过 Stripe 使用信用卡或借记卡付款,以订阅形式按月扣费。我们不接受加密货币或银行转账。
下单即表示您同时接受 Stripe 服务协议。
可以,您随时都能取消。取消将在当前计费月结束时生效——未使用的天数不作部分退款。
本服务由 Apex Vanguard Dynamics LLC 运营,该公司是在美国注册的有限责任公司(LLC),注册地址为 30 N Gould St Ste R, Sheridan, WY 82801, 美国。
联系邮箱:support@metatraderapi.net · 电话:+1 (929) 333-6422
完整法律信息请见法律声明。
服务条款适用美国怀俄明州法律。任何争议均由怀俄明州法院专属管辖,双方同意先尝试通过善意协商解决。
您可以在网站上阅读完整的服务条款。
不可以。服务条款明确要求您对登录凭据和 API 密钥保密,未经 MetaTrader API 事先书面同意不得与第三方分享。
如果您在该 API 之上构建产品或服务(例如面向自己的客户),应自行搭建身份验证层,并将 MetaTrader API 密钥仅保留在服务器端——绝不可暴露给最终用户。
不可以。服务条款禁止在未获 MetaTrader API 明确书面许可的情况下抓取或转售本服务的数据。订阅同样不可转让。
如有具体的商业需求,请联系 support@metatraderapi.net。
可以。保密协议可按需提供,并须由双方书面确认。除另行协商外,适用标准 NDA 条款。
如需申请,请联系 support@metatraderapi.net。
MetaTrader API 通过以下措施保护已连接的账户:
安全措施、子处理方和实测可用率记录在信任中心中;数据处理方式见隐私政策。
MetaTrader API 由一家美国公司运营(见MetaTrader API 由谁运营?),并声明遵守适用的数据保护法规,包括在适用于欧盟/欧洲经济区用户时的 GDPR。
所收集的个人数据包括:账户信息(姓名、电子邮箱、账单信息)、使用数据(API 日志、IP 地址、浏览器与操作系统)以及通过 Stripe 处理的支付信息。
我们不出售个人数据。个人数据仅与代表我们处理数据的服务提供商共享(例如托管、支付和邮件发送),客户可签署数据处理协议(DPA)。详情请参阅隐私政策和信任中心。
根据隐私政策,可能收集以下数据:
对于已连接的交易账户,还会存储券商登录凭据(以 AES-256-GCM 加密存储),API 获取的交易数据代表您进行处理。客户数据和 API 服务器位于欧盟(芬兰和德国)。私有托管席位运行在您所选择的区域。
完整信息请阅读隐私政策。
连接失败最常见的原因:
ICMarkets-Live02)。可在 MetaTrader 的文件 → 开立账户中找到。可用 /CheckConnect 端点确认当前连接状态。若问题仍存在,请联系 support@metatraderapi.net。
身份验证错误通常意味着 API 密钥缺失、错误或格式不正确。请检查以下几点:
x-api-key 请求头,而不是 Authorization: Bearer。正确的格式请见身份验证文档。
订单被拒来自券商的交易服务器,而非 MetaTrader API。常见原因包括:
EURUSD 与 EURUSDm 之别)。券商拒单不是 HTTP 错误:API 返回 HTTP 200 和订单对象,其中 state 字段是券商的结果代码。10009 表示已成交;其他任何值都是拒绝原因(例如 10016 止损/止盈无效、10018 休市、10019 资金不足;MT4 上为 MT4 错误号)。