API Binance Futures

Binance

 

Binance es un exchange de criptomonedas internacional y multilingüe. Ofrece algunas APIs para acceder a los datos de Binance. Este componente le permite obtener los Binance Futures WebSocket Market Streams.

 

https://binance-docs.github.io/apidocs/futures/en

https://binance-docs.github.io/apidocs/delivery/en

Contratos de Futuros

La API de Binance tiene 2 tipos de métodos: públicos y privados. Los métodos públicos son accesibles sin autenticación, por ejemplo: obtener precios de tickers. Algunos son privados y están relacionados con datos del usuario; esos métodos requieren el uso de claves API de Binance.

 

 

El cliente puede conectarse a los futuros Binance USDT o COIN; establezca el contrato que desea negociar usando la propiedad FuturesContracts:

 

 

El cliente puede conectarse a cuentas de Binance de Producción o Demo. Si la propiedad TestNet está habilitada, se conectará a la cuenta Demo; de lo contrario, se conectará a los servidores de producción de Binance.

 

 

WebSocket Stream API

El cliente puede suscribirse o cancelar la suscripción a eventos tras una conexión exitosa.

Se admiten los siguientes métodos de suscripción / cancelación de suscripción.

 

Método Parámetros Descripción
AggregateTrades Symbol Los Aggregate Trade Streams transmiten información de operaciones agregadas para una única orden de tomador cada 100 milisegundos.
MarkPrice Symbol, UpdateSpeed Precio de marca y tasa de financiación para un único símbolo, enviados cada 3 segundos o cada segundo.
AllMarkPrice UpdateSpeed Precio de marca y tasa de financiación para todos los símbolos enviados cada 3 segundos o cada segundo.
KLine Symbol, Interval El flujo de Kline/Vela japonesa envía actualizaciones de las klines/velas actuales cada 250 milisegundos (si existen).
MiniTicker Symbol Estadísticas del mini-ticker de la ventana móvil de 24 horas para un solo símbolo. Estas NO son las estadísticas del día UTC, sino una ventana móvil de 24 horas desde requestTime hasta 24 horas antes.
AllMiniTicker   Estadísticas mini-ticker de ventana deslizante de 24 horas para todos los símbolos. NO son las estadísticas del día UTC, sino una ventana deslizante de 24 horas desde requestTime hasta 24 horas antes. Tenga en cuenta que solo estarán presentes en el array los tickers que hayan cambiado.
Ticker Symbol Estadísticas del ticker de la ventana móvil de 24 horas para un símbolo concreto. NO son las estadísticas del día UTC, sino una ventana móvil de 24 horas desde requestTime hasta 24 horas antes.
AllMarketTickers   Estadísticas del ticker en una ventana deslizante de 24 horas para todos los símbolos. Estas NO son las estadísticas del día UTC, sino una ventana deslizante de 24 horas desde requestTime hasta 24 horas antes. Tenga en cuenta que en el array solo aparecerán los tickers que hayan cambiado.
BookTicker Symbol Envía en tiempo real cualquier actualización del mejor precio o cantidad de oferta o demanda para un símbolo especificado.
AllBookTickers   Envía en tiempo real cualquier actualización del precio o cantidad de la mejor oferta o demanda para todos los símbolos.
LiquidationOrders Symbol Los flujos de Órdenes de Liquidación envían información de órdenes de liquidación forzosa para un símbolo específico
AllLiquidationOrders   Los All Liquidation Order Streams envían información de órdenes de liquidación forzada para todos los símbolos del mercado.
PartialBookDepth Símbolo, Profundidad Las mejores ofertas de compra y venta; los valores válidos son 5, 10 o 20.
DiffDepth Symbol Ofertas de compra y venta enviadas cada 250 milisegundos, 500 milisegundos, 100 milisegundos o en tiempo real (si existen)

 

Tras una suscripción o cancelación de suscripción exitosa, el cliente recibe un mensaje al respecto, donde el id es el resultado del método Subscribed / Unsubscribed.

 


{
  "result": null,
  "id": 1
}

API de flujo de datos de usuario

Requiere una ApiKey válida obtenida de su cuenta de Binance, y la ApiKey debe estar configurada en la propiedad Binance.ApiKey del componente.

 

