URL: wss://ws.kraken.com (v1) o wss://ws.kraken.com/v2 (v2, recomendado)
El componente ahora admite la API WebSocket v2 mediante la propiedad Version (predeterminado: 2). Establezca Kraken.Version := 1 para usar el extremo v1 heredado.
Una vez que el socket esté abierto, puede suscribirse a un canal público enviando un mensaje de solicitud de suscripción.
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
El cliente puede hacer ping al servidor para determinar si la conexión está activa; el servidor responde con pong.
Este es un ping de nivel de aplicación, a diferencia del ping predeterminado del estándar WebSockets, que es iniciado por el servidor.
La información del ticker incluye los mejores precios de venta y compra, volumen de 24 horas, último precio de operación, precio promedio ponderado por volumen, etc., para un par de divisas determinado. Se publica un mensaje de ticker cada vez que ocurre una operación o un grupo de operaciones.
Suscríbase a un ticker llamando al método SubscribeTicker:
SubscribeTicker(['XBT/USD']);
Si la suscripción es exitosa, se invocará el evento OnKrakenSubscribed:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Cancele la suscripción llamando al método UnSubscribeTicker:
UnSubscribeTicker(['XBT/USD']);
Si la cancelación de la suscripción es correcta, se invocará el evento OnKrakenUnSubscribed:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
Si se produce un error al intentar suscribirse o cancelar la suscripción, se llamará al evento OnKrakenSubscriptionError.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Las actualizaciones del ticker se notificarán en el evento 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"
]
Al suscribirse a OHLC, se enviará un snapshot de la última vela válida (independientemente del endtime), seguido de actualizaciones de la vela en curso. Por ejemplo, si se realiza una suscripción a una vela de 1 minuto y no ha habido operaciones durante 5 minutos, se publicará un snapshot de la última vela de 1 minuto de hace 5 minutos. El endtime puede usarse para determinar que es una vela antigua.
Suscríbase a OHLC llamando al método SubscribeOHLC; debe pasar el par y el intervalo.
SubscribeOHLC(['XBT/USD'], kin1min);
Si la suscripción es exitosa, se llamará al evento OnKrakenSubscribed:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Cancele la suscripción llamando al método UnSubscribeOHLC:
UnSubscribeOHLC(['XBT/USD'], kin1min);
Si la cancelación de la suscripción es correcta, se invocará el evento OnKrakenUnSubscribed:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
Si se produce un error al intentar suscribirse o cancelar la suscripción, se llamará al evento OnKrakenSubscriptionError.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Las actualizaciones OHLC se notificarán en el evento OnKrakenData.
[
42,
[
"1542057314.748456",
"1542057360.435743",
"3586.70000",
"3586.70000",
"3586.60000",
"3586.60000",
"3586.68894",
"0.03373000",
2
],
"ohlc-5",
"XBT/USD"
]
Flujo de operaciones para un par de divisas.
Suscríbase al canal de Trade llamando al método SubscribeTrade.
SubscribeTrade(['XBT/USD']);
Si la suscripción es exitosa, se llamará al evento OnKrakenSubscribed:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName:
string; ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Cancelar la suscripción llamando al método UnSubscribeTrade:
UnSubscribeTrade(['XBT/USD']);
Si la cancelación de la suscripción es correcta, se invocará el evento OnKrakenUnSubscribed:
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
Si se produce un error al intentar suscribirse o cancelar la suscripción, se llamará al evento OnKrakenSubscriptionError.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Las actualizaciones de operaciones se notificarán en el evento OnKrakenData.
[
0,
[
[
"5541.20000",
"0.15850568",
"1534614057.321597",
"s",
"l",
""
],
[
"6060.00000",
"0.02455000",
"1534614057.324998",
"b",
"l",
""
]
],
"trade",
"XBT/USD"
]
Niveles del libro de órdenes. Al suscribirse, se publicará una instantánea con la profundidad especificada; tras la instantánea, se publicarán actualizaciones de niveles.
Suscríbase a un libro llamando al método SubscribeBook; debe pasar el par y la profundidad.
SubscribeBook(['XBT/USD'], kde10);
Si la suscripción es exitosa, se llamará al evento OnKrakenSubscribed:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Cancelar suscripción llamando al método UnSubscribeBook:
UnSubscribeBook(['XBT/USD'], kde10);
Si la cancelación de la suscripción es correcta, se invocará el evento OnKrakenUnSubscribed:
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
Si se produce un error al intentar suscribirse o cancelar la suscripción, se llamará al evento OnKrakenSubscriptionError.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Las actualizaciones del libro de órdenes se notificarán en el evento 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"
]
Feed de spread para mostrar el mejor precio de compra y venta del par de activos suscrito. El volumen de compra y el volumen de venta también forman parte del mensaje.
Suscríbase al feed de spread llamando al método SubscribeSpread.
SubscribeSpread(['XBT/USD']);
Si la suscripción es exitosa, se llamará al evento OnKrakenSubscribed:
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string;
ReqID:Integer);
begin
DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;
Cancelar la suscripción llamando al método UnSubscribeSpread:
UnSubscribeSpread(['XBT/USD']);
Si la cancelación de la suscripción es correcta, se invocará el evento OnKrakenUnSubscribed:
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;
Si se produce un error al intentar suscribirse o cancelar la suscripción, se llamará al evento OnKrakenSubscriptionError.
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string;
ReqID: Integer);
begin
DoLog('#subscription error: ' + ErrorMessage);
end;
Las actualizaciones de spread se notificarán en el evento OnKrakenData.
[
0,
[
"5698.40000",
"5700.00000",
"1542057299.545897",
"1.01234567",
"0.98765432"
],
"spread",
"XBT/USD"
]
Puede suscribirse o cancelar la suscripción a todos los canales con un único método:
SubscribeAll(['XBT/USD']);
UnSubscribeAll(['XBT/USD']);
El valor del intervalo OHLC es 1 si todos los canales están suscritos.
OnConnect: cuando el cliente WebSocket está conectado al servidor.
OnKrakenConnect: se llama tras una conexión WebSocket exitosa y cuando el servidor envía el estado del sistema.
OnKrakenSystemStatus: se llama cuando cambia el estado del sistema.
OnKrakenSubscribed: se llama tras una suscripción exitosa a un canal.
OnKrakenUnSubscribed: se llama tras una cancelación de suscripción exitosa a un canal.
OnKrakenSubscriptionError: se llama cuando hay un error al intentar suscribirse o cancelar la suscripción.
OnKrakenData: se llama cada vez que una suscripción a un canal tiene una actualización.