MetaTrader 5 — Forex, Stocks 图标

MetaTrader 5 账户、报价与订单数据

MetaQuotes Ltd · 银行

MetaTrader 5 — Forex, Stocks 是塞浦路斯 MetaQuotes Ltd 的安卓交易终端。交易者连上券商接入点、盯报价列表、打开带指标的图表,从交易与一键下单工具栏发送市价单和挂单,管理持仓,翻阅成交与账户历史,阅读券商邮件与新闻,并在应用内支付钱包列表中入金或出金。模拟与真实账号在开户流程中分配,账户页支持 OTP、通行密钥与投资者密码;MQL5 社区登录(含 Google)打开 Channels 聊天。全球零售外汇、差价合约与交易所交易者以及白标同一终端的券商都在用它,与 MetaTrader 4、cTrader、TradingView 并列作为多资产移动交易台。

TradeInfoRecord 快照钉住已连接 login 的 balance、equity、marginFree 与 marginLevel;TradePosition 行带上 symbol、volume、priceOpen、sl、tp 与浮动 profit。SelectedRecord 在自选上推送 bid、ask 与 spread;TradeOrder 与 TradeDeal 历史补上成交状态、佣金与库存费。Payment 与 Wallet 对象给出支付页使用的入金限额(limitDepositMin、userAmount、walletCurrency)。

PMS 用实时保证金对隔夜账单,报价引擎把买卖价打进预警,财务把钱包入金勾到成交票据。openData Studio 把这套账户、报价与支付面做成可调用的开放数据。