Los siguientes datos se envían al cliente cada vez que hay un cambio. No es necesario suscribirse a ningún método; esto se realiza automáticamente si se establece un ApiKey válido.

 

Método Descripción
Margin Call Cuando el ratio de riesgo de posición del usuario es demasiado alto, se enviará este stream. Este mensaje se utiliza únicamente como información orientativa de riesgo y no se recomienda para estrategias de inversión. En el caso de un mercado muy volátil, existe la posibilidad de que la posición del usuario haya sido liquidada al mismo tiempo que se envía este stream.
Actualización de Saldo y Posición

La Actualización de Saldo ocurre durante lo siguiente:

 

  • Cuando el saldo o la posición se actualicen, se enviará este evento.
  • Cuando "FUNDING FEE" cambie en el saldo del usuario.
Actualización de orden Cuando se crea una nueva orden, se enviará este evento cuando cambie el estado de la orden.

 

 

REST API

Todos los endpoints devuelven un objeto o array JSON. Los datos se devuelven en orden ascendente: los más antiguos primero, los más recientes al final.

 

Endpoints de la API pública

 

Se puede acceder a estos endpoints sin ninguna autorización.

 

EndPoints generales

 

Método Parámetros Descripción
Ping   Prueba la conectividad con la API REST.
GetServerTime   Compruebe la conectividad con la Rest API y obtenga la hora actual del servidor.
GetExchangeInformation   Reglas de negociación actuales del exchange e información del símbolo

 

 

Endpoints de datos de mercado

 

Método Parámetros Descripción
GetOrderBook Symbol Obtener el libro de órdenes.
GetTrades Symbol Obtener operaciones recientes
GetHistoricalTrades Symbol Obtener operaciones más antiguas.
GetAggregateTrades Symbol Obtenga operaciones agregadas y comprimidas. Las operaciones que se ejecutan al mismo tiempo, desde la misma orden y al mismo precio tendrán la cantidad agregada.
GetKLines Symbol, Interval Barras Kline/velas para un símbolo. Las Klines se identifican de forma única por su tiempo de apertura.
Get24hrTicker Symbol Estadísticas de cambio de precio en ventana deslizante de 24 horas. Tenga cuidado al acceder sin símbolo.
GetPriceTicker Symbol Último precio de un símbolo o varios símbolos.
GetBookTicker Symbol Mejor precio/cantidad en el libro de órdenes para un símbolo o símbolos.
GetMarkPrice Symbol Precio de marca y tasa de financiación
GetFundingRateHistory Symbol  
GetOpenInterest Symbol Obtiene el interés abierto actual de un símbolo específico.
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair, ContractType, Interval Barras Kline/velas para un tipo de contrato específico.
GetIndexPriceKLines Pair, Interval Barras Kline/candlestick para el precio índice de un par.
GetMarkPriceKLines Symbol, Interval Barras de Kline/velas para el precio de marca de un símbolo.
GetPremiumIndexKLines Symbol, Interval Barras de kline del índice premium de un símbolo.
GetFundingInfo Obtiene información de la tasa de financiación para todos los símbolos.
GetPriceTickerV2 Symbol Último precio para uno o varios símbolos (V2).
GetIndexInfo Symbol Obtener información del índice.
GetAssetIndex Symbol Obtener el índice de activos para el modo multi-activos.
GetConstituents Symbol Obtener los componentes del índice.
GetDeliveryPrice Par Obtener precio de entrega.
GetBasis Pair, ContractType, Period Obtener datos de base.

 

 

Puntos de acceso de la API privada

 

Requiere una APIKey y un APISecret para ser autorizado por el servidor.

 

Puntos de conexión de cuenta y operaciones

 

