Deribit to giełda instrumentów pochodnych na kryptowaluty, oferująca handel kontraktami futures i opcjami na Bitcoin i Ethereum.
Poniższe właściwości można skonfigurować we właściwości Deribit.
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;
Klient Deribit implementuje następujące zdarzenia w celu kontroli przepływu połączeń i odbioru danych wysyłanych przez serwer WebSocket:
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 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');