API Binance Futures

Binance

 

Binance ist eine internationale, mehrsprachige Kryptowährungsbörse. Sie bietet einige APIs für den Zugriff auf Binance-Daten. Diese Komponente ermöglicht Ihnen, Binance-Futures-WebSocket-Market-Streams abzurufen.

 

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

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

Futures Contracts

Die Binance-API hat 2 Arten von Methoden: öffentliche und private. Öffentliche Methoden können ohne Authentifizierung aufgerufen werden, Beispiel: Ticker-Preise abrufen. Einige sind privat und beziehen sich auf Benutzerdaten; diese Methoden erfordern die Verwendung von Binance-API-Schlüsseln.

 

 

Der Client kann sich mit USDT- oder COIN-Binance-Futures verbinden. Legen Sie mit der Eigenschaft FuturesContracts fest, welchen Kontrakt Sie handeln möchten:

 

 

Der Client kann sich mit Production- oder Demo-Binance-Konten verbinden. Wenn die Eigenschaft TestNet aktiviert ist, verbindet er sich mit dem Demo-Konto, andernfalls mit den Production-Binance-Servern.

 

 

WebSocket Stream API

Der Client kann nach einer erfolgreichen Verbindung Ereignisse abonnieren / abbestellen.

Die folgenden Abonnement-/Abbestellungsmethoden werden unterstützt.

 

Method Parameter Beschreibung
AggregateTrades Symbol Die Aggregate Trade Streams pushen alle 100 Millisekunden Handelsinformationen, die für eine einzelne Taker-Order aggregiert werden.
MarkPrice Symbol, UpdateSpeed Mark-Preis und Funding Rate für ein einzelnes Symbol, alle 3 Sekunden oder jede Sekunde übertragen.
AllMarkPrice UpdateSpeed Mark Price und Funding Rate für alle Symbole, gepusht alle 3 Sekunden oder jede Sekunde.
KLine Symbol, Interval Der Kline-/Candlestick-Stream pusht alle 250 Millisekunden Aktualisierungen der aktuellen Klines/Candlesticks (falls vorhanden).
MiniTicker Symbol 24-Stunden-Rolling-Window-Mini-Ticker-Statistiken für ein einzelnes Symbol. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein 24-Stunden-Rolling-Window von requestTime bis 24 Stunden zuvor.
AllMiniTicker   Mini-Ticker-Statistiken über ein rollierendes 24-Stunden-Fenster für alle Symbole. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein rollierendes 24-Stunden-Fenster von requestTime bis 24 Stunden davor. Beachten Sie, dass nur Ticker, die sich geändert haben, im Array vorhanden sind.
Ticker Symbol 24-Stunden-Ticker-Statistiken im gleitenden Fenster für ein einzelnes Symbol. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein gleitendes 24-Stunden-Fenster von requestTime bis 24 Stunden davor.
AllMarketTickers   24-Stunden-Rolling-Window-Ticker-Statistiken für alle Symbole. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein 24-Stunden-Rolling-Window von requestTime bis 24 Stunden zuvor. Beachten Sie, dass nur Ticker im Array enthalten sind, die sich geändert haben.
BookTicker Symbol Pusht jede Aktualisierung des Preises oder der Menge des besten Bids oder Asks in Echtzeit für ein angegebenes Symbol.
AllBookTickers   Übermittelt jede Aktualisierung des besten Bid- oder Ask-Preises oder der -Menge in Echtzeit für alle Symbole.
LiquidationOrders Symbol Die Liquidation Order Streams pushen Informationen zu erzwungenen Liquidations-Orders für ein bestimmtes Symbol
AllLiquidationOrders   Die All-Liquidation-Order-Streams übertragen Informationen über erzwungene Liquidationsorders für alle Symbole am Markt.
PartialBookDepth Symbol, Depth Top-Bids und -Asks, gültige Werte sind 5, 10 oder 20.
DiffDepth Symbol Bids und Asks, gepusht alle 250 Millisekunden, 500 Millisekunden, 100 Millisekunden oder in Echtzeit (falls vorhanden)

 

Nach einem erfolgreichen Abonnement / Abbestellen empfängt der Client eine Nachricht darüber, wobei id das Ergebnis der Subscribed-/Unsubscribed-Methode ist.

 


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

User Data Stream API

Erfordert einen gültigen ApiKey, der von Ihrem Binance-Konto erhalten wird, und der ApiKey muss in der Eigenschaft Binance.ApiKey der Komponente gesetzt werden.

 

Die folgenden Daten werden bei jeder Änderung an den Client gesendet. Es ist nicht erforderlich, eine Methode zu abonnieren; dies geschieht automatisch, wenn Sie einen gültigen ApiKey setzen.

 

