Kraken Futures API

· Komponenten

Ab sgcWebSockets 4.4.8 wird die Kraken Futures API unterstützt

https://futures.kraken.com/

Die folgenden APIs werden unterstützt:

WebSockets Public API: verbindet sich mit einem öffentlichen WebSocket-Server.
WebSockets Private API: verbindet sich mit einem privaten WebSocket-Server und benötigt einen API Key und ein API Secret zur Authentifizierung gegenüber dem Server.
REST Public API: verbindet sich mit einem öffentlichen REST-Server.
REST Private API: verbindet sich mit einem öffentlichen REST-Server und benötigt einen API Key und ein API Secret zur Authentifizierung gegenüber dem Server.

Kraken Futures WebSocket Public API 

Einige öffentliche Channels sind ohne Authentifizierung verfügbar. Beispiel: Du kannst den Ticker-Channel abonnieren und Marktdaten-Updates über das WebSocket-Protokoll empfangen.

// Subscribe to a ticker calling SubscribeTicker method:
SubscribeTicker(['PI_XBTUSD']);
// If subscription is successful, OnKrakenFuturesSubscribed event will be called:
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;
//UnSubscribe calling UnSubscribeTicker method:
UnSubscribeTicker(['PI_XBTUSD']);
//If unsubscription is successful, OnKrakenFuturesUnSubscribed event will be called:
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;
// If there is an error while trying to subscribe / unsubscribe, OnKrakenFuturesError event will be called.
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
  DoLog('#error: ' + Error);
end; 

Kraken Futures WebSocket Private API 

Die Subscribe- und Unsubscribe-Anfragen an private WebSocket-Feeds erfordern eine signierte Challenge-Nachricht mit dem api_secret des Benutzers.

Die Challenge wird auf die gleiche Weise abgerufen wie im Abschnitt WebSocket API Public beschrieben (mit dem api_key).

Authentifizierte Anfragen müssen sowohl die ursprüngliche Challenge-Nachricht (original_challenge) als auch die signierte Version (signed_challenge) im JSON-Format enthalten.

Um eine WebSocket-Challenge zu erhalten, müssen ein API Key und ein API Secret in der Kraken Options-Komponente gesetzt sein; den API Key stellt Kraken in deinem Konto bereit 

Beispiel: Abonnieren des privaten AccountLog-Channels.

// This subscription feed publishes account information.
SubscribeAccountLog();
// Later, you can unsubscribe from AccountLog, calling UnSubscribeAccountLog method
UnSubscribeAccountLog();
Response example from server
{  
'feed':'account_log_snapshot',
'logs':[  
{  
'id':1690,
'date':'2019-07-11T08:00:00.000Z',
'asset':'bch',
'info':'funding 
 rate change',
'booking_uid':'86fdc252-1b6e-40ec-ac1d-c7bd46ddeebf',
'margin_account':'f-bch:usd',
'old_balance':0.01215667051,
'new_balance':0.01215736653,
'old_average_entry_price':0.0,
'new_average_entry_price':0.0,
'trade_price':0.0,
'mark_price':0.0,
'realized_pnl':0.0,
'fee':0.0,
'execution':'',
'collateral':'bch',
'funding_rate':-8.7002552653e-08,
'realized_funding':6.9602e-07
}
]
} 

Kraken Futures REST Public API 

Verwende das HTTP-Protokoll, um auf die öffentlichen REST-Methoden zuzugreifen. Beispiel: Rufe GetOrderBook auf, um einen Snapshot des Order Books eines Symbols zu erhalten.

KrakenFutures.REST_API.GetOrderBook('PI_XBTUSD'); 

Kraken Futures REST Private API 

Verwende die REST Private API, um auf dein privates Konto zuzugreifen, Orders zu senden, Orders zu stornieren...

oOrder := TsgcHTTPKrakenFuturesOrder.Create;
Try
  oOrder.Side := kosfBuy;
  oOrder.Symbol := 'PI_XBTUSD';
  oOrder.OrderType := kotfMKT;
  oOrder.Size := 1;
  KrakenFutures.REST_API.SendOrder(oOrder);  
Finally
  oOrder.Free;
End; 
});

Kraken Futures API

Verbinde dich mit dem Kraken Futures Server: WebSocket- und REST-APIs https://www.esegece.com/help/sgcWebSockets/#t=Components%2FAPIs%2FAPI%2FAPI_Kraken_Futures.htm