Método Parámetros Descripción
ChangePositionMode DualPosition Cambiar el modo de posición del usuario (Modo de cobertura o Modo unidireccional) en TODOS los símbolos
GetCurrentPositionMode   Obtiene el modo de posición del usuario (Hedge Mode o One-way Mode) en TODOS los símbolos
NewOrder Symbol, Side, PositionSide, Type Enviar una nueva orden.
PlaceMarketOrder Side, Symbol, Quantity  
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice  
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice  
PlaceTrailingStopOrder Side, Symbol, Quantity, aActivationPrice, aCallbackRate  
QueryOrder Symbol Comprueba el estado de un pedido.
CancelOrder Symbol Cancelar una orden activa. Debe enviarse OrderId u OrigClientOrderId.
CancelAllOpenOrders Symbol  
AutoCancelAllOpenOrders Symbol, CountDownTimer Cancela todas las órdenes abiertas del símbolo especificado al final de la cuenta atrás especificada.
QueryCurrentOpenOrder Symbol  
GetOpenOrders Symbol Obtiene todas las órdenes abiertas de un símbolo. Tenga cuidado al acceder sin especificar símbolo.
GetAllOrders Symbol Obtener todas las órdenes de la cuenta: activas, canceladas o ejecutadas.
GetAccountBalance    
GetAccountInformation   Obtiene la información actual de la cuenta.
ChangeInitialLeverage Symbol, Leverage Cambia el apalancamiento inicial del usuario para un mercado de símbolo específico.
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol, Amount, Type  
GetPositionMarginChangeHistory Symbol  
GetPositionInformation Symbol  
GetAccountTradeList Symbol  
GetIncomeHistory Symbol  
GetNotionalLeverageBracket Symbol
TestNewOrder Symbol, Side, PositionSide, Type Prueba la creación de nuevas órdenes y la firma/recvWindow largo. Crea y valida una nueva orden pero no la envía al motor de emparejamiento.
ModifyOrder Symbol Modificar una orden existente.
NewBatchOrders BatchOrders Colocar múltiples órdenes.
ModifyBatchOrders BatchOrders Modificar múltiples órdenes.
CancelBatchOrders Symbol Cancela múltiples órdenes.
GetOrderAmendment Symbol Obtiene el historial de modificaciones de órdenes.
CountdownCancelAll Symbol, CountdownTime Cancela todas las órdenes abiertas del símbolo especificado al final de la cuenta atrás especificada.
GetForceOrders Symbol Obtener las órdenes de liquidación forzada del usuario.
GetADLQuantile Symbol Obtiene la estimación de cuantiles ADL para posiciones.
GetAccountBalanceV3 Obtiene el saldo de la cuenta de futuros (V3).
GetAccountInformationV3 Obtener información actual de la cuenta (V3).
GetPositionInformationV3 Symbol Obtiene información sobre la posición actual (V3).
GetCommissionRate Symbol Obtener la tasa de comisión del usuario.
GetAccountConfig Obtiene la configuración actual de la cuenta.
GetSymbolConfig Symbol Obtener la configuración del símbolo.
GetOrderRateLimit Obtiene el límite de tasa de órdenes del usuario.
GetApiTradingStatus Symbol Obtiene los indicadores de reglas cuantitativas de trading de la API.
ChangeMultiAssetsMode MultiAssetsMargin Cambiar el modo multi-activos del usuario. Modo Multi-Activos: true; Modo Activo Único: false.
GetMultiAssetsMode Obtener el modo multi-activos actual del usuario.
SetFeeBurn FeeBurn Cambiar el estado de quema de comisiones BNB del usuario.
GetFeeBurn Obtener el estado de reducción de comisiones BNB del usuario.
CreateListenKey Inicia un nuevo flujo de datos de usuario. El flujo se cerrará tras 60 minutos a menos que se envíe un keepalive.
KeepAliveListenKey Mantiene activa una secuencia de datos de usuario para evitar un tiempo de espera.
CloseListenKey Cerrar un flujo de datos de usuario.

 

 

 

Eventos

Los mensajes de Binance Futures se reciben en el componente TsgcWebSocketClient; puede utilizar los siguientes eventos:

 

OnConnect

Tras una conexión exitosa al servidor Binance.

OnDisconnect

Tras una desconexión del servidor de Binance

OnMessage

Los mensajes enviados por el servidor al cliente se gestionan en este evento.

OnError

Si hay algún error en el protocolo, se llamará a este evento.

OnException

Si hay una excepción no controlada, se invocará este evento.

 

Además, existe un evento específico en el componente Binance API, llamado OnBinanceHTTPException, que se lanza cada vez que se produce un error al llamar a una solicitud HTTP (REST API o WebSocket User Stream).

 

(*) Debido a cambios en los servidores de Binance, las versiones de Indy anteriores a Rad Studio 10.1 no podrán conectarse a los servidores de prueba. Este problema no afecta a la edición Enterprise ni si la versión de Indy se ha actualizado a la más reciente.