Method Beschreibung
Margin Call Wenn das Positionsrisikoverhältnis des Benutzers zu hoch ist, wird dieser Stream gepusht. Diese Nachricht dient nur als Risiko-Orientierungsinformation und wird nicht für Anlagestrategien empfohlen. Bei einem sehr volatilen Markt besteht die Möglichkeit, dass die Position des Benutzers zur gleichen Zeit liquidiert wurde, zu der dieser Stream gepusht wird.
Guthaben- und Positions-Update

Eine Guthabenaktualisierung erfolgt in folgenden Fällen:

 

  • Wenn Guthaben oder Position aktualisiert werden, wird dieses Ereignis gepusht.
  • Wenn sich die "FUNDING FEE" am Guthaben des Benutzers ändert.
Order Update Wenn eine neue Order erstellt wird, löst eine Statusänderung der Order ein solches Ereignis aus.

 

 

REST API

Alle Endpunkte geben entweder ein JSON-Objekt oder ein Array zurück. Daten werden in aufsteigender Reihenfolge zurückgegeben. Älteste zuerst, neueste zuletzt.

 

Öffentliche API-EndPoints

 

Auf diese Endpunkte kann ohne jegliche Autorisierung zugegriffen werden.

 

General EndPoints

 

Method Parameter Beschreibung
Ping   Konnektivität zur Rest-API testen.
GetServerTime   Testet die Konnektivität zur REST-API und ruft die aktuelle Serverzeit ab.
GetExchangeInformation   Aktuelle Börsenhandelsregeln und Symbolinformationen

 

 

Market-Data-Endpunkte

 

Method Parameter Beschreibung
GetOrderBook Symbol Ruft das Orderbuch ab.
GetTrades Symbol Ruft die letzten Trades ab
GetHistoricalTrades Symbol Ruft ältere Trades ab.
GetAggregateTrades Symbol Ruft komprimierte, aggregierte Trades ab. Trades, die zur selben Zeit, aus derselben Order und mit demselben Preis ausgeführt werden, haben die Menge aggregiert.
GetKLines Symbol, Interval Kline-/Candlestick-Bars für ein Symbol. Klines werden eindeutig durch ihre Öffnungszeit identifiziert.
Get24hrTicker Symbol Preisänderungsstatistiken über ein gleitendes 24-Stunden-Fenster. Vorsicht beim Zugriff darauf ohne Symbol.
GetPriceTicker Symbol Aktuellster Preis für ein Symbol oder mehrere Symbole.
GetBookTicker Symbol Bester Preis/Menge im Orderbook für ein Symbol oder mehrere Symbole.
GetMarkPrice Symbol Mark Price and Funding Rate
GetFundingRateHistory Symbol  
GetOpenInterest Symbol Ruft das aktuelle Open Interest eines bestimmten Symbols ab.
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair, ContractType, Interval Kline-/Candlestick-Balken für einen bestimmten Kontrakttyp.
GetIndexPriceKLines Pair, Interval Kline-/Candlestick-Balken für den Indexpreis eines Paares.
GetMarkPriceKLines Symbol, Interval Kline-/Candlestick-Balken für den Mark-Preis eines Symbols.
GetPremiumIndexKLines Symbol, Interval Premium-Index-Kline-Bars eines Symbols.
GetFundingInfo Ruft Funding-Rate-Informationen für alle Symbole ab.
GetPriceTickerV2 Symbol Aktueller Preis für ein oder mehrere Symbole (V2).
GetIndexInfo Symbol Index-Informationen abrufen.
GetAssetIndex Symbol Ruft den Asset-Index für den Multi-Asset-Modus ab.
GetConstituents Symbol Ruft Indexbestandteile ab.
GetDeliveryPrice Pair Lieferpreis abrufen.
GetBasis Pair, ContractType, Period Basisdaten abrufen.

 

 

Private API EndPoints

 

Erfordert einen APIKey und APISecret, um vom Server autorisiert zu werden.

 

Account- und Trades-Endpunkte

 

Method Parameter Beschreibung
ChangePositionMode DualPosition Den Positionsmodus des Benutzers (Hedge-Modus oder One-way-Modus) für JEDES Symbol ändern
GetCurrentPositionMode   Ruft den Positionsmodus des Benutzers (Hedge-Modus oder One-way-Modus) für JEDES Symbol ab
NewOrder Symbol, Side, PositionSide, Type Reicht eine neue Order ein.
PlaceMarketOrder Side, Symbol, Quantity  
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice  
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice  
PlaceTrailingStopOrder Side, Symbol, Quantity, aActivationPrice, aCallbackRate  
QueryOrder Symbol Prüft den Status einer Order.
CancelOrder Symbol Storniert eine aktive Order. Entweder OrderId oder OrigClientOrderId muss gesendet werden.
CancelAllOpenOrders Symbol  
AutoCancelAllOpenOrders Symbol, CountDownTimer Alle offenen Orders des angegebenen Symbols am Ende des angegebenen Countdowns abbrechen.
QueryCurrentOpenOrder Symbol  
GetOpenOrders Symbol Ruft alle offenen Orders zu einem Symbol ab. Vorsicht beim Zugriff ohne Symbol.
GetAllOrders Symbol Alle Konto-Orders abrufen; aktiv, storniert oder ausgeführt.
GetAccountBalance    
GetAccountInformation   Aktuelle Kontoinformationen abrufen.
ChangeInitialLeverage Symbol, Leverage Ändert die anfängliche Hebelwirkung des Benutzers für einen bestimmten Symbol-Markt.
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol, Amount, Type  
GetPositionMarginChangeHistory Symbol  
GetPositionInformation Symbol  
GetAccountTradeList Symbol  
GetIncomeHistory Symbol  
GetNotionalLeverageBracket Symbol
TestNewOrder Symbol, Side, PositionSide, Type Testet die Erstellung einer neuen Order und die Signatur/recvWindow-Dauer. Erstellt und validiert eine neue Order, sendet sie aber nicht an die Matching Engine.
ModifyOrder Symbol Ändert einen bestehenden Auftrag.
NewBatchOrders BatchOrders Platziert mehrere Orders.
ModifyBatchOrders BatchOrders Mehrere Orders ändern.
CancelBatchOrders Symbol Mehrere Orders stornieren.
GetOrderAmendment Symbol Order-Änderungsverlauf abrufen.
CountdownCancelAll Symbol, CountdownTime Alle offenen Orders des angegebenen Symbols am Ende des angegebenen Countdowns abbrechen.
GetForceOrders Symbol Ruft die erzwungenen Liquidations-Orders des Benutzers ab.
GetADLQuantile Symbol ADL-Quantilschätzung für Positionen abrufen.
GetAccountBalanceV3 Ruft den Futures-Kontostand ab (V3).
GetAccountInformationV3 Aktuelle Kontoinformationen abrufen (V3).
GetPositionInformationV3 Symbol Aktuelle Positionsinformationen abrufen (V3).
GetCommissionRate Symbol Ruft die Provisionsrate des Benutzers ab.
GetAccountConfig Aktuelle Kontokonfiguration abrufen.
GetSymbolConfig Symbol Ruft die Symbol-Konfiguration ab.
GetOrderRateLimit Das Order-Rate-Limit des Benutzers abrufen.
GetApiTradingStatus Symbol API-Handels-Quantitativ-Regelindikatoren abrufen.
ChangeMultiAssetsMode MultiAssetsMargin Den Multi-Assets-Modus des Benutzers ändern. Multi-Assets Mode: true; Single-Asset Mode: false.
GetMultiAssetsMode Ruft den aktuellen Multi-Assets-Modus des Benutzers ab.
SetFeeBurn FeeBurn Den BNB-Fee-Burn-Status des Benutzers ändern.
GetFeeBurn Den BNB-Fee-Burn-Status des Benutzers abrufen.
CreateListenKey Startet einen neuen User-Data-Stream. Der Stream wird nach 60 Minuten geschlossen, sofern kein Keepalive gesendet wird.
KeepAliveListenKey Einen User-Data-Stream am Leben erhalten, um ein Timeout zu verhindern.
CloseListenKey Schließt einen Benutzerdatenstrom.

 

 

 

Ereignisse

Binance-Futures-Nachrichten werden in der TsgcWebSocketClient-Komponente empfangen; Sie können die folgenden Ereignisse verwenden:

 

OnConnect

Nach einer erfolgreichen Verbindung zum Binance-Server.

OnDisconnect

Nach einer Trennung vom Binance-Server

OnMessage

Nachrichten, die vom Server an den Client gesendet werden, werden in diesem Ereignis behandelt.

OnError

Wenn im Protokoll ein Fehler auftritt, wird dieses Ereignis aufgerufen.

OnException

Wenn eine nicht behandelte Ausnahme auftritt, wird dieses Ereignis aufgerufen.

 

Zusätzlich gibt es ein spezifisches Ereignis in der Binance API-Komponente namens OnBinanceHTTPException, das jedes Mal ausgelöst wird, wenn beim Aufruf einer HTTP-Anfrage (REST API oder WebSocket User Stream) ein Fehler auftritt.

 

(*) Aufgrund von Änderungen an den Binance-Servern können Indy-Versionen vor RAD Studio 10.1 keine Verbindung zu Testservern herstellen. Dieses Problem betrifft weder die Enterprise Edition noch den Fall, dass die Indy-Version auf die neueste aktualisiert wurde.