Deribit è una piattaforma di scambio di derivati in criptovaluta che offre il trading di futures e opzioni su Bitcoin ed Ethereum.
È possibile configurare le seguenti proprietà nella proprietà Deribit.
Quando il client si connette correttamente ai server Deribit, viene generato l'evento OnConnect . Dopo che l'evento OnConnect è stato generato, è possibile iniziare a inviare e ricevere messaggi da/verso i server Deribit. Se si connette al canale websocket privato, deve attendere finché non viene generato l'evento OnDeribitAuthentication e verificare se il parametro success è true, prima di sottoscrivere qualsiasi canale privato.
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;
Il client Deribit implementa i seguenti eventi per controllare il flusso di connessione e ottenere i dati inviati dal server WebSocket:
Il feed websocket fornisce aggiornamenti in tempo reale sui dati di mercato per ordini e transazioni.
È possibile sottoscriversi ai seguenti canali pubblici:
| Method | Description |
| SubscribeTicker | Iscrizione al flusso ticker per uno strumento. Fornisce dati in tempo reale su prezzi e volumi. |
| SubscribeTrades | Si iscrive allo stream dei trade recenti per uno strumento. |
| SubscribeOrderBook | Iscrizione allo stream order book. Supporta raggruppamento configurabile, livelli di profondità e intervalli di aggiornamento. |
| SubscribeCandle | Sottoscrivi allo stream candlestick. Supporta più risoluzioni (ad es. 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D). |
| SubscribePerpetual | Iscriviti ai dati del contratto perpetuo per uno strumento. Fornisce il tasso di finanziamento e altre informazioni specifiche dei contratti perpetui. |
| SubscribeBookChange | Sottoscrivi alle notifiche di variazione del book ordini per uno strumento. |
È possibile sottoscrivere i seguenti canali privati (richiedono autenticazione):
| Method | Description |
| SubscribeOrders | Sottoscrizione agli aggiornamenti degli ordini per uno strumento. |
| SubscribePositions | Sottoscrive gli aggiornamenti delle posizioni. Supporta il filtraggio per valuta e tipo di strumento. |
| SubscribeAccountChanges | Sottoscrivi alle variazioni del saldo del conto per una valuta. |
| SubscribeUserTrades | Abbonati agli aggiornamenti sulle operazioni dell'utente per uno strumento. |
Di seguito un esempio di sottoscrizione ai canali 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;
La REST API fornisce metodi pubblici e privati per richiedere dati da mercati, trading, account e portafoglio. Accedere alla REST API tramite la proprietà REST_API del componente.
Dati di mercato (Pubblici)
| Method | Description |
| GetInstruments | Ottieni gli strumenti disponibili per una valuta. |
| GetTicker | Ottiene le informazioni sul ticker per uno strumento. |
| GetOrderBook | Ottiene l'order book per uno strumento. |
| GetTrades | Recupera le operazioni più recenti per uno strumento. |
| GetCurrencies | Ottieni l'elenco delle valute supportate. |
| GetIndexPrice | Ottiene il prezzo dell'indice corrente per un nome di indice. |
| GetFundingRateHistory | Recupera la cronologia del tasso di finanziamento per uno strumento. |
| GetFundingRateValue | Ottenere il valore del tasso di finanziamento corrente per uno strumento. |
| GetBookSummaryByCurrency | Ottieni il riepilogo del book per tutti gli strumenti di una valuta. |
| GetBookSummaryByInstrument | Recupera il riepilogo del libro degli ordini per uno strumento specifico. |
Trading (Privato)
| Method | Description |
| Acquisto | Effettua un ordine di acquisto. Supporta i tipi di ordine a mercato e a limite. |
| Vendita | Inserisce un ordine di vendita. Supporta i tipi di ordine market e limit. |
| CancelOrder | Annulla un ordine esistente tramite l'ID ordine. |
| CancelAllOrders | Annulla tutti gli ordini aperti. |
| CancelAllByInstrument | Annulla tutti gli ordini aperti per uno strumento specifico. |
| EditOrder | Modifica un ordine esistente (cambia importo o prezzo). |
| GetOpenOrders | Ottieni l'elenco degli ordini aperti per una valuta. |
| GetOrderState | Ottieni lo stato di un ordine specifico. |
| GetOrderHistory | Ottenere la cronologia degli ordini per una valuta. |
Account (Privato)
| Method | Description |
| GetPositions | Ottieni le posizioni per una valuta. |
| GetAccountSummary | Recupera il riepilogo del conto per una valuta. |
| GetSubAccounts | Ottiene l'elenco dei sotto-account. |
| GetTransactionLog | Recupera il registro delle transazioni per una valuta. |
Wallet (Private)
| Method | Description |
| GetDeposits | Ottieni la cronologia dei depositi per una valuta. |
| GetWithdrawals | Ottiene lo storico dei prelievi per una valuta. |
| GetTransfers | Ottiene la cronologia dei trasferimenti per una valuta. |
Di seguito è riportato un esempio di utilizzo della 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');