应用截图

  • MetaTrader 5 — Forex, Stocks 应用截图 1
  • MetaTrader 5 — Forex, Stocks 应用截图 2
  • MetaTrader 5 — Forex, Stocks 应用截图 3
  • MetaTrader 5 — Forex, Stocks 应用截图 4
  • MetaTrader 5 — Forex, Stocks 应用截图 5
  • MetaTrader 5 — Forex, Stocks 应用截图 6
  • MetaTrader 5 — Forex, Stocks 应用截图 7
  • MetaTrader 5 — Forex, Stocks 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • MQL5 社区 Google 登录

    GET /v1/community/identity/authorize osint

    用 Google 登录材料(mid、ggtok、tok、sign、rnd)换取嵌套 user 对象:user_login、user_email、metaquotes_id 与 chat_token,供 MQL5 登录后使用。

    认证方式: 无需既有令牌的签名查询参数:mid、ggtok、tok、sign(SHA-256)、rnd。响应中的 user.chat_token 作为社区会话令牌保存。

    • user_id
    • user_login
    • user_full_name
    • user_email
    • user_phone
    • metaquotes_id
    • avatar_url
    • chat_token
    • balance_total
    • balance_locked
    • balance_free_hosting_minutes
    • finance_state
    • mid
    • ggtok
    • tok
    • sign
    • rnd
    GET /v1/community/identity/authorize?mid=mqid_8f21&ggtok=ya29.a0AfH6SMC&tok=enc_tok&sign=3c9a1b&rnd=1729084800 HTTP/1.1
    Accept-Language: en-US
    {
      "user": {
        "user_id": 12004567,
        "user_login": "trader_nick",
        "user_full_name": "Nick Trader",
        "user_email": "[email protected]",
        "user_phone": "+12025550123",
        "metaquotes_id": "MQID-8891",
        "avatar_url": "https://cdn.example/avatars/trader_nick.png",
        "chat_token": "ct_9c10aa11",
        "balance_total": 12,
        "balance_locked": 0,
        "balance_free_hosting_minutes": 43200,
        "finance_state": 1
      }
    }
  • MQL5 社区注册

    GET /v1/community/identity/register osint

    通过 Google 注册流程创建 MQL5 社区账号,返回 Channels 聊天使用的同一 user 对象。

    认证方式: 无需既有令牌。AES 包装凭据加 SHA-256 签名;200 响应解析为社区用户资料(chat_token)。

    • user_id
    • user_login
    • user_full_name
    • user_email
    • chat_token
    • metaquotes_id
    • mid
    • login
    • sign
    GET /v1/community/identity/register?mid=mqid_8f21&login=trader_nick&sign=7ab2 HTTP/1.1
    Accept-Language: en-US
    {
      "user": {
        "user_id": 12004567,
        "user_login": "trader_nick",
        "user_full_name": "Nick Trader",
        "user_email": "[email protected]",
        "chat_token": "ct_9c10aa11",
        "metaquotes_id": "MQID-8891"
      }
    }
  • MQL5 用户状态与地理

    GET /v1/community/identity/status osint

    读取社区状态;geo.country 写入客户端地区,user 块解析为会话资料。

    认证方式: 身份授权调用签发的社区会话令牌。

    • geo
    • country
    • user_login
    • chat_token
    • balance_total
    • finance_state
    GET /v1/community/identity/status HTTP/1.1
    Accept-Language: en-US
    {
      "geo": {
        "country": "US"
      },
      "user": {
        "user_login": "trader_nick",
        "chat_token": "ct_9c10aa11",
        "balance_total": 12,
        "finance_state": 1
      }
    }
  • 删除 MQL5 社区账号

    POST /v1/community/identity/close osint

    从账号设置流程删除已登录的 MQL5 社区账号。

    认证方式: 登录时签发的社区 chat_token。

    • user_login
    • chat_token
    • status
    POST /v1/community/identity/close HTTP/1.1
    Content-Type: application/json
    
    {
      "user_login": "trader_nick",
      "chat_token": "ct_9c10aa11"
    }
    {
      "status": "ok"
    }
  • 交易账户快照

    GET /v1/trading/account/summary openbanking

    读取当前登录的 TradeInfoRecord:balance、equity、marginFree、marginLevel 与浮动盈亏,供交易页及其宽版信息视图展示。

    认证方式: 登录时用账号、密码与服务器建立的券商交易服务器会话;响应填充交易页展示的 TradeInfoRecord。

    • balance
    • equity
    • margin
    • marginFree
    • marginLevel
    • marginInitial
    • marginMaintenance
    • profit
    • credit
    • commission
    • assets
    • liabilities
    • blocked
    • collateral
    • hasMarginCall
    • digits
    GET /v1/trading/account/summary HTTP/1.1
    X-Account-Login: 50001234
    {
      "balance": 10250.40,
      "equity": 10312.18,
      "margin": 420.00,
      "marginFree": 9892.18,
      "marginLevel": 2455.28,
      "marginInitial": 420.00,
      "marginMaintenance": 210.00,
      "profit": 61.78,
      "credit": 0.0,
      "commission": -2.40,
      "assets": 10312.18,
      "liabilities": 0.0,
      "blocked": 0.0,
      "collateral": 0.0,
      "hasMarginCall": false,
      "digits": 2
    }
  • 当前持仓

    GET /v1/trading/positions openfinance

    为持仓视图列出 TradePosition:ticket id、symbol、volume、priceOpen、sl/tp 与浮动盈亏。

    认证方式: 当前登录的券商交易服务器会话。

    • id
    • symbol
    • action
    • volume
    • priceOpen
    • priceClose
    • sl
    • tp
    • profit
    • swap
    • comment
    • date
    • digits
    • canModify
    • canTrade
    • externalId
    GET /v1/trading/positions HTTP/1.1
    X-Account-Login: 50001234
    {
      "positions": [
        {
          "id": 91004567,
          "symbol": "EURUSD",
          "action": 0,
          "volume": 10000,
          "priceOpen": 1.08540,
          "priceClose": 1.08610,
          "sl": 1.08000,
          "tp": 1.09000,
          "profit": 7.00,
          "swap": -0.12,
          "comment": "mobile",
          "date": 1729084800,
          "digits": 5,
          "canModify": true,
          "canTrade": true,
          "externalId": ""
        }
      ]
    }
  • 挂单与工作订单

    GET /v1/trading/orders/working openfinance

    返回订单视图与挂单工具栏的 TradeOrder:type(买入限价等)、state(已挂/已成交)、手数与价格。

    认证方式: 当前登录的券商交易服务器会话。

    • order
    • symbol
    • type
    • state
    • volumeInitial
    • volumeCurrent
    • priceOpen
    • priceCurrent
    • priceTrigger
    • sl
    • tp
    • expirationType
    • expirationDate
    • dateSetup
    • comment
    • fillPolicy
    • canModify
    GET /v1/trading/orders/working HTTP/1.1
    X-Account-Login: 50001234
    {
      "orders": [
        {
          "order": 88001122,
          "symbol": "GBPUSD",
          "type": 2,
          "state": 1,
          "volumeInitial": 10000,
          "volumeCurrent": 10000,
          "priceOpen": 1.26500,
          "priceCurrent": 1.26610,
          "priceTrigger": 0.0,
          "sl": 1.26000,
          "tp": 1.27500,
          "expirationType": 0,
          "expirationDate": 0,
          "dateSetup": 1729080000,
          "comment": "limit",
          "fillPolicy": 0,
          "canModify": true
        }
      ]
    }
  • 发送交易请求

    POST /v1/trading/orders/execute openfinance

    从下单对话框提交交易动作(市价、挂单、止损止盈、修改、删除),返回结果 retcode、deal、order、成交价、bid 与 ask。

    认证方式: 券商交易服务器会话;下单前先校验动作,结果异步回读。

    • action
    • type
    • symbol
    • volume
    • price
    • sl
    • tp
    • deviation
    • fillType
    • comment
    • position
    • order
    • retcode
    • deal
    • bid
    • ask
    • time
    POST /v1/trading/orders/execute HTTP/1.1
    Content-Type: application/json
    
    {
      "action": 3,
      "type": 0,
      "symbol": "EURUSD",
      "volume": 10000,
      "price": 1.08540,
      "sl": 1.08000,
      "tp": 1.09000,
      "deviation": 10,
      "fillType": 0,
      "comment": "mobile",
      "position": 0,
      "order": 0
    }
    {
      "retcode": 10009,
      "deal": 77003344,
      "order": 88001123,
      "volume": 10000,
      "price": 1.08542,
      "bid": 1.08540,
      "ask": 1.08542,
      "comment": "",
      "digits": 5,
      "time": 1729084810,
      "timeout": 0
    }
  • 成交历史汇总

    GET /v1/trading/history/deals openfinance

    为历史页分页:成交汇总(deposit、withdrawal、profit、commission、swap)以及每笔成交的 action/entry/volume。

    认证方式: 券商交易服务器会话。先选定区间,再分页读取汇总与逐笔记录。

    • balance
    • profit
    • deposit
    • withdrawal
    • credit
    • commission
    • commission_fee
    • swap
    • buysell
    • deal
    • order
    • positionId
    • symbol
    • action
    • entry
    • volume
    • priceOpen
    • date
    • comment
    GET /v1/trading/history/deals?filter=0 HTTP/1.1
    X-Account-Login: 50001234
    {
      "summary": {
        "balance": 10250.40,
        "profit": 128.50,
        "deposit": 10000.00,
        "withdrawal": 0.0,
        "credit": 0.0,
        "commission": -8.40,
        "commission_fee": 0.0,
        "swap": -1.20,
        "buysell": 128.50,
        "digits": 2
      },
      "deals": [
        {
          "deal": 77003344,
          "order": 88001123,
          "positionId": 91004567,
          "symbol": "EURUSD",
          "action": 0,
          "entry": 0,
          "volume": 10000,
          "priceOpen": 1.08542,
          "profit": 7.00,
          "commission": -0.70,
          "swap": 0.0,
          "date": 1729084810,
          "comment": "mobile"
        }
      ]
    }
  • 自选报价

    GET /v1/market/watchlist/quotes opendata

    返回报价页的自选行情:bid、ask、high、low、spread 与 priceChange。

    认证方式: 券商交易服务器会话;报价按品种订阅级别为延迟或实时。

    • symbol
    • description
    • bid
    • ask
    • high
    • low
    • spread
    • priceChange
    • priceChangeInPips
    • digits
    • point
    • time
    • bookDepth
    GET /v1/market/watchlist/quotes HTTP/1.1
    X-Account-Login: 50001234
    {
      "quotes": [
        {
          "symbol": "EURUSD",
          "description": "Euro vs US Dollar",
          "bid": 1.08540,
          "ask": 1.08542,
          "high": 1.08710,
          "low": 1.08320,
          "spread": 2,
          "priceChange": 0.00080,
          "priceChangeInPips": 8,
          "digits": 5,
          "point": 0.00001,
          "time": 1729084815,
          "bookDepth": 10
        }
      ]
    }
  • 支付钱包目录

    GET /v1/payments/methods openbanking

    为支付页列出支付方式:name、login 以及各币种入金/出金限额。

    认证方式: 券商交易服务器会话;建立账户连接后加载支付方式。

    • name
    • login
    • paymentType
    • type
    • imageUrl
    • actions
    • currencies
    • limitDepositMin
    • limitDepositMax
    • limitWithdrawalMin
    • limitWithdrawalMax
    GET /v1/payments/methods HTTP/1.1
    X-Account-Login: 50001234
    {
      "wallets": [
        {
          "name": "Bank Card",
          "login": "card_visa",
          "paymentType": 1,
          "type": 0,
          "imageUrl": "https://broker.example/wallets/card.png",
          "actions": 3,
          "currencies": [
            {
              "name": "USD",
              "limitDepositMin": 10.0,
              "limitDepositMax": 10000.0,
              "limitWithdrawalMin": 10.0,
              "limitWithdrawalMax": 5000.0
            }
          ]
        }
      ]
    }
  • 向交易账户入金

    POST /v1/payments/fund openbanking

    从支付方式页发起入金;返回 Payment 的 recordId、state 与金额,随后可能打开确认网页视图。

    认证方式: 券商交易服务器会话;随后可在应用内网页视图完成支付确认。

    • walletName
    • userAmount
    • userCurrency
    • recordId
    • dealId
    • action
    • state
    • userCommission
    • walletAmount
    • walletCommission
    • walletCurrency
    • walletName
    • walletAccount
    • cardNumber
    • createdAt
    • completedAt
    POST /v1/payments/fund HTTP/1.1
    Content-Type: application/json
    
    {
      "walletName": "Bank Card",
      "userAmount": 500.00,
      "userCurrency": "USD",
      "fields": [
        {"field": 1, "value": "411111******1111"}
      ]
    }
    {
      "recordId": 440012,
      "dealId": 77003350,
      "action": "DEPOSIT",
      "state": "PROCESSING",
      "userAmount": 500.00,
      "userCommission": 5.00,
      "userCurrency": "USD",
      "userCurrencyDigits": 2,
      "walletAmount": 500.00,
      "walletCommission": 5.00,
      "walletCurrency": "USD",
      "walletName": "Bank Card",
      "walletAccount": "411111******1111",
      "cardNumber": "411111******1111",
      "createdAt": 1729084900,
      "completedAt": 0
    }
  • 从交易账户出金

    POST /v1/payments/payouts openbanking

    发起出金;Payment 携带 bankAccount/bankName 或电子钱包账号,直到完成或取消。

    认证方式: 券商交易服务器会话;出金在支付结果页完成或取消。

    • walletName
    • userAmount
    • userCurrency
    • recordId
    • dealId
    • action
    • state
    • userCommission
    • walletAmount
    • walletCurrency
    • bankAccount
    • bankName
    • createdAt
    POST /v1/payments/payouts HTTP/1.1
    Content-Type: application/json
    
    {
      "walletName": "Bank Card",
      "userAmount": 200.00,
      "userCurrency": "USD",
      "fields": [
        {"field": 2, "value": "GB29NWBK60161331926819"}
      ]
    }
    {
      "recordId": 440013,
      "dealId": 77003351,
      "action": "WITHDRAWAL",
      "state": "WAITING",
      "userAmount": 200.00,
      "userCommission": 2.00,
      "userCurrency": "USD",
      "walletAmount": 200.00,
      "walletCurrency": "USD",
      "walletName": "Bank Card",
      "bankAccount": "GB29NWBK60161331926819",
      "bankName": "Example Bank",
      "createdAt": 1729085000
    }
  • 支付流水

    GET /v1/payments/records openbanking

    为支付列表分页 Payment 记录(状态从初始到完成或拒绝),并提供发票视图。

    认证方式: 券商交易服务器会话;记录按 offset/count 分页,每笔可取 HTML 发票。

    • recordId
    • dealId
    • action
    • state
    • userAmount
    • userCommission
    • userCurrency
    • walletName
    • description
    • createdAt
    • completedAt
    • paymentTotal
    GET /v1/payments/records?offset=0&count=20 HTTP/1.1
    X-Account-Login: 50001234
    {
      "payments": [
        {
          "recordId": 440012,
          "dealId": 77003350,
          "action": "DEPOSIT",
          "state": "DONE",
          "userAmount": 500.00,
          "userCommission": 5.00,
          "userCurrency": "USD",
          "walletName": "Bank Card",
          "description": "Visa deposit",
          "createdAt": 1729084900,
          "completedAt": 1729084960
        }
      ],
      "paymentTotal": 1
    }
  • 分配模拟或真实账户

    POST /v1/provisioning/accounts openfinance

    从开户与个人资料页开出模拟或真实 AccountRecord(login、leverage、deposit、currency、server)。

    认证方式: 对所选服务器无需已有会话;结果为新的模拟或真实 login,随即成为当前账户。

    • login
    • name
    • server
    • company
    • currency
    • currencyDigits
    • leverage
    • deposit
    • demo
    • real
    • email
    • accountType
    POST /v1/provisioning/accounts HTTP/1.1
    Content-Type: application/json
    
    {
      "server": "MetaQuotes-Demo",
      "name": "Nick Trader",
      "email": "[email protected]",
      "leverage": 100,
      "deposit": 10000.0,
      "currency": "USD"
    }
    {
      "login": 50001234,
      "name": "Nick Trader",
      "server": "MetaQuotes-Demo",
      "company": "MetaQuotes Ltd",
      "currency": "USD",
      "currencyDigits": 2,
      "leverage": 100,
      "deposit": 10000.0,
      "demo": true,
      "real": false,
      "email": "[email protected]",
      "accountType": 0
    }

