Bitmex es un exchange de criptomonedas y una plataforma de trading de derivados.
Se admiten las siguientes APIs:
La API de Bitmex tiene 2 tipos de métodos: públicos y privados. Se puede acceder a los métodos públicos sin autenticación, por ejemplo: obtener precios de ticker. Algunos son privados y están relacionados con datos del usuario; esos métodos requieren el uso de claves API de Bitmex.
REST API
Suscribirse / Cancelar suscripción
BitMEX permite suscribirse a datos en tiempo real. Este acceso no tiene límite de velocidad una vez conectado y es la mejor manera de obtener los datos más actualizados en sus programas. En algunos temas, puede pasar un Symbol para filtrar eventos por símbolo, por ejemplo: trades, quotes...
Los siguientes temas de suscripción están disponibles sin autenticación:
btmAnnouncement: Anuncios del sitio
btmChat: Chat del Trollbox
btmConnected: Estadísticas de usuarios/bots conectados
btmFunding: Actualizaciones de tasas de financiación de swaps. Se envía cada intervalo de financiación (normalmente 8 horas)
btmInstrument: Actualizaciones de instrumentos incluyendo volumen negociado y bid/ask
btmInsurance: Actualizaciones diarias del fondo de seguros
btmLiquidation: Órdenes de liquidación a medida que se introducen en el libro
btmOrderBookL2_25: Los 25 niveles superiores del libro de órdenes de nivel 2
btmOrderBookL2: Libro de órdenes completo de nivel 2
btmOrderBook10: Los 10 niveles superiores mediante push de libro completo tradicional
btmPublicNotifications: Notificaciones a nivel de sistema (utilizadas para mensajes de corta duración)
btmQuote: Nivel superior del libro
btmQuoteBin1m: bins de cotización de 1 minuto
btmQuoteBin5m: Bins de cotización de 5 minutos
btmQuoteBin1h: barras de cotización de 1 hora
btmQuoteBin1d: Bins de cotización de 1 día
btmSettlement: Liquidaciones
btmTrade: Operaciones en tiempo real
btmTradeBin1m: intervalos de operaciones de 1 minuto
btmTradeBin5m: bins de operaciones de 5 minutos
btmTradeBin1h: bins de operaciones de 1 hora
btmTradeBin1d: intervalos de negociación de 1 día
Los siguientes asuntos requieren autenticación:
btmAffiliate: Estado de afiliado, como el total de usuarios referidos y el porcentaje de comisión.
btmExecution: Ejecuciones individuales; puede haber múltiples por orden
btmOrder: Actualizaciones en tiempo real de sus pedidos
btmMargin: Actualizaciones sobre el saldo de su cuenta actual y los requisitos de margen
btmPosition: Actualizaciones sobre sus posiciones
btmPrivateNotifications: Notificaciones individuales - actualmente no se usa
btmTransact: Actualizaciones de depósito/retiro
btmWallet: datos de saldo de dirección Bitcoin, incluyendo el total de depósitos & retiros
Ejemplo de mensajes recibidos:
{
"table":"orderBookL2_25",
"keys":["symbol","id","side"],
"types":{"id":"long","price":"float","side":"symbol","size":"long","symbol":"symbol"}
"foreignKeys":{"side":"side","symbol":"instrument"},
"attributes":{"id":"sorted","symbol":"grouped"},
"action":"partial",
"data":[
{"symbol":"XBTUSD","id":17999992000,"side":"Sell","size":100,"price":80},
{"symbol":"XBTUSD","id":17999993000,"side":"Sell","size":20,"price":70},
{"symbol":"XBTUSD","id":17999994000,"side":"Sell","size":10,"price":60},
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":10,"price":50},
{"symbol":"XBTUSD","id":17999996000,"side":"Buy","size":20,"price":40},
{"symbol":"XBTUSD","id":17999997000,"side":"Buy","size":100,"price":30}
]
}
{
"table":"orderBookL2_25",
"action":"update",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":5}
]
}
{
"table":"orderBookL2_25",
"action":"delete",
"data":[
{"symbol":"XBTUSD","id":17999995000,"side":"Buy"}
]
}
{
"table":"orderBookL2_25",
"action":"insert",
"data":[
{"symbol":"XBTUSD","id":17999995500,"side":"Buy","size":10,"price":45},
]
}
Autenticación
Si desea suscribirse a flujos bloqueados por el usuario, primero debe autenticarse. Tenga en cuenta que una autenticación no válida cerrará la conexión.
El uso de la API de BitMEX requiere una clave de API.
Las claves API permanentes pueden bloquearse a rangos de direcciones IP y revocarse a voluntad sin comprometer sus credenciales principales. Además, no requieren renovación.
Para usar la autenticación por clave de API, debe generar una clave de API en su cuenta.
Llame al método Authenticate antes de suscribirse a cualquier tema autenticado.
CancelAllAfter (interruptor de hombre muerto)
El método CancelAllAfter implementa la función Dead Man's Switch. Cuando se llama con un valor de tiempo de espera (en milisegundos), instruye al servidor para que cancele todas las órdenes abiertas si no se recibe ninguna llamada posterior a CancelAllAfter dentro del período de tiempo de espera. Esto es útil para asegurar que las órdenes se cancelen en caso de desconexión de red.
| Método | Descripción |
| GetExecutions | Esto devuelve todas las transacciones sin procesar, lo que incluye la apertura y cancelación de órdenes, y los cambios de estado de las órdenes. |
| GetExecutionsTradeHistory | Esto devuelve Transacciones más específicas. |
| GetInstruments | Esto devuelve todos los instrumentos e índices, incluidos los que han sido liquidados o no están listados. Utilice este endpoint si desea consultar instrumentos individuales o aplicar un filtro complejo. |
| GetOrders | Para obtener solo las órdenes abiertas |
| PlaceOrder | Coloque una orden sin procesar usando el objeto TsgcHTTPBitmexOrder. |
| PlaceMarketOrder | Coloca una nueva orden MARKET. |
| PlaceLimitOrder | Coloque una nueva orden LIMIT. |
| PlaceStopOrder | Colocar una nueva orden STOP. |
| PlaceStopLimitOrder | Colocar una nueva orden STOPLIMIT. |
| AmendOrder | Modificar una orden existente. |
| CancelOrder | Cancela una orden activa. |
| CancelAllOrders | Cancelar todas las órdenes activas. |
| CancelAllOrdersAfter | Cancelar todas las órdenes después de un tiempo. |
| ClosePosition | Cierra una posición abierta. |
| GetOrderBook | Obtener el libro de órdenes actual en formato vertical |
| GetPosition | Obtenga sus posiciones. |
| SetPositionIsolate | Habilite el margen aislado o cruzado por posición. |
| SetPositionLeverage | Elija el apalancamiento por posición. |
| SetPositionRiskLimit | Actualice su límite de riesgo. |
| SetPositionTransferMargin | Transferir capital a una posición o desde ella. |
| GetQuotes | Obtener Cotizaciones |
| GetTrades | Get Trades |
| GetFunding | Obtiene datos de financiación. |
| GetInsurance | Obtener datos del fondo de seguros. |
| GetTradeBucketed | Obtener datos de operaciones agrupados (OHLCV) con tamaños de intervalo configurables. |
| GetQuoteBucketed | Obtiene datos de cotización en grupos con tamaños de intervalo configurables. |
| GetSettlement | Obtener datos de liquidación. |
| GetLiquidation | Obtener órdenes de liquidación. |
| GetInstrumentIndices | Obtener índices de instrumentos. |
| GetInstrumentCompositeIndex | Obtener datos de índice compuesto para instrumentos. |
| GetStats | Obtiene estadísticas globales del exchange. |
| GetStatsHistory | Obtiene estadísticas históricas del exchange. |
| GetStatsHistoryUSD | Obtener estadísticas históricas de tipo de cambio en USD. |
| GetUserMargin | Obtenga los datos de margen de su cuenta. |
| GetUserWallet | Obtenga la información de su cartera. |
| GetUserWalletHistory | Obtenga el historial de transacciones de su cartera. |
| GetUserWalletSummary | Obtenga un resumen de su cartera. |