API Kraken | WebSocket パブリック API

接続

URL: wss://ws.kraken.com (v1) または wss://ws.kraken.com/v2 (v2、推奨)

このコンポーネントは Version プロパティ(デフォルト: 2)を通じて WebSocket API v2 をサポートするようになりました。レガシー v1 エンドポイントを使用するには Kraken.Version := 1 を設定してください。

 

ソケットが開いたら、サブスクライブリクエストメッセージを送信することでパブリックチャネルをサブスクライブできます。

 

一般的な考慮事項

 

対応ペア

ADA/CAD, ADA/ETH, ADA/EUR, ADA/USD, ADA/XBT, ATOM/CAD, ATOM/ETH, ATOM/EUR, ATOM/USD, ATOM/XBT, BCH/EUR, BCH/USD, BCH/XBT, DASH/EUR, DASH/USD, DASH/XBT, EOS/ETH, EOS/EUR, EOS/USD, EOS/XBT, GNO/ETH, GNO/EUR, GNO/USD, GNO/XBT, QTUM/CAD, QTUM/ETH, QTUM/EUR, QTUM/USD, QTUM/XBT, USDT/USD, ETC/ETH, ETC/XBT, ETC/EUR, ETC/USD, ETH/XBT, ETH/CAD, ETH/EUR, ETH/GBP, ETH/JPY, ETH/USD, LTC/XBT, LTC/EUR, LTC/USD, MLN/ETH, MLN/XBT, REP/ETH, REP/XBT, REP/EUR, REP/USD, STR/EUR, STR/USD, XBT/CAD, XBT/EUR, XBT/GBP, XBT/JPY, XBT/USD, BTC/CAD, BTC/EUR, BTC/GBP, BTC/JPY, BTC/USD, XDG/XBT, XLM/XBT, DOGE/XBT, STR/XBT, XLM/EUR, XLM/USD, XMR/XBT, XMR/EUR, XMR/USD, XRP/XBT, XRP/CAD, XRP/EUR, XRP/JPY, XRP/USD, ZEC/XBT, ZEC/EUR, ZEC/JPY, ZEC/USD, XTZ/CAD, XTZ/ETH, XTZ/EUR, XTZ/USD, XTZ/XBT

 

メソッド

Ping

クライアントはサーバーに ping を送信して接続が生きているかどうかを確認でき、サーバーは pong で応答します。

これはサーバーが開始するWebStandards標準のデフォルトpingとは対照的な、アプリケーションレベルのpingです

ティッカー

ティッカー情報には、指定した通貨ペアのベストアスク価格とベストビッド価格、24時間の取引量、最終取引価格、出来高加重平均価格などが含まれます。ティッカーメッセージは取引または取引グループが発生するたびに公開されます。

SubscribeTickerメソッドを呼び出してティッカーを購読します:


SubscribeTicker(['XBT/USD']);

サブスクリプションが成功すると、OnKrakenSubscribed イベントが呼び出されます。


procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeTicker メソッドを呼び出してサブスクリプションを解除します:


UnSubscribeTicker(['XBT/USD']);

サブスクリプション解除が成功すると、OnKrakenUnSubscribed イベントが呼び出されます:


procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenSubscriptionError イベントが呼び出されます。


procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

Ticker の更新は OnKrakenData イベントで通知されます。

 
[
  0,
  {
    "a": [
      "5525.40000",
      1,
      "1.000"
    ],
    "b": [
      "5525.10000",
      1,
      "1.000"
    ],
    "c": [
      "5525.10000",
      "0.00398963"
    ],
    "v": [
      "2634.11501494",
      "3591.17907851"
    ],
    "p": [
      "5631.44067",
      "5653.78939"
    ],
    "t": [
      11493,
      16267
    ],
    "l": [
      "5505.00000",
      "5505.00000"
    ],
    "h": [
      "5783.00000",
      "5783.00000"
    ],
    "o": [
      "5760.70000",
      "5763.40000"
    ]
  },
  "ticker",
  "XBT/USD"
]

OHLC

OHLCをサブスクライブすると、(endtimeに関係なく)最後の有効なローソク足のスナップショットが送信され、続いて進行中のローソク足の更新が送信されます。たとえば、1分足にサブスクライブして5分間約定がなかった場合、5分前の最後の1分足のスナップショットが発行されます。endtimeを使用して、それが古いローソク足であると判断できます。

SubscribeOHLC メソッドを呼び出してOHLCにサブスクライブします。ペアとインターバルを渡す必要があります。


SubscribeOHLC(['XBT/USD'], kin1min);

サブスクリプションが成功した場合、OnKrakenSubscribed イベントが呼び出されます:


procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeOHLC メソッドを呼び出して登録解除する:

 
UnSubscribeOHLC(['XBT/USD'], kin1min);