数据类别

  • 账户余额
  • 当前持仓
  • 工作订单
  • 成交历史
  • 市场报价
  • 入金与出金
  • MQL5 社区资料

数据使用场景与案例

  • 隔夜保证金对账

    券商 PMS 按 login 拉取 TradeInfoRecord 的 balance、equity、marginFree、marginLevel,与后台账本比对,在下一交易时段前根据 hasMarginCall 发出追加保证金提示。

  • 报价预警分发

    自选机器人读取 SelectedRecord 的 bid、ask、spread 与 priceChangeInPips(如 EURUSD),在点差或点数变动越过台桌阈值时发预警。

  • 入金与成交勾对

    财务把 Payment 的 recordId / userAmount / state=DONE 与 DealsInfoRecord 的 deposit、TradeDeal 票据对齐,让钱包卡入金落在 HistoryFragment 显示的同一 login 上。

  • 持仓风险即时台账

    风控台账把 TradePosition 的 symbol、volume、priceOpen、sl、tp、profit 与 TradeOrder 的 state、type 并排,一张表看清挂单与浮动盈亏。

常见问题

登录后 MetaTrader 5 能读到哪些账户字段?

tradeGetInfo 填充的 TradeInfoRecord 包含当前 login 的 balance、equity、margin、marginFree、marginLevel、profit、credit、commission、assets、liabilities 与 hasMarginCall。

