API Bitmex

Bitmex

 

Bitmex to giełda kryptowalut i platforma handlu instrumentami pochodnymi.

 

Obsługiwane są następujące API:

 

  1. Strumienie WebSocket: pozwalają subskrybować określone metody i otrzymywać dane w czasie rzeczywistym. Zdarzenia są wypychane do klientów przez serwer do subskrybentów. Używa protokołu WebSocket.
  2. REST API: klienci mogą żądać danych rynkowych i konta od serwera. Wymaga klucza API i sekretu do uwierzytelniania; protokołem jest HTTPs.

 

Właściwości

API Bitmex ma 2 typy metod: publiczne i prywatne. Do metod publicznych można uzyskać dostęp bez uwierzytelniania, na przykład: pobieranie cen tickerów. Niektóre są prywatne i dotyczą danych użytkownika; te metody wymagają użycia kluczy API Bitmex.

 

 

 

Najczęstsze zastosowania

 

WebSocket API

 

Subskrybuj / Anuluj subskrypcję

    

BitMEX umożliwia subskrybowanie danych w czasie rzeczywistym. Dostęp ten nie jest ograniczony szybkością po nawiązaniu połączenia i jest najlepszym sposobem na dostarczanie aktualnych danych do programów. W niektórych tematach można przekazać symbol, aby filtrować zdarzenia według symbolu, na przykład: trades, quotes...

 

Następujące tematy subskrypcji są dostępne bez uwierzytelniania:

 

 

Następujące tematy wymagają uwierzytelnienia:

 

 

 

Przykład odebranych wiadomości:

 


{
      "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},
      ]
}

Uwierzytelnianie

    

Aby subskrybować strumienie zablokowane dla użytkownika, należy najpierw przeprowadzić uwierzytelnianie. Nieprawidłowe uwierzytelnianie spowoduje zamknięcie połączenia.

 

Korzystanie z BitMEX API wymaga klucza API.

 

Trwałe klucze API mogą być blokowane do zakresów adresów IP i odwoływane w dowolnym momencie bez narażania głównych danych uwierzytelniających. Nie wymagają też odnawiania.

 

Aby korzystać z uwierzytelniania kluczem API, należy wygenerować klucz API na koncie.

 

Przed subskrybowaniem jakiegokolwiek tematu wymagającego uwierzytelnienia należy wywołać metodę Authenticate.

CancelAllAfter (Dead Man's Switch)

Metoda CancelAllAfter implementuje funkcję Dead Man's Switch. Po wywołaniu z wartością limitu czasu (w milisekundach) instruuje serwer, aby anulował wszystkie otwarte zlecenia, jeśli w ciągu tego czasu nie zostanie odebrane kolejne wywołanie CancelAllAfter. Jest to przydatne do zapewnienia anulowania zleceń w przypadku rozłączenia sieciowego.

REST API

 

Metoda Opis
GetExecutions Zwraca wszystkie surowe transakcje, w tym otwieranie i anulowanie zleceń oraz zmiany statusu zleceń.
GetExecutionsTradeHistory Zwraca bardziej szczegółowe transakcje.
GetInstruments Zwraca wszystkie instrumenty i indeksy, w tym te, które zostały rozliczone lub są nienabyte. Należy używać tego punktu końcowego do zapytań o poszczególne instrumenty lub złożonych filtrów.
GetOrders Aby pobierać tylko otwarte zlecenia
PlaceOrder Składa zlecenie nieprzetworzone przy użyciu obiektu TsgcHTTPBitmexOrder.
PlaceMarketOrder Złóż nowe zlecenie MARKET.
PlaceLimitOrder Złóż nowe zlecenie LIMIT.
PlaceStopOrder Złóż nowe zlecenie STOP.
PlaceStopLimitOrder Złóż nowe zlecenie STOPLIMIT.
AmendOrder Modyfikacja istniejącego zlecenia.
CancelOrder Anuluje aktywne zlecenie.
CancelAllOrders Anuluj wszystkie aktywne zlecenia.
CancelAllOrdersAfter Anuluj wszystkie zlecenia po pewnym czasie.
ClosePosition Zamknij otwartą pozycję.
GetOrderBook Pobierz bieżącą księgę zleceń w formacie pionowym
GetPosition Pobierz swoje pozycje.
SetPositionIsolate Włącz izolowany margin lub cross-margin dla każdej pozycji.
SetPositionLeverage Wybierz dźwignię finansową per pozycja.
SetPositionRiskLimit Zaktualizuj swój limit ryzyka.
SetPositionTransferMargin Przenieś kapitał własny do lub z pozycji.
GetQuotes Pobieranie kursów
GetTrades Pobierz transakcje
GetFunding Pobierz dane dotyczące finansowania.
GetInsurance Pobierz dane funduszu ubezpieczeniowego.
GetTradeBucketed Pobierz dane transakcji z przedziałami czasowymi (OHLCV) z konfigurowalnymi rozmiarami przedziałów.
GetQuoteBucketed Pobierz podzielone na kubełki dane notowań z konfigurowalnymi rozmiarami przedziałów.
GetSettlement Pobieranie danych rozliczeniowych.
GetLiquidation Pobierz zlecenia likwidacyjne.
GetInstrumentIndices Pobierz indeksy instrumentów.
GetInstrumentCompositeIndex Pobierz dane złożonego indeksu dla instrumentów.
GetStats Pobieranie statystyk dla całej giełdy.
GetStatsHistory Pobierz historyczne statystyki giełdy.
GetStatsHistoryUSD Pobierz historyczne statystyki kursów wymiany USD.
GetUserMargin Pobierz dane dotyczące depozytu zabezpieczającego konta.
GetUserWallet Pobierz informacje o swoim portfelu.
GetUserWalletHistory Pobierz historię transakcji portfela.
GetUserWalletSummary Pobierz podsumowanie swojego portfela.