URL: wss://futures.kraken.com/ws/v1
ソケットが開いたら、サブスクライブリクエストメッセージを送信することでパブリックチャネルをサブスクライブできます。
このエンドポイントは、現在上場されているすべての Futures コントラクトとインデックスの現在の市場データを返します。認証は不要です。
SubscribeTicker メソッドを呼び出してティッカーをサブスクライブします。
SubscribeTicker(['PI_XBTUSD']);
サブスクリプションが成功すると、OnKrakenFuturesSubscribedイベントが呼び出されます:
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;
UnSubscribeTicker メソッドを呼び出してサブスクリプションを解除します。
UnSubscribeTicker(['PI_XBTUSD']);
サブスクリプション解除が成功すると、OnKrakenFuturesUnSubscribed イベントが呼び出されます:
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;
サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenFuturesError イベントが呼び出されます。
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
DoLog('#error: ' + Error);
end;
ティッカーの更新はOnKrakenDataイベントで通知されます。
{ "result":"success",
"tickers":[
{
"tag": "perpetual",
"pair": "XBT:USD",
"symbol": "pi_xbtusd",
"markPrice": 9520.2,
"bid": 9520,
"bidSize": 30950,
"ask": 9520.5,
"askSize": 3779,
"vol24h": 68238712,
"openInterest": 29308193,
"open24h": 10137,
"last": 9521,
"lastTime": "2020-06-03T08:14:26.624Z",
"lastSize": 1,
"suspended": false,
"fundingRate": 4.943012455e-9,
"fundingRatePrediction": 4.414499215e-9
}
{
"tag": "quarter",
"pair": "XBT:USD",
"symbol": "fi_xbtusd_200925",
"markPrice": 9659.8,
"bid": 9659.5,
"bidSize": 6480,
"ask": 9660,
"askSize": 17100,
"vol24h": 4562580,
"openInterest": 3573325,
"open24h": 10370.5,
"last": 9660,
"lastTime": "2020-06-03T08:10:37.800Z",
"lastSize": 5000,
"suspended": false
},
{
"symbol": "in_xbtusd",
"last": 9519,
"lastTime": "2020-06-03T08:14:49.000Z"
}
],
"serverTime": "2020-06-03T08:14:49.865Z"
}
トレードフィードは約定した取引に関する情報を返します。
SubscribeTradeメソッドを呼び出して、Tradeフィードをサブスクライブします。
SubscribeTrade(['PI_XBTUSD']);
サブスクリプションが成功すると、OnKrakenFuturesSubscribedイベントが呼び出されます:
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;
UnSubscribeTrade メソッドを呼び出してアンサブスクライブします:
UnSubscribeTrade(['PI_XBTUSD']);
サブスクリプション解除が成功すると、OnKrakenFuturesUnSubscribed イベントが呼び出されます:
procedure OnrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;
サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenFuturesError イベントが呼び出されます。
procedure OnKrakenFuturesSubscriptionError(Sender: TObject; Error: string);
begin
DoLog('#error: ' + Error);
end;
取引の更新は OnKrakenData イベントで通知されます。
{ "feed": "trade_snapshot",
"product_id": "PI_XBTUSD",
"trades": [
{
"feed": "trade",
"product_id": "PI_XBTUSD",
"uid": "caa9c653-420b-4c24-a9f1-462a054d86f1",
"side": "sell",
"type": "fill",
"seq": 655508,
"time": 1612269657781,
"qty": 440,
"price": 34893
},
{
"feed": "trade",
"product_id": "PI_XBTUSD",
"uid": "45ee9737-1877-4682-bc68-e4ef818ef88a",
"side": "sell",
"type": "fill",
"seq": 655507,
"time": 1612269656839,
"qty": 9643,
"price": 34891
}
]
}
このフィードはオーダーブックに関する情報を返します。
SubscribeBook メソッドを呼び出して本帳をサブスクライブします。シンボルを渡す必要があります。
SubscribeBook(['PI_XBTUSD']);
サブスクリプションが成功すると、OnKrakenFuturesSubscribedイベントが呼び出されます:
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;
UnSubscribeBook メソッドを呼び出して購読解除します。
UnSubscribeBook(['PI_XBTUSD']);
サブスクリプション解除が成功すると、OnKrakenFuturesUnSubscribed イベントが呼び出されます:
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;
サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenFuturesError イベントが呼び出されます。
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
DoLog('#error: ' + Error);
end;
ブックの更新はOnKrakenDataイベントで通知されます。
{
"feed": "book_snapshot",
"product_id": "PI_XBTUSD",
"timestamp": 1612269825817,
"seq": 326072249,
"tickSize": null,
"bids": [{
"price": 34892.5,
"qty": 6385
},
{
"price": 34892,
"qty": 10924
}
],
"asks": [{
"price": 34911.5,
"qty": 20598
},
{
"price": 34912,
"qty": 2300
}
]
}
ティッカーライトフィードは、上場製品のティッカー情報を返します。
SubscribeTickerLite メソッドを呼び出してスプレッドフィードを購読します。
SubscribeTickerLite(['PI_XBTUSD']);
サブスクリプションが成功すると、OnKrakenFuturesSubscribedイベントが呼び出されます:
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;
UnSubscribeTickerLiteメソッドを呼び出してUnSubscribeします:
UnSubscribeTickerLite(['PI_XBTUSD']);
サブスクリプション解除が成功すると、OnKrakenFuturesUnSubscribed イベントが呼び出されます:
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;
サブスクライブ/アンサブスクライブ中にエラーが発生した場合、OnKrakenFuturesError イベントが呼び出されます。
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
DoLog('#error: ' + Error);
end;
スプレッドの更新は OnKrakenData イベントで通知されます。
{ "feed": "ticker_lite",
"product_id": "PI_XBTUSD",
"bid": 34932,
"ask": 34949.5,
"change": 3.3705205220015966,
"premium": 0.1,
"volume": 264126741,
"tag": "perpetual",
"pair": "XBT:USD",
"dtm": 0,
"maturityTime": 0
}
{
"feed":"ticker_lite",
"product_id":"FI_ETHUSD_210625",
"bid":1753.45,
"ask":1760.35,
"change":13.448175559936647,
"premium":9.1,
"volume":6899673.0,
"tag":"semiannual",
"pair":"ETH:USD",
"dtm":141,
"maturityTime":1624633200000
}
ハートビートフィードは定期的な間隔でハートビートメッセージを発行します。
SubscribeHeartBeat();
UnSubscribeHeartBeat();
OnConnect: WebSocket クライアントがサーバーに接続されたとき。
OnKrakenFuturesConnect: WebSocket接続の成功後、サーバーがシステムステータスを送信したときに呼び出されます。
OnKrakenFuturesSubscribed: チャンネルへの購読が成功した後に呼び出されます。
OnKrakenFuturesUnSubscribed: チャンネルのサブスクライブ解除が成功した後に呼び出されます。
OnKrakenFuturesError: サブスクライブ/アンサブスクライブ中にエラーが発生した場合に呼び出されます。
OnKrakenData: チャンネルサブスクリプションに更新がある度に呼び出されます。