除了余额,能否读到实时报价和持仓?

可以。selectedGet 返回 SelectedRecord 的 bid、ask、high、low、spread;tradePositionsGet 列出 TradePosition 的 symbol、volume、priceOpen、sl、tp、profit;tradeOrdersGet 列出工作中的 TradeOrder。

应用里的 MQL5 社区登录怎么走?

客户端用 mid、ggtok、tok、sign、rnd 调用社区身份授权接口,再解析嵌套 user(user_login、user_email、metaquotes_id、chat_token);状态接口还会返回 geo.country。

入金出金是否在同一套接口里?

PaymentBase.getWallets 列出带各币种 limitDepositMin/Max 的 Wallet;deposit 与 withdraw 返回带 recordId、userAmount、state(INIT 到 DONE)以及钱包或 bankAccount 的 Payment。

与 MetaTrader 5 — Forex, Stocks 相似的应用

  • MetaTrader 4 — MetaTrader 4 是 MetaQuotes 较早的外汇与期货终端,带图表、MQL4 智能交易、跟单信号和安卓/iOS 应用,不少零售外汇券商仍与 MT5 一并授权使用。
  • cTrader — cTrader 是塞浦路斯利马索尔 Spotware Systems 的外汇/差价合约平台,有桌面、网页和手机端,支持 C# 与 Python 策略、内置跟单,并由 IC Markets、Pepperstone、FxPro 等券商提供。
  • TradingView — TradingView 是图表与社交交易应用,用户可在网页、桌面和手机上分析行情,并通过 100 多家接入券商交易股票、加密资产、外汇和期货。
  • NinjaTrader — NinjaTrader 是芝加哥期货平台兼经纪商,桌面、网页和手机端支持实盘与模拟交易、可定制图表、盘口下单和 NinjaScript 策略。
  • thinkorswim — thinkorswim 是嘉信理财面向自主股票、期权和期货交易者的电子交易平台,提供桌面、网页和手机端,以及 paperMoney 模拟交易。
  • IBKR Mobile — 盈透证券的 IBKR Mobile 可在 iOS 和安卓上交易股票、期权、期货、外汇、债券和基金,高级订单类型与扫描器与其桌面端同步。
  • eToro — eToro 是多资产券商,平台覆盖股票、ETF、差价合约、加密资产,以及面向散户的跟单与社交交易。

相关主题

  • MetaTrader 5 API
  • MT5 余额净值保证金
  • MetaTrader 5 持仓订单
  • MT5 买卖报价
  • MQL5 用户登录
  • MetaTrader 5 入金出金
  • openData Studio

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价