外匯即時行情 WEBSOCKET API 提供全球最新外匯數據的流式訪問,實時推送EUR、GBP、JPY、CHF等主流貨幣對的實時報價、Tick成交、訂單簿深度及匯率變動。數據源覆蓋多家流動性提供商,毫秒級低延遲推送。

外匯 WebSocket 文檔

iTick Forex WebSocket API 提供全球最新外匯數據的串流存取。 您可以通過以操作形式發送指令來指定要使用的頻道。當您訂閱的頻道中發生事件時,我們的 WebSockets 會發出事件以通知您。

我們的 WebSocket API 基於授權,授權可控制您可以連接到哪些 WebSocket 集群以及您可以存取哪些類型的數據。 您可以登入查看包含您的 API 密鑰並根據您的授權進行個人化的範例。

第 1 步:連接

使用高級計劃,您將能夠使用單一連接到集群。如果另一個連接同時嘗試連接到集群,則當前連接將被斷開。 如果您需要同時連接到此集群的更多連接,您可以聯繫支援人員。

連接到集群:

wscat -c wss://api.itick.io/forex  -H "token: 2abf6c0*************************dd8a1930a2f48ba14a"

連接後您將收到以下訊息:

{
  "code":1,
  "msg": "Connected Successfully"
}

第 2 步:驗證

驗證成功後,您將收到以下訊息:

{
  "code":1,
  "resAc":"auth",
  "msg": "authenticated"
}

驗證失敗,會斷開連接,流程終止

{
  "code":0,
  "resAc":"auth",
  "msg": "auth failed"
}

第 3 步:訂閱

驗證身份後,即可請求串流。您可以在同一請求中請求多個串流。

{
  "ac":"subscribe",
  "params":"EURUSD$GB",
  "types":"quote"
}

params:標的Code,支援訂閱多個
types: 訂閱的類型,depth盤口、quote報價、tick成交

訂閱成功返回內容。

{
  "code":1,
  "resAc":"subscribe",
  "msg": "subscribe Successfully"
}

訂閱失敗返回內容。如下:分別是超出套餐計劃最大數量,訂閱參數錯誤。

{
  "code":0,
  "resAc":"subscribe",
  "msg": "exceeding the maximum subscription limit"
}
{
  "code":0,
  "resAc":"subscribe",
  "msg": "cannot be resolved action"
}

第 4 步:響應內容

iTick.org WebSocket 客戶端必須能夠每秒處理許多傳入訊息。由於 WebSocket 協定的性質,如果客戶端從伺服器獲取訊息的速度很慢,iTick.org 的伺服器必須緩衝訊息,並以客戶端可以接收的速度發送訊息。如果客戶端長時間以太慢的速度消費訊息, iTick.org的伺服器端緩衝區可能會變得太大。如果發生這種情況,iTick.org 將終止 WebSocket 連接。如果您經常遇到這種情況,請考慮訂閱較少的符號或頻道。

訂閱成功後數據按照如下內容發送。

成交響應內容

{
    "code": 1,
    "data": {
        "s": "EURUSD$GB",
        "ld": 225.215,
        "v": 16742235,
        "t": 1731689407000,
        "type": "tick"
    }
}

報價響應內容

{
    "code": 1,
    "data": {
        "s": "EURUSD$GB",
        "ld": 225.215,
        "o": 226.27,
        "h": 226.92,
        "l": 224.44,
        "t": 1731689407000,
        "v": 16742235,
        "tu": 3774688301.452,
        "ts": 0,
        "type": "quote"
    }
}

盤口響應內容

{
    "code": 1,
    "data": {
        "s": "EURUSD$GB",
        "a": [
            {
                "po": 1,
                "p": 3034.01,
                "v": 10.6023,
                "o": 10.6023
            }
        ],
        "b": [
            {
                "po": 1,
                "p": 3034,
                "v": 20.9758,
                "o": 20.9758
            }
        ],
        "type": "depth"
    }
}

K線響應內容

{
    "code": 0,
    "msg": null,
    "data": {
        "s":"EURUSD$GB",
        "t":1,
        "k":
        {
            "tu": 157513,
            "c": 3059.39,
            "t": 1731660060000,
            "v": 28,
            "h": 3061.41,
            "l": 3055.24,
            "o": 3055.36
        }
     }
}

t Kline 周期: 周期 1分鐘、2五分鐘、3十分鐘、4三十分鐘、5一小時、8一天、9一周、10一月

第 5 步:保持心跳

客戶端向伺服器發送

{
  "ac":"ping",
  "params":"1731688569840"
}

伺服端向客戶端發送

{
  "resAc":"pong",
  "data": {"params":"1731688569840"}
}

ping、pong的時間戳需要保持一致