sgcWebSockets 4.4.8 sürümünden itibaren Kraken Futures API desteklenir
Aşağıdaki API'ler desteklenir:
WebSockets Public API: herkese açık bir WebSocket sunucusuna bağlanır.
WebSockets Private API: özel bir WebSocket sunucusuna bağlanır ve sunucuya karşı Kimlik Doğrulaması yapmak için bir API Key ve API Secret gerektirir.
REST Public API: herkese açık bir REST sunucusuna bağlanır.
REST Private API: herkese açık bir REST sunucusuna bağlanır ve sunucuya karşı Kimlik Doğrulaması yapmak için bir API Key ve API Secret gerektirir.
Kraken Futures WebSocket Public API
Bazı herkese açık kanallar kimlik doğrulaması olmadan sağlanır. Örnek: Ticker kanalına abone olabilir ve websocket protokolü aracılığıyla piyasa verisi güncellemesi alabilirsiniz.
// 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
WebSocket özel akışlarına abone olma ve abonelikten çıkma istekleri, kullanıcı api_secret'ı ile imzalanmış bir challenge mesajı gerektirir.
Challenge, WebSocket API Public Bölümünde gösterildiği gibi (api_key kullanılarak) elde edilir.
Kimlik doğrulamalı istekler, hem orijinal challenge mesajını (original_challenge) hem de imzalanmış olanı (signed_challenge) JSON biçiminde içermelidir.
Bir Websockets Challenge almak için, Kraken Options Bileşeninde bir API Key ve API Secret ayarlanmalıdır; api anahtarı hesabınızda Kraken tarafından sağlanır
Örnek: AccountLog özel kanalına abone olun.
// 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
Public REST metotlarına erişmek için HTTP Protokolünü kullanın. Örnek: bir Sembolün Emir Defterinin anlık görüntüsünü almak için GetOrderBook'u çağırın.
KrakenFutures.REST_API.GetOrderBook('PI_XBTUSD');
Kraken Futures REST Private API
Özel hesabınıza erişmek, emir göndermek, emirleri iptal etmek için REST Private API'sini kullanın...
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;});