サブスクリプション解除が成功すると、OnKrakenUnSubscribed イベントが呼び出されます:

 
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenSubscriptionError イベントが呼び出されます。

 
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

OHLC の更新は OnKrakenData イベントで通知されます。


[
  42,
  [
    "1542057314.748456",
    "1542057360.435743",
    "3586.70000",
    "3586.70000",
    "3586.60000",
    "3586.60000",
    "3586.68894",
    "0.03373000",
    2
  ],
  "ohlc-5",
  "XBT/USD"
]

取引

通貨ペアのトレードフィード。

SubscribeTrade メソッドを呼び出して取引フィードをサブスクライブします。

 
SubscribeTrade(['XBT/USD']);

サブスクリプションが成功した場合、OnKrakenSubscribed イベントが呼び出されます:

 
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: 
  string; ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeTradeメソッドを呼び出してアンサブスクライブします:

 
UnSubscribeTrade(['XBT/USD']);

サブスクリプション解除が成功すると、OnKrakenUnSubscribed イベントが呼び出されます:

  
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenSubscriptionError イベントが呼び出されます。

   
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

約定の更新はOnKrakenDataイベントで通知されます。


[
  0,
  [
    [
      "5541.20000",
      "0.15850568",
      "1534614057.321597",
      "s",
      "l",
      ""
    ],
    [
      "6060.00000",
      "0.02455000",
      "1534614057.324998",
      "b",
      "l",
      ""
    ]
  ],
  "trade",
  "XBT/USD"
]

ブック

注文板レベル。サブスクリプション時には指定された深さのスナップショットが発行され、その後レベルの更新が発行されます。

SubscribeBook メソッドを呼び出してブックをサブスクライブします。ペアと深度を渡す必要があります。

  
SubscribeBook(['XBT/USD'], kde10);

サブスクリプションが成功した場合、OnKrakenSubscribed イベントが呼び出されます:

   
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeBook メソッドを呼び出してサブスクリプションを解除します:

    
UnSubscribeBook(['XBT/USD'], kde10);

サブスクリプション解除が成功すると、OnKrakenUnSubscribed イベントが呼び出されます:

  
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenSubscriptionError イベントが呼び出されます。

   
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

Book更新はOnKrakenDataイベントで通知されます。

 
[
  0,
  {
    "as": [
      [
          "5541.30000",
          "2.50700000",
          "1534614248.123678"
      ],
      [
          "5541.80000",
          "0.33000000",
          "1534614098.345543"
      ],
      [
          "5542.70000",
          "0.64700000",
          "1534614244.654432"
      ]
    ],
    "bs": [
      [
          "5541.20000",
          "1.52900000",
          "1534614248.765567"
      ],
      [
          "5539.90000",
          "0.30000000",
          "1534614241.769870"
      ],
      [
          "5539.50000",
          "5.00000000",
          "1534613831.243486"
      ]
    ]
  },
  "book-100",
  "XBT/USD"
]

スプレッド

サブスクライブした資産ペアの最良買い値と売り値を表示するスプレッドフィード。買い量と売り量もメッセージに含まれています。

SubscribeSpread メソッドを呼び出してスプレッドフィードにサブスクライブします。

   
SubscribeSpread(['XBT/USD']);

サブスクリプションが成功した場合、OnKrakenSubscribed イベントが呼び出されます:

   
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeSpread メソッドを呼び出してアンサブスクライブします:

    
UnSubscribeSpread(['XBT/USD']);

サブスクリプション解除が成功すると、OnKrakenUnSubscribed イベントが呼び出されます:

   
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenSubscriptionError イベントが呼び出されます。

  
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

スプレッドの更新は OnKrakenData イベントで通知されます。

 
[
  0,
  [
    "5698.40000",
    "5700.00000",
    "1542057299.545897",
    "1.01234567",
    "0.98765432"
  ],
  "spread",
  "XBT/USD"
]

その他のメソッド

1 つのメソッドですべてのチャンネルをサブスクライブ/アンサブスクライブできます:

  
SubscribeAll(['XBT/USD']);
 
UnSubscribeAll(['XBT/USD']);

すべてのチャンネルが購読されている場合、OHLC インターバル値は 1 です。

 

 

 

イベント

OnConnect: WebSocket クライアントがサーバーに接続されたとき。

OnKrakenConnect: WebSocket 接続の成功後およびサーバーがシステムステータスを送信したときに呼び出されます。

OnKrakenSystemStatus: システムステータスが変化したときに呼び出されます。

OnKrakenSubscribed: チャンネルへのサブスクリプションが成功した後に呼び出されます。

OnKrakenUnSubscribed: チャンネルからの購読解除が成功した後に呼び出されます。

OnKrakenSubscriptionError: 購読または購読解除の試行中にエラーが発生した場合に呼び出されます。

OnKrakenData: チャンネルサブスクリプションに更新がある度に呼び出されます。