API Bitmex

Bitmex

 

Bitmex es un exchange de criptomonedas y una plataforma de trading de derivados.

 

Se admiten las siguientes APIs:

 

  1. WebSocket streams: le permite suscribirse a algunos métodos y obtener datos en tiempo real. El servidor envía eventos a los clientes suscriptores. Utiliza WebSocket como protocolo.
  2. REST API: los clientes pueden solicitar al servidor datos de mercado y de cuenta. Requiere una clave API y un secreto para autenticarse y utiliza HTTPs como protocolo.

 

Propiedades

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.

 

 

 

Usos más comunes

 

WebSocket 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:

 

 

Los siguientes asuntos requieren autenticación:

 

 

 

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.

REST API

 

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.