Binance to międzynarodowa wielojęzyczna giełda kryptowalut. Oferuje szereg API umożliwiających dostęp do danych Binance. Ten komponent umożliwia pobieranie strumieni rynkowych WebSocket dla kontraktów Binance Futures.
https://binance-docs.github.io/apidocs/futures/en
https://binance-docs.github.io/apidocs/delivery/en
Binance API posiada 2 typy metod: publiczne i prywatne. Metody publiczne są dostępne bez uwierzytelniania, np. pobieranie cen tickerów. Niektóre metody są prywatne i związane z danymi użytkownika; te metody wymagają użycia kluczy API Binance.
Klient może połączyć się z kontraktami terminowymi Binance USDT lub COIN. Aby wybrać typ kontraktu do handlu, należy ustawić właściwość FuturesContracts:
Klient może łączyć się z kontami Binance produkcyjnymi lub demonstracyjnymi. Jeśli właściwość TestNet jest włączona, połączenie nastąpi z kontem demonstracyjnym; w przeciwnym razie klient połączy się z serwerami produkcyjnymi Binance.
Klient może subskrybować zdarzenia i anulować subskrypcję po nawiązaniu połączenia.
Obsługiwane są następujące metody subskrypcji i anulowania subskrypcji.
| Metoda | Parametry | Opis |
| AggregateTrades | Symbol | Agregowane strumienie transakcji przesyłają informacje o transakcjach agregowane dla jednego zlecenia taker co 100 milisekund. |
| MarkPrice | Symbol, UpdateSpeed | Cena mark i stopa finansowania dla pojedynczego symbolu, przesyłane co 3 sekundy lub co sekundę. |
| AllMarkPrice | UpdateSpeed | Cena markowa i stopa finansowania dla wszystkich symboli wysyłana co 3 sekundy lub co sekundę. |
| KLine | Symbol, interwał | Strumień Kline/Candlestick przesyła aktualizacje bieżących danych świecowych co 250 milisekund (jeśli istnieją). |
| MiniTicker | Symbol | 24-godzinne kroczące statystyki mini-tickera dla pojedynczego symbolu. Nie są to statystyki dnia UTC, lecz 24-godzinne okno kroczące od czasu żądania do 24 godzin wcześniej. |
| AllMiniTicker | 24-godzinne kroczące statystyki mini-tickera dla wszystkich symboli. Nie są to statystyki dnia UTC, lecz 24-godzinne okno kroczące od czasu requestTime do 24 godzin wcześniej. Należy pamiętać, że w tablicy będą obecne wyłącznie tickery, które uległy zmianie. | |
| Ticker | Symbol | Statystyki tickera z 24-godzinnego okna kroczącego dla pojedynczego symbolu. Nie są to statystyki dnia UTC, lecz 24-godzinne okno kroczące od requestTime do 24 godzin wstecz. |
| AllMarketTickers | 24-godzinne kroczące statystyki tickerów dla wszystkich symboli. Nie są to statystyki dnia UTC, lecz 24-godzinne okno kroczące od requestTime do 24 godzin wstecz. Należy pamiętać, że w tablicy znajdą się wyłącznie tickery, których wartości uległy zmianie. | |
| BookTicker | Symbol | Przekazuje w czasie rzeczywistym aktualizacje najlepszej ceny lub wolumenu po stronie bid lub ask dla wskazanego symbolu. |
| AllBookTickers | Przesyła w czasie rzeczywistym wszelkie aktualizacje ceny lub ilości najlepszej oferty kupna lub sprzedaży dla wszystkich symboli. | |
| LiquidationOrders | Symbol | Strumienie zleceń likwidacyjnych przesyłają informacje o wymuszonych zleceniach likwidacyjnych dla określonego symbolu |
| AllLiquidationOrders | Strumienie All Liquidation Order przesyłają informacje o zleceniach przymusowej likwidacji dla wszystkich symboli na rynku. | |
| PartialBookDepth | Symbol, Głębokość | Najlepsze oferty kupna i sprzedaży; prawidłowe wartości to 5, 10 lub 20. |
| DiffDepth | Symbol | Oferty kupna i sprzedaży, przesyłane co 250 milisekund, 500 milisekund, 100 milisekund lub w czasie rzeczywistym (jeśli są dostępne) |
Po pomyślnej subskrypcji lub rezygnacji z subskrypcji klient otrzymuje o tym wiadomość, w której id jest wynikiem metody Subscribed lub Unsubscribed.
{
"result": null,
"id": 1
}
Wymaga prawidłowego ApiKey uzyskanego z konta Binance; ApiKey musi być ustawiony we właściwości Binance.ApiKey komponentu.
Następujące dane są wypychane do klienta za każdym razem, gdy nastąpi zmiana. Nie jest konieczna subskrypcja żadnej metody — odbywa się ona automatycznie po ustawieniu prawidłowego ApiKey.
| Metoda | Opis |
| Wezwanie do uzupełnienia depozytu zabezpieczającego | Gdy wskaźnik ryzyka pozycji użytkownika jest zbyt wysoki, ten strumień zostanie wypchnięty. Ta wiadomość służy wyłącznie jako informacja o ryzyku i nie jest zalecana jako podstawa strategii inwestycyjnych. Na wysoce zmiennym rynku istnieje możliwość, że pozycja użytkownika zostanie zlikwidowana w tym samym czasie, gdy zostanie wypchnięty ten strumień. |
| Aktualizacja salda i pozycji |
Aktualizacja salda następuje w następujących przypadkach:
|
| Aktualizacja zlecenia | Gdy zostanie utworzone nowe zlecenie, zostanie wypchnięte zdarzenie zmiany statusu zlecenia. |
Wszystkie punkty końcowe zwracają obiekt lub tablicę JSON. Dane są zwracane w kolejności rosnącej: najstarsze pierwsze, najnowsze ostatnie.
Publiczne punkty końcowe API
Te punkty końcowe są dostępne bez żadnej autoryzacji.
Ogólne EndPoints
| Metoda | Parametry | Opis |
| Ping | Testuje łączność z Rest API. | |
| GetServerTime | Sprawdź połączenie z Rest API i pobierz bieżący czas serwera. | |
| GetExchangeInformation | Bieżące reguły handlowe giełdy i informacje o symbolach |
Punkty końcowe danych rynkowych
| Metoda | Parametry | Opis |
| GetOrderBook | Symbol | Pobierz arkusz zleceń. |
| GetTrades | Symbol | Pobierz ostatnie transakcje |
| GetHistoricalTrades | Symbol | Pobierz starsze transakcje. |
| GetAggregateTrades | Symbol | Pobierz skompresowane, zagregowane transakcje. Transakcje realizowane w tym samym czasie, z tego samego zlecenia i po tej samej cenie będą miały zagregowaną ilość. |
| GetKLines | Symbol, interwał | Świece Kline dla instrumentu. Świece są jednoznacznie identyfikowane przez czas otwarcia. |
| Get24hrTicker | Symbol | Statystyki zmian cen w 24-godzinnym oknie kroczącym. Należy zachować ostrożność podczas wywoływania bez podania symbolu. |
| GetPriceTicker | Symbol | Ostatnia cena dla symbolu lub symboli. |
| GetBookTicker | Symbol | Najlepsza cena/ilość w arkuszu zleceń dla jednego lub wielu symboli. |
| GetMarkPrice | Symbol | Cena Mark i Stopa Finansowania |
| GetFundingRateHistory | Symbol | |
| GetOpenInterest | Symbol | Pobierz bieżące otwarte zainteresowanie dla określonego symbolu. |
| GetOpenInterestStatistics | Symbol, Period | |
| GetTopTraderAccountRatio | Symbol, Period | |
| GetTopTraderPositionRatio | Symbol, Period | |
| GetGlobalAccountRatio | Symbol, Period | |
| GetTakerVolume | Symbol, Period | |
| GetContinuousKLines | Pair, ContractType, Interval | Dane świecowe dla określonego typu kontraktu. |
| GetIndexPriceKLines | Pair, Interval | Świece Kline/candlestick dla ceny indeksu pary. |
| GetMarkPriceKLines | Symbol, interwał | Świece Kline dla ceny mark danego symbolu. |
| GetPremiumIndexKLines | Symbol, interwał | Słupki kline indeksu premii dla symbolu. |
| GetFundingInfo | Pobierz informacje o stawce finansowania dla wszystkich symboli. | |
| GetPriceTickerV2 | Symbol | Ostatnia cena dla jednego lub wielu symboli (V2). |
| GetIndexInfo | Symbol | Pobierz informacje o indeksie. |
| GetAssetIndex | Symbol | Pobierz indeks aktywów dla trybu wieloaktywowego. |
| GetConstituents | Symbol | Pobierz składowe indeksu. |
| GetDeliveryPrice | Para | Pobierz cenę dostawy. |
| GetBasis | Pair, ContractType, Period | Pobieranie danych bazowych. |
Private API EndPoints
Wymaga podania APIKey i APISecret w celu autoryzacji przez serwer.
Punkty końcowe konta i transakcji
| Metoda | Parametry | Opis |
| ChangePositionMode | DualPosition | Zmień tryb pozycji użytkownika (tryb Hedge lub tryb jednokierunkowy) dla KAŻDEGO symbolu |
| GetCurrentPositionMode | Pobierz tryb pozycji użytkownika (tryb zabezpieczony lub jednokierunkowy) dla KAŻDEGO symbolu | |
| NewOrder | Symbol, Side, PositionSide, Type | Wyślij nowe zlecenie. |
| PlaceMarketOrder | Side, Symbol, Quantity | |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | |
| PlaceTrailingStopOrder | Side, Symbol, Quantity, aActivationPrice, aCallbackRate | |
| QueryOrder | Symbol | Sprawdź status zlecenia. |
| CancelOrder | Symbol | Anuluj aktywne zlecenie. Należy podać OrderId lub OrigClientOrderId. |
| CancelAllOpenOrders | Symbol | |
| AutoCancelAllOpenOrders | Symbol, CountDownTimer | Anuluj wszystkie otwarte zlecenia określonego symbolu na koniec określonego odliczania. |
| QueryCurrentOpenOrder | Symbol | |
| GetOpenOrders | Symbol | Pobierz wszystkie otwarte zlecenia dla symbolu. Zachować ostrożność przy dostępie bez podania symbolu. |
| GetAllOrders | Symbol | Pobierz wszystkie zlecenia konta: aktywne, anulowane lub zrealizowane. |
| GetAccountBalance | ||
| GetAccountInformation | Pobierz informacje o bieżącym koncie. | |
| ChangeInitialLeverage | Symbol, Leverage | Zmień początkową dźwignię użytkownika dla określonego rynku symbolu. |
| ChangeMarginType | Symbol, MarginType | |
| ModifyIsolatedPositionMargin | Symbol, Amount, Type | |
| GetPositionMarginChangeHistory | Symbol | |
| GetPositionInformation | Symbol | |
| GetAccountTradeList | Symbol | |
| GetIncomeHistory | Symbol | |
| GetNotionalLeverageBracket | Symbol | |
| TestNewOrder | Symbol, Side, PositionSide, Type | Testuje tworzenie nowego zlecenia oraz poprawność podpisu/recvWindow. Tworzy i weryfikuje nowe zlecenie, ale nie wysyła go do silnika dopasowań. |
| ModifyOrder | Symbol | Modyfikowanie istniejącego zlecenia. |
| NewBatchOrders | BatchOrders | Złóż wiele zleceń jednocześnie. |
| ModifyBatchOrders | BatchOrders | Modyfikuj wiele zleceń jednocześnie. |
| CancelBatchOrders | Symbol | Anuluje wiele zleceń. |
| GetOrderAmendment | Symbol | Pobiera historię modyfikacji zlecenia. |
| CountdownCancelAll | Symbol, CountdownTime | Anuluj wszystkie otwarte zlecenia określonego symbolu na koniec określonego odliczania. |
| GetForceOrders | Symbol | Pobierz zlecenia przymusowej likwidacji użytkownika. |
| GetADLQuantile | Symbol | Pobiera kwantylowe szacowanie ADL dla pozycji. |
| GetAccountBalanceV3 | Pobierz saldo konta futures (V3). | |
| GetAccountInformationV3 | Pobierz bieżące informacje o koncie (V3). | |
| GetPositionInformationV3 | Symbol | Pobierz bieżące informacje o pozycji (V3). |
| GetCommissionRate | Symbol | Pobierz stawkę prowizji użytkownika. |
| GetAccountConfig | Pobierz bieżącą konfigurację konta. | |
| GetSymbolConfig | Symbol | Pobierz konfigurację symbolu. |
| GetOrderRateLimit | Pobierz limit szybkości zleceń użytkownika. | |
| GetApiTradingStatus | Symbol | Pobierz wskaźniki reguł ilościowych dotyczących handlu przez API. |
| ChangeMultiAssetsMode | MultiAssetsMargin | Zmiana trybu wielu aktywów użytkownika. Tryb wielu aktywów: true; Tryb jednego aktywa: false. |
| GetMultiAssetsMode | Pobiera bieżący tryb wielu aktywów użytkownika. | |
| SetFeeBurn | FeeBurn | Zmień status spalania opłat BNB użytkownika. |
| GetFeeBurn | Pobierz status spalania opłat BNB użytkownika. | |
| CreateListenKey | Uruchom nowy strumień danych użytkownika. Strumień zostanie zamknięty po 60 minutach, jeśli nie zostanie wysłany sygnał keepalive. | |
| KeepAliveListenKey | Utrzymuje aktywność strumienia danych użytkownika, zapobiegając przekroczeniu limitu czasu. | |
| CloseListenKey | Zamknij strumień danych użytkownika. |
Wiadomości Binance Futures są odbierane w komponencie TsgcWebSocketClient; można używać następujących zdarzeń:
OnConnect
Po pomyślnym połączeniu z serwerem Binance.
OnDisconnect
Po rozłączeniu z serwerem Binance
OnMessage
Wiadomości wysyłane przez serwer do klienta są obsługiwane w tym zdarzeniu.
OnError
W przypadku wystąpienia błędu protokołu wywoływane jest to zdarzenie.
OnException
Jeżeli wystąpi nieobsługiwany wyjątek, zostanie wywołane to zdarzenie.
Dodatkowo w komponencie Binance API istnieje specyficzne zdarzenie o nazwie OnBinanceHTTPException, wywoływane za każdym razem, gdy wystąpi błąd podczas wywołania żądania HTTP (REST API lub strumień użytkownika WebSocket).
(*) W związku ze zmianami na serwerach Binance wersje Indy wcześniejsze niż Rad Studio 10.1 nie będą mogły łączyć się z serwerami testowymi. Problem ten nie dotyczy wersji Enterprise ani zaktualizowanych wersji Indy.