Deribit es una bolsa de derivados de criptomonedas que ofrece negociación de futuros y opciones sobre Bitcoin y Ethereum.
Puede configurar las siguientes propiedades en la propiedad Deribit.
Cuando el cliente se conecta correctamente a los servidores de Deribit, se activa el evento OnConnect. Tras la activación del evento OnConnect, puede comenzar a enviar y recibir mensajes hacia/desde los servidores de Deribit. Si se conecta al canal WebSocket privado, debe esperar a que se active el evento OnDeribitAuthentication y comprobar que el parámetro success es true antes de suscribirse a cualquier 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;
El cliente Deribit implementa los siguientes eventos para controlar el flujo de conexión y obtener los datos enviados desde el servidor WebSocket:
El feed WebSocket proporciona actualizaciones de datos de mercado en tiempo real para órdenes y operaciones.
Puede suscribirse a los siguientes canales públicos:
| Método | Descripción |
| SubscribeTicker | Suscribirse al flujo de ticker de un instrumento. Proporciona datos de precio y volumen en tiempo real. |
| SubscribeTrades | Suscribirse al stream de operaciones recientes de un instrumento. |
| SubscribeOrderBook | Suscribirse al flujo del libro de órdenes. Admite agrupación configurable, niveles de profundidad e intervalos de actualización. |
| SubscribeCandle | Suscríbase al flujo de velas. Admite múltiples resoluciones (por ejemplo, 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D). |
| SubscribePerpetual | Suscríbase a los datos de contratos perpetuos de un instrumento. Proporciona la tasa de financiación y otra información específica de los contratos perpetuos. |
| SubscribeBookChange | Suscríbase a las notificaciones de cambios en el libro de órdenes de un instrumento. |
Puede suscribirse a los siguientes canales privados (requieren autenticación):
| Método | Descripción |
| SubscribeOrders | Suscribirse a actualizaciones de órdenes para un instrumento. |
| SubscribePositions | Suscribirse a actualizaciones de posición. Admite filtrado por divisa y tipo de instrumento. |
| SubscribeAccountChanges | Suscribirse a los cambios de saldo de cuenta para una divisa. |
| SubscribeUserTrades | Suscribirse a actualizaciones de operaciones de usuario para un instrumento. |
A continuación encontrará un ejemplo de suscripción a canales 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 proporciona métodos públicos y privados para solicitar datos de mercados, operaciones, cuentas y carteras. Acceda a la REST API a través de la propiedad REST_API del componente.
Datos de mercado (público)
| Método | Descripción |
| GetInstruments | Obtener los instrumentos disponibles para una divisa. |
| GetTicker | Obtener información de ticker para un instrumento. |
| GetOrderBook | Obtiene el libro de órdenes para un instrumento. |
| GetTrades | Obtiene las operaciones más recientes de un instrumento. |
| GetCurrencies | Obtiene la lista de divisas admitidas. |
| GetIndexPrice | Obtiene el precio del índice actual para un nombre de índice. |
| GetFundingRateHistory | Obtener el historial de tasas de financiación para un instrumento. |
| GetFundingRateValue | Obtenga el valor actual de la tasa de financiación para un instrumento. |
| GetBookSummaryByCurrency | Obtener el resumen del libro de órdenes para todos los instrumentos de una moneda. |
| GetBookSummaryByInstrument | Obtiene el resumen del libro para un instrumento específico. |
Trading (Privado)
| Método | Descripción |
| Comprar | Coloca una orden de compra. Admite órdenes de mercado y órdenes límite. |
| Vender | Coloca una orden de venta. Admite tipos de órdenes de mercado y limitadas. |
| CancelOrder | Cancelar una orden existente por identificador de orden. |
| CancelAllOrders | Cancelar todas las órdenes abiertas. |
| CancelAllByInstrument | Cancela todas las órdenes abiertas de un instrumento específico. |
| EditOrder | Edite una orden existente (cambie la cantidad o el precio). |
| GetOpenOrders | Obtener la lista de órdenes abiertas para una divisa. |
| GetOrderState | Obtiene el estado de una orden específica. |
| GetOrderHistory | Obtener el historial de pedidos de una divisa. |
Cuenta (Privada)
| Método | Descripción |
| GetPositions | Obtiene posiciones para una divisa. |
| GetAccountSummary | Obtener el resumen de cuenta para una divisa. |
| GetSubAccounts | Obtiene la lista de subcuentas. |
| GetTransactionLog | Obtiene el registro de transacciones de una moneda. |
Cartera (Privada)
| Método | Descripción |
| GetDeposits | Obtener el historial de depósitos de una divisa. |
| GetWithdrawals | Obtener el historial de retiros de una divisa. |
| GetTransfers | Obtener el historial de transferencias de una divisa. |
A continuación se muestra un ejemplo del uso de la 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');