API Kraken | WebSockets Public API

Verbindung

URL: wss://ws.kraken.com (v1) oder wss://ws.kraken.com/v2 (v2, empfohlen)

Die Komponente unterstützt jetzt die WebSocket API v2 über die Eigenschaft Version (Standard: 2). Setzen Sie Kraken.Version := 1, um den veralteten v1-Endpunkt zu verwenden.

 

Sobald der Socket geöffnet ist, können Sie einen öffentlichen Kanal abonnieren, indem Sie eine Subscribe-Request-Nachricht senden.

 

Allgemeine Überlegungen

 

Unterstützte Paare

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

 

Methoden

Ping

Der Client kann den Server pingen, um festzustellen, ob die Verbindung aktiv ist; der Server antwortet mit pong.

Dies ist ein Ping auf Anwendungsebene im Gegensatz zum standardmäßigen Ping im WebSockets-Standard, der vom Server initiiert wird

Ticker

Ticker-Informationen umfassen den besten Ask- und besten Bid-Preis, das 24-Stunden-Volumen, den letzten Handelspreis, den volumengewichteten Durchschnittspreis usw. für ein bestimmtes Währungspaar. Eine Ticker-Nachricht wird jedes Mal veröffentlicht, wenn ein Trade oder eine Gruppe von Trades stattfindet.

Abonnieren Sie einen Ticker, indem Sie die Methode SubscribeTicker aufrufen:


SubscribeTicker(['XBT/USD']);

Wenn das Abonnement erfolgreich ist, wird das Ereignis OnKrakenSubscribed aufgerufen:


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

UnSubscribe durch Aufruf der Methode UnSubscribeTicker:


UnSubscribeTicker(['XBT/USD']);

Wenn die Abmeldung erfolgreich ist, wird das Ereignis OnKrakenUnSubscribed aufgerufen:


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

Wenn beim Versuch zu abonnieren / abzubestellen ein Fehler auftritt, wird das Ereignis OnKrakenSubscriptionError aufgerufen.


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

Ticker-Aktualisierungen werden im Ereignis OnKrakenData gemeldet.

 
[
  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

Beim Abonnieren von OHLC wird ein Snapshot der letzten gültigen Kerze (unabhängig von der Endzeit) gesendet, gefolgt von Aktualisierungen der laufenden Kerze. Wenn beispielsweise ein 1-Minuten-Kerzen-Abonnement abgeschlossen wird und es 5 Minuten lang keine Trades gab, wird ein Snapshot der letzten 1-Minuten-Kerze von vor 5 Minuten veröffentlicht. Die Endzeit kann verwendet werden, um festzustellen, dass es sich um eine alte Kerze handelt.

Abonnieren Sie ein OHLC über die Methode SubscribeOHLC, Sie müssen Paar und Intervall übergeben.


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

Wenn das Abonnement erfolgreich ist, wird das Ereignis OnKrakenSubscribed aufgerufen:


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

Heben Sie das Abonnement durch Aufruf der Methode UnSubscribeOHLC auf:

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

Wenn die Abmeldung erfolgreich ist, wird das Ereignis OnKrakenUnSubscribed aufgerufen:

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

Wenn beim Versuch zu abonnieren / abzubestellen ein Fehler auftritt, wird das Ereignis OnKrakenSubscriptionError aufgerufen.

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

OHLC-Aktualisierungen werden im Ereignis OnKrakenData mitgeteilt.


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

Trade

Trade-Feed für ein Währungspaar.

Abonnieren Sie den Trade-Feed durch Aufruf der Methode SubscribeTrade.

 
SubscribeTrade(['XBT/USD']);

Wenn das Abonnement erfolgreich ist, wird das Ereignis OnKrakenSubscribed aufgerufen:

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

UnSubscribe durch Aufruf der Methode UnSubscribeTrade:

 
UnSubscribeTrade(['XBT/USD']);

Wenn die Abmeldung erfolgreich ist, wird das Ereignis OnKrakenUnSubscribed aufgerufen:

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

Wenn beim Versuch zu abonnieren / abzubestellen ein Fehler auftritt, wird das Ereignis OnKrakenSubscriptionError aufgerufen.

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

Trade-Aktualisierungen werden im OnKrakenData-Ereignis gemeldet.


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

Book

Order-Book-Ebenen. Beim Abonnieren wird ein Snapshot in der angegebenen Tiefe veröffentlicht; nach dem Snapshot werden Ebenenaktualisierungen veröffentlicht.

Abonnieren Sie ein Buch durch Aufruf der Methode SubscribeBook; Sie müssen Paar und Tiefe übergeben.

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

Wenn das Abonnement erfolgreich ist, wird das Ereignis OnKrakenSubscribed aufgerufen:

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

UnSubscribe durch Aufruf der Methode UnSubscribeBook:

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

Wenn die Abmeldung erfolgreich ist, wird das Ereignis OnKrakenUnSubscribed aufgerufen:

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

Wenn beim Versuch zu abonnieren / abzubestellen ein Fehler auftritt, wird das Ereignis OnKrakenSubscriptionError aufgerufen.

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

Buch-Aktualisierungen werden im Ereignis OnKrakenData gemeldet.

 
[
  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"
]

Spread

Spread-Feed, um den besten Bid- und Ask-Preis für das abonnierte Asset-Paar anzuzeigen. Bid-Volumen und Ask-Volumen sind ebenfalls Teil der Nachricht.

Abonnieren Sie den Spread-Feed durch Aufruf der Methode SubscribeSpread.

   
SubscribeSpread(['XBT/USD']);

Wenn das Abonnement erfolgreich ist, wird das Ereignis OnKrakenSubscribed aufgerufen:

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

UnSubscribe durch Aufruf der Methode UnSubscribeSpread:

    
UnSubscribeSpread(['XBT/USD']);

Wenn die Abmeldung erfolgreich ist, wird das Ereignis OnKrakenUnSubscribed aufgerufen:

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

Wenn beim Versuch zu abonnieren / abzubestellen ein Fehler auftritt, wird das Ereignis OnKrakenSubscriptionError aufgerufen.

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

Spread-Aktualisierungen werden im Ereignis OnKrakenData gemeldet.

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

Weitere Methoden

Sie können alle Kanäle mit einer Methode abonnieren / das Abonnement aufheben:

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

Der OHLC-Intervallwert ist 1, wenn alle Kanäle abonniert sind.

 

 

 

Ereignisse

OnConnect: wenn der WebSocket-Client mit dem Server verbunden ist.

OnKrakenConnect: wird nach erfolgreicher WebSocket-Verbindung aufgerufen und wenn der Server den Systemstatus sendet.

OnKrakenSystemStatus: wird aufgerufen, wenn sich der Systemstatus ändert.

OnKrakenSubscribed: wird nach einem erfolgreichen Abonnement eines Channels aufgerufen.

OnKrakenUnSubscribed: wird nach einer erfolgreichen Abmeldung von einem Kanal aufgerufen.

OnKrakenSubscriptionError: wird aufgerufen, wenn beim Abonnieren / Abbestellen ein Fehler auftritt.

OnKrakenData: wird jedes Mal aufgerufen, wenn ein Channel-Abonnement ein Update hat.