API Deribit

Deribit

Deribit to giełda instrumentów pochodnych na kryptowaluty, oferująca handel kontraktami futures i opcjami na Bitcoin i Ethereum.

Obsługiwane API

Właściwości

Poniższe właściwości można skonfigurować we właściwości Deribit.

Połączenie

Po pomyślnym połączeniu klienta z serwerami Deribit wywoływane jest zdarzenie OnConnect. Po wywołaniu zdarzenia OnConnect można rozpocząć wysyłanie i odbieranie wiadomości do/od serwerów Deribit. W przypadku połączenia z prywatnym kanałem WebSocket należy poczekać na wywołanie zdarzenia OnDeribitAuthentication i sprawdzić, czy parametr success ma wartość true, przed subskrypcją dowolnego prywatnego kanału.


oClient := TsgcWebSocketClient.Create(nil);
oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Client := oClient;
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
oDeribit.Deribit.TestNet := False;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
  DoLog('#Deribit Connected');
end;

Zdarzenia

Klient Deribit implementuje następujące zdarzenia w celu kontroli przepływu połączeń i odbioru danych wysyłanych przez serwer WebSocket:

WebSocket API

Kanał WebSocket dostarcza aktualizacje rynku w czasie rzeczywistym dotyczące zleceń i transakcji.

Możliwa jest subskrypcja następujących kanałów publicznych:

Metoda Opis
SubscribeTicker Subskrybuj strumień tickera dla instrumentu. Dostarcza dane o cenie i wolumenie w czasie rzeczywistym.
SubscribeTrades Subskrybuj strumień ostatnich transakcji dla instrumentu.
SubscribeOrderBook Subskrybuje strumień książki zleceń. Obsługuje konfigurowalne grupowanie, poziomy głębokości i interwały aktualizacji.
SubscribeCandle Subskrypcja strumienia wykresów świecowych. Obsługuje wiele rozdzielczości (np. 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D).
SubscribePerpetual Subskrybuje dane kontraktu wieczystego dla instrumentu. Dostarcza stopę finansowania i inne informacje specyficzne dla kontraktów wieczystych.
SubscribeBookChange Subskrybuje powiadomienia o zmianach w księdze zleceń dla instrumentu.

Można subskrybować następujące kanały prywatne (wymagają uwierzytelnienia):

Metoda Opis
SubscribeOrders Subskrybuj aktualizacje zleceń dla instrumentu.
SubscribePositions Subskrybuj aktualizacje pozycji. Obsługuje filtrowanie według waluty i rodzaju instrumentu.
SubscribeAccountChanges Subskrybuj zmiany salda konta dla waluty.
SubscribeUserTrades Subskrybuje aktualizacje transakcji użytkownika dla instrumentu.

Poniżej znajduje się przykład subskrypcji kanałów WebSocket.


procedure OnDeribitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string);
begin
  if aSuccess then
  begin
    oDeribit.SubscribeOrders('BTC-PERPETUAL');
    oDeribit.SubscribePositions('BTC');
  end;
end;

REST API

REST API udostępnia publiczne i prywatne metody do pobierania danych z rynków, handlu, konta i portfela. Dostęp do REST API uzyskuje się przez właściwość REST_API komponentu.

Dane rynkowe (publiczne)

Metoda Opis
GetInstruments Pobierz dostępne instrumenty dla danej waluty.
GetTicker Pobierz informacje o instrumencie z arkusza notowań.
GetOrderBook Pobierz arkusz zleceń dla instrumentu.
GetTrades Pobiera ostatnie transakcje dla instrumentu.
GetCurrencies Pobierz listę obsługiwanych walut.
GetIndexPrice Pobierz bieżącą cenę indeksu dla podanej nazwy indeksu.
GetFundingRateHistory Pobierz historię stopy finansowania dla instrumentu.
GetFundingRateValue Pobierz bieżącą wartość stopy finansowania dla instrumentu.
GetBookSummaryByCurrency Pobiera podsumowanie księgi zleceń dla wszystkich instrumentów danej waluty.
GetBookSummaryByInstrument Pobierz podsumowanie arkusza dla określonego instrumentu.

Trading (prywatny)

Metoda Opis
Kup Złóż zlecenie kupna. Obsługuje zlecenia rynkowe i limitowane.
Sprzedaj Składa zlecenie sprzedaży. Obsługuje zlecenia rynkowe i z limitem ceny.
CancelOrder Anuluj istniejące zlecenie według identyfikatora zlecenia.
CancelAllOrders Anuluj wszystkie otwarte zlecenia.
CancelAllByInstrument Anuluj wszystkie otwarte zlecenia dla określonego instrumentu.
EditOrder Edytuje istniejące zlecenie (zmiana kwoty lub ceny).
GetOpenOrders Pobierz listę otwartych zleceń dla waluty.
GetOrderState Pobiera stan konkretnego zlecenia.
GetOrderHistory Pobierz historię zleceń dla waluty.

Konto (prywatne)

Metoda Opis
GetPositions Pobierz pozycje dla danej waluty.
GetAccountSummary Pobierz podsumowanie konta dla danej waluty.
GetSubAccounts Pobierz listę subkont.
GetTransactionLog Pobiera dziennik transakcji dla waluty.

Portfel (prywatny)

Metoda Opis
GetDeposits Pobierz historię wpłat dla danej waluty.
GetWithdrawals Pobierz historię wypłat dla danej waluty.
GetTransfers Pobierz historię transferów dla danej waluty.

Poniżej znajduje się przykład użycia REST API.


oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
// Get ticker
oDeribit.REST_API.GetTicker('BTC-PERPETUAL');
// Place a buy order
oDeribit.REST_API.Buy('BTC-PERPETUAL', 10, 'market');
// Get account summary
oDeribit.REST_API.GetAccountSummary('BTC');