Deribit é uma exchange de derivativos de criptomoedas que oferece negociação de futuros e opções em Bitcoin e Ethereum.
Você pode configurar as seguintes propriedades na propriedade Deribit.
Quando o cliente se conecta com sucesso aos servidores da Deribit, o evento OnConnect é disparado. Depois que o evento OnConnect é disparado, você pode começar a enviar e receber mensagens de/para os servidores da Deribit. Se você estiver se conectando ao canal websocket privado, deve aguardar até que o evento OnDeribitAuthentication seja disparado e verificar se o parâmetro success é true, antes de assinar qualquer canal privado.
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;
O cliente Deribit implementa os seguintes eventos para controlar o fluxo de conexão e obter os dados enviados pelo servidor WebSocket:
O feed websocket fornece atualizações de market data em tempo real para ordens e negociações.
Você pode assinar os seguintes canais públicos:
| Method | Descrição |
| SubscribeTicker | Assina o stream de ticker de um instrumento. Fornece dados de preço e volume em tempo real. |
| SubscribeTrades | Inscreve-se no stream de negociações recentes de um instrumento. |
| SubscribeOrderBook | Inscreve-se no stream do order book. Suporta agrupamento configurável, níveis de profundidade e intervalos de atualização. |
| SubscribeCandle | Assina o stream de candlestick. Suporta múltiplas resoluções (por exemplo 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D). |
| SubscribePerpetual | Assina os dados de contrato perpétuo de um instrumento. Fornece funding rate e outras informações específicas de perpétuos. |
| SubscribeBookChange | Assine as notificações de alteração do order book de um instrumento. |
Você pode assinar os seguintes canais privados (requerem autenticação):
| Method | Descrição |
| SubscribeOrders | Assina atualizações de ordens para um instrumento. |
| SubscribePositions | Inscreve-se em atualizações de posição. Suporta filtragem por moeda e tipo de instrumento. |
| SubscribeAccountChanges | Assine as alterações de saldo da conta para uma moeda. |
| SubscribeUserTrades | Assina atualizações de negociações do usuário para um instrumento. |
Encontre abaixo um exemplo de inscrição em canais 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;
A REST API fornece métodos Públicos e Privados para solicitar dados de mercados, negociação, conta e carteira. Acesse a REST API por meio da propriedade REST_API do componente.
Market Data (Public)
| Method | Descrição |
| GetInstruments | Obtém os instrumentos disponíveis para uma moeda. |
| GetTicker | Obtém informações do ticker para um instrumento. |
| GetOrderBook | Obter o order book de um instrumento. |
| GetTrades | Obtém as negociações mais recentes de um instrumento. |
| GetCurrencies | Obtém a lista de moedas suportadas. |
| GetIndexPrice | Obtém o preço de índice atual para um nome de índice. |
| GetFundingRateHistory | Obtém o histórico da taxa de funding de um instrumento. |
| GetFundingRateValue | Obtém o valor atual da funding rate para um instrumento. |
| GetBookSummaryByCurrency | Obtém o resumo do book para todos os instrumentos de uma moeda. |
| GetBookSummaryByInstrument | Obtém o resumo do book para um instrumento específico. |
Trading (Private)
| Method | Descrição |
| Buy | Coloca uma ordem de compra. Suporta os tipos de ordem market e limit. |
| Sell | Coloca uma ordem de venda. Suporta tipos de ordem a mercado e limitada. |
| CancelOrder | Cancela uma ordem existente pelo ID da ordem. |
| CancelAllOrders | Cancela todas as ordens abertas. |
| CancelAllByInstrument | Cancela todas as ordens abertas de um instrumento específico. |
| EditOrder | Edita uma ordem existente (altera o valor ou o preço). |
| GetOpenOrders | Obtém a lista de ordens abertas para uma moeda. |
| GetOrderState | Obtém o estado de uma ordem específica. |
| GetOrderHistory | Obter o histórico de ordens de uma moeda. |
Account (Private)
| Method | Descrição |
| GetPositions | Obtém as posições de uma moeda. |
| GetAccountSummary | Obtém o resumo da conta para uma moeda. |
| GetSubAccounts | Obter a lista de subcontas. |
| GetTransactionLog | Obtém o log de transações de uma moeda. |
Wallet (Privada)
| Method | Descrição |
| GetDeposits | Obtém o histórico de depósitos de uma moeda. |
| GetWithdrawals | Obtém o histórico de saques de uma moeda. |
| GetTransfers | Obter o histórico de transferências de uma moeda. |
Encontre abaixo um exemplo de uso da 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');