URL : wss://ws.kraken.com (v1) ou wss://ws.kraken.com/v2 (v2, recommandé)
Le composant prend désormais en charge l'API WebSocket v2 via la propriété Version (par défaut : 2). Définissez Kraken.Version := 1 pour utiliser le point de terminaison v1 hérité.
Une fois le socket ouvert, vous pouvez vous abonner à un canal public en envoyant un message de demande d'abonnement.
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
Le client peut pinguer le serveur pour déterminer si la connexion est active, le serveur répond avec un pong.
Il s'agit d'un ping au niveau de l'application, contrairement au ping par défaut dans la norme WebSockets qui est initié par le serveur
Les informations du ticker incluent les meilleurs prix d'achat et de vente, le volume sur 24h, le dernier prix de transaction, le prix moyen pondéré par le volume, etc. pour une paire de devises donnée. Un message ticker est publié chaque fois qu'une transaction ou un groupe de transactions se produit.
Abonnez-vous à un ticker en appelant la méthode SubscribeTicker :
SubscribeTicker(['XBT/USD']);
Si l'abonnement réussit, l'événement OnKrakenSubscribed sera appelé :
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Se désabonner en appelant la méthode UnSubscribeTicker :
UnSubscribeTicker(['XBT/USD']);
Si le désabonnement réussit, l'événement OnKrakenUnSubscribed sera appelé :
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
En cas d'erreur lors d'une tentative d'abonnement / désabonnement, l'événement OnKrakenSubscriptionError sera appelé.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Les mises à jour de ticker seront notifiées dans l'événement 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"
]
Lors d'un abonnement à OHLC, un instantané de la dernière bougie valide (indépendamment de l'heure de fin) est envoyé, suivi des mises à jour de la bougie en cours. Par exemple, si un abonnement est fait sur une bougie d'1 minute et qu'il n'y a pas eu de transactions pendant 5 minutes, un instantané de la dernière bougie d'1 minute d'il y a 5 minutes sera publié. L'heure de fin peut être utilisée pour déterminer s'il s'agit d'une ancienne bougie.
Abonnez-vous à un OHLC en appelant la méthode SubscribeOHLC ; vous devez passer la paire et l'intervalle.
SubscribeOHLC(['XBT/USD'], kin1min);
Si l'abonnement réussit, l'événement OnKrakenSubscribed sera appelé :
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Se désabonner en appelant la méthode UnSubscribeOHLC :
UnSubscribeOHLC(['XBT/USD'], kin1min);
Si le désabonnement réussit, l'événement OnKrakenUnSubscribed sera appelé :
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
En cas d'erreur lors d'une tentative d'abonnement / désabonnement, l'événement OnKrakenSubscriptionError sera appelé.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Les mises à jour OHLC seront notifiées dans l'événement OnKrakenData.
[
42,
[
"1542057314.748456",
"1542057360.435743",
"3586.70000",
"3586.70000",
"3586.60000",
"3586.60000",
"3586.68894",
"0.03373000",
2
],
"ohlc-5",
"XBT/USD"
]
Flux de transactions pour une paire de devises.
Abonnez-vous au flux Trade en appelant la méthode SubscribeTrade.
SubscribeTrade(['XBT/USD']);
Si l'abonnement réussit, l'événement OnKrakenSubscribed sera appelé :
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName:
string; ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Désabonnement en appelant la méthode UnSubscribeTrade :
UnSubscribeTrade(['XBT/USD']);
Si le désabonnement réussit, l'événement OnKrakenUnSubscribed sera appelé :
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
En cas d'erreur lors d'une tentative d'abonnement / désabonnement, l'événement OnKrakenSubscriptionError sera appelé.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Les mises à jour des transactions seront notifiées dans l'événement OnKrakenData.
[
0,
[
[
"5541.20000",
"0.15850568",
"1534614057.321597",
"s",
"l",
""
],
[
"6060.00000",
"0.02455000",
"1534614057.324998",
"b",
"l",
""
]
],
"trade",
"XBT/USD"
]
Niveaux du carnet d'ordres. Lors de l'abonnement, un instantané sera publié à la profondeur spécifiée ; ensuite, des mises à jour de niveaux seront publiées.
Abonnez-vous à un carnet d'ordres en appelant la méthode SubscribeBook, vous devez passer la paire et la profondeur.
SubscribeBook(['XBT/USD'], kde10);
Si l'abonnement réussit, l'événement OnKrakenSubscribed sera appelé :
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Se désabonner en appelant la méthode UnSubscribeBook :
UnSubscribeBook(['XBT/USD'], kde10);
Si le désabonnement réussit, l'événement OnKrakenUnSubscribed sera appelé :
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
En cas d'erreur lors d'une tentative d'abonnement / désabonnement, l'événement OnKrakenSubscriptionError sera appelé.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Les mises à jour du carnet d'ordres seront notifiées dans l'événement 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"
]
Flux de spread pour afficher le meilleur prix d'achat et de vente pour la paire d'actifs souscrite. Le volume acheteur et le volume vendeur font également partie du message.
S'abonner au flux de spread en appelant la méthode SubscribeSpread.
SubscribeSpread(['XBT/USD']);
Si l'abonnement réussit, l'événement OnKrakenSubscribed sera appelé :
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Se désabonner en appelant la méthode UnSubscribeSpread :
UnSubscribeSpread(['XBT/USD']);
Si le désabonnement réussit, l'événement OnKrakenUnSubscribed sera appelé :
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
En cas d'erreur lors d'une tentative d'abonnement / désabonnement, l'événement OnKrakenSubscriptionError sera appelé.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Les mises à jour de spread seront notifiées dans l'événement OnKrakenData.
[
0,
[
"5698.40000",
"5700.00000",
"1542057299.545897",
"1.01234567",
"0.98765432"
],
"spread",
"XBT/USD"
]
Vous pouvez vous abonner / vous désabonner de tous les canaux avec une seule méthode :
SubscribeAll(['XBT/USD']);
UnSubscribeAll(['XBT/USD']);
La valeur de l'intervalle OHLC est 1 si tous les canaux sont abonnés.
OnConnect : lorsque le client WebSocket est connecté au serveur.
OnKrakenConnect : appelé après une connexion WebSocket réussie et lorsque le serveur envoie l'état du système.
OnKrakenSystemStatus : appelé lorsque le statut du système change.
OnKrakenSubscribed : appelé après un abonnement réussi à un canal.
OnKrakenUnSubscribed : appelé après un désabonnement réussi d'un canal.
OnKrakenSubscriptionError: appelé s'il y a une erreur lors de la tentative d'abonnement / désabonnement.
OnKrakenData: appelé chaque fois qu'une souscription à un canal reçoit une mise à jour.