Binance is een internationale meertalige cryptovalutabeurs. Het biedt enkele API's voor toegang tot Binance-gegevens. Met deze component kunt u Binance Futures WebSocket-marktstromen ophalen.
https://binance-docs.github.io/apidocs/futures/en
https://binance-docs.github.io/apidocs/delivery/en
Binance API heeft 2 soorten methoden: publiek en privé. Publieke methoden zijn toegankelijk zonder authenticatie, voorbeeld: tickerprijzen opvragen. Sommige zijn privé en gerelateerd aan gebruikersgegevens; die methoden vereisen het gebruik van Binance API-sleutels.
Client kan verbinding maken met USDT of COIN Binance Futures; stel in welk contract u wilt verhandelen via de eigenschap FuturesContracts:
De client kan verbinding maken met Productie- of Demo-Binance-accounts. Als de eigenschap TestNet is ingeschakeld, maakt het verbinding met het Demo-account, anders maakt het verbinding met de productie-Binance-servers.
De client kan zich na een succesvolle verbinding abonneren op/afmelden van gebeurtenissen.
De volgende abonnements-/afmeldmethoden worden ondersteund.
| Methode | Parameters | Beschrijving |
| AggregateTrades | Symbol | De Aggregate Trade Streams pushen handelsinformatie die geaggregeerd is voor één taker-order elke 100 milliseconden. |
| MarkPrice | Symbol, UpdateSpeed | Marktprijs en financieringspercentage voor één symbool, elke 3 seconden of elke seconde gepusht. |
| AllMarkPrice | UpdateSpeed | Markeerprijs en financieringsrente voor alle symbolen gepusht elke 3 seconden of elke seconde. |
| KLine | Symbool, Interval | De Kline/Candlestick Stream pusht elke 250 milliseconden updates naar de huidige klines/candlestick (indien aanwezig). |
| MiniTicker | Symbol | 24-uurs voortschrijdend venster mini-tickerstatistieken voor één symbool. Dit zijn NIET de statistieken van de UTC-dag, maar een 24-uurs voortschrijdend venster van requestTime tot 24 uur eerder. |
| AllMiniTicker | Mini-tickerstatistieken voor een rollend venster van 24 uur voor alle symbolen. Dit zijn NIET de statistieken van de UTC-dag, maar een rollend venster van 24 uur van requestTime tot 24 uur eerder. Merk op dat alleen tickers die zijn gewijzigd aanwezig zijn in de array. | |
| Ticker | Symbol | Statistieken van het 24-uurs voortschrijdend venster voor een enkel symbool. Dit zijn NIET de statistieken van de UTC-dag, maar een 24-uurs voortschrijdend venster van requestTime tot 24 uur daarvoor. |
| AllMarketTickers | 24-uurs voortschrijdende vensterstatistieken voor alle symbolen. Dit zijn NIET de statistieken van de UTC-dag, maar een voortschrijdend venster van 24 uur van requestTime tot 24 uur eerder. Houd er rekening mee dat alleen tickers die zijn gewijzigd, aanwezig zijn in de array. | |
| BookTicker | Symbol | Stuurt in realtime elke update van de beste bied- of vraagprijs of -hoeveelheid door voor een opgegeven symbool. |
| AllBookTickers | Pusht elke update van de beste bied- of laatprijs of -hoeveelheid in real-time voor alle symbolen. | |
| LiquidationOrders | Symbol | De Liquidation Order Streams sturen informatie over geforceerde liquidatieorders voor een specifiek symbool |
| AllLiquidationOrders | De All Liquidation Order Streams pushen informatie over geforceerde liquidatieorders voor alle symbolen op de markt. | |
| PartialBookDepth | Symbool, Diepte | Beste biedingen en aanbiedingen; geldig zijn 5, 10 of 20. |
| DiffDepth | Symbol | Biedingen en aanbiedingen, elke 250 milliseconden, 500 milliseconden, 100 milliseconden of in realtime gepusht (indien beschikbaar) |
Na een succesvol abonnement/deabonnement ontvangt de client een bericht hierover, waarbij id het resultaat is van de methode Subscribed/Unsubscribed.
{
"result": null,
"id": 1
}
Vereist een geldige ApiKey verkregen uit uw Binance-account; de ApiKey moet worden ingesteld in de eigenschap Binance.ApiKey van de component.
De volgende gegevens worden naar de client gepusht telkens wanneer er een wijziging is. U hoeft zich niet op een methode te abonneren, dit wordt automatisch gedaan als u een geldige ApiKey instelt.
| Methode | Beschrijving |
| Margin Call | Wanneer de positierisicoverhouding van de gebruiker te hoog is, wordt deze stroom gepusht. Dit bericht wordt alleen gebruikt als risicobegeleiding en wordt niet aanbevolen voor beleggingsstrategieën. In het geval van een zeer volatiele markt kan het voorkomen dat de positie van de gebruiker tegelijkertijd wordt geliquideerd wanneer deze stroom wordt gepusht. |
| Saldo- en Positie-update |
Saldo-update vindt plaats bij het volgende:
|
| Orderupdate | Wanneer een nieuwe order is aangemaakt, wordt een dergelijke gebeurtenis gepusht met de orderstatus. |
Alle eindpunten retourneren ofwel een JSON-object of -array. Gegevens worden in oplopende volgorde geretourneerd. Oudste eerst, nieuwste als laatste.
Openbare API-eindpunten
Deze eindpunten zijn toegankelijk zonder autorisatie.
Algemene eindpunten
| Methode | Parameters | Beschrijving |
| Ping | Verbinding testen met de Rest API. | |
| GetServerTime | Test de connectiviteit met de REST API en haal de huidige servertijd op. | |
| GetExchangeInformation | Huidige handelsregels van de beurs en symboolinformatie |
Marktgegevens-eindpunten
| Methode | Parameters | Beschrijving |
| GetOrderBook | Symbol | Orderboek ophalen. |
| GetTrades | Symbol | Recente transacties ophalen |
| GetHistoricalTrades | Symbol | Haal oudere transacties op. |
| GetAggregateTrades | Symbol | Haal gecomprimeerde, samengevoegde transacties op. Transacties die tegelijkertijd worden uitgevoerd, uit dezelfde order, met dezelfde prijs, worden samengevoegd in hoeveelheid. |
| GetKLines | Symbool, Interval | Kline/kandelaarstaafjes voor een symbool. Klines worden uniek geïdentificeerd door hun openingstijd. |
| Get24hrTicker | Symbol | Prijswijzigingsstatistieken over een rollend venster van 24 uur. Voorzichtig bij gebruik zonder symbool. |
| GetPriceTicker | Symbol | Laatste prijs voor een symbool of symbolen. |
| GetBookTicker | Symbol | Beste prijs/hoeveelheid in het orderboek voor een symbool of symbolen. |
| GetMarkPrice | Symbol | Markprijs en financieringsrente |
| GetFundingRateHistory | Symbol | |
| GetOpenInterest | Symbol | Haal de huidige open interest op van een specifiek symbool. |
| GetOpenInterestStatistics | Symbol, Period | |
| GetTopTraderAccountRatio | Symbol, Period | |
| GetTopTraderPositionRatio | Symbol, Period | |
| GetGlobalAccountRatio | Symbol, Period | |
| GetTakerVolume | Symbol, Period | |
| GetContinuousKLines | Paar, ContractType, Interval | Kline/candlestick-balken voor een specifiek contracttype. |
| GetIndexPriceKLines | Pair, Interval | Kline/candlestick-balken voor de indexprijs van een paar. |
| GetMarkPriceKLines | Symbool, Interval | Kline/candlestick-balken voor de markprijs van een symbool. |
| GetPremiumIndexKLines | Symbool, Interval | Premium-index kline-bars van een symbool. |
| GetFundingInfo | Haal financieringspercentageinformatie op voor alle symbolen. | |
| GetPriceTickerV2 | Symbol | Laatste prijs voor een of meer symbolen (V2). |
| GetIndexInfo | Symbol | Indexinfo ophalen. |
| GetAssetIndex | Symbol | Get asset index for multi-assets mode. |
| GetConstituents | Symbol | Haal indexcomponenten op. |
| GetDeliveryPrice | Paar | Leveringsprijs ophalen. |
| GetBasis | Pair, ContractType, Period | Basisgegevens ophalen. |
Privé API-eindpunten
Vereist een APIKey en APISecret om door de server te worden geautoriseerd.
Account- en handelsendpoints
| Methode | Parameters | Beschrijving |
| ChangePositionMode | DualPosition | Wijzig de positiemodus van de gebruiker (Hedge Mode of One-way Mode) op ELK symbool |
| GetCurrentPositionMode | Haal de positiemodus van de gebruiker op (Hedge Mode of One-way Mode) voor ELK symbool | |
| NewOrder | Symbol, Side, PositionSide, Type | Stuur een nieuwe order in. |
| PlaceMarketOrder | Kant, Symbool, Hoeveelheid | |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | |
| PlaceTrailingStopOrder | Side, Symbol, Quantity, aActivationPrice, aCallbackRate | |
| QueryOrder | Symbol | Controleer de status van een order. |
| CancelOrder | Symbol | Een actieve order annuleren. OrderId of OrigClientOrderId moet worden meegegeven. |
| CancelAllOpenOrders | Symbol | |
| AutoCancelAllOpenOrders | Symbol, CountDownTimer | Annuleer alle open orders van het opgegeven symbool aan het einde van de opgegeven aftelling. |
| QueryCurrentOpenOrder | Symbol | |
| GetOpenOrders | Symbol | Haal alle openstaande orders op voor een symbool. Wees voorzichtig bij het openen zonder symbool. |
| GetAllOrders | Symbol | Alle accountorders ophalen; actief, geannuleerd of ingevuld. |
| GetAccountBalance | ||
| GetAccountInformation | Haal huidige accountinformatie op. | |
| ChangeInitialLeverage | Symbol, Leverage | Wijzig de initiële leverage van de gebruiker voor een specifieke symboolmarkt. |
| ChangeMarginType | Symbool, MarginType | |
| ModifyIsolatedPositionMargin | Symbol, Amount, Type | |
| GetPositionMarginChangeHistory | Symbol | |
| GetPositionInformation | Symbol | |
| GetAccountTradeList | Symbol | |
| GetIncomeHistory | Symbol | |
| GetNotionalLeverageBracket | Symbol | |
| TestNewOrder | Symbol, Side, PositionSide, Type | Test het aanmaken van een nieuw order en handtekening/recvWindow lang. Maakt een nieuw order aan en valideert dit, maar stuurt het niet naar de afstemmotor. |
| ModifyOrder | Symbol | Een bestaande order wijzigen. |
| NewBatchOrders | BatchOrders | Meerdere orders plaatsen. |
| ModifyBatchOrders | BatchOrders | Meerdere orders wijzigen. |
| CancelBatchOrders | Symbol | Meerdere orders annuleren. |
| GetOrderAmendment | Symbol | Orderwijzigingsgeschiedenis ophalen. |
| CountdownCancelAll | Symbol, CountdownTime | Annuleer alle open orders van het opgegeven symbool aan het einde van de opgegeven aftelling. |
| GetForceOrders | Symbol | Haal de geforceerde liquidatieorders van de gebruiker op. |
| GetADLQuantile | Symbol | ADL-kwantielschatting voor posities ophalen. |
| GetAccountBalanceV3 | Haal het saldo van de futures-rekening op (V3). | |
| GetAccountInformationV3 | Huidige accountinformatie ophalen (V3). | |
| GetPositionInformationV3 | Symbol | Haal huidige positieinformatie op (V3). |
| GetCommissionRate | Symbol | Get user commission rate. |
| GetAccountConfig | Huidige accountconfiguratie ophalen. | |
| GetSymbolConfig | Symbol | Haal symboolconfiguratie op. |
| GetOrderRateLimit | Ordersnelheidslimiet van de gebruiker ophalen. | |
| GetApiTradingStatus | Symbol | Haal API-handelskwantitatieve regelindicatoren op. |
| ChangeMultiAssetsMode | MultiAssetsMargin | Multi-assets-modus van de gebruiker wijzigen. Multi-Assets Modus: true; Single-Asset Modus: false. |
| GetMultiAssetsMode | Get user's huidig multi-assets mode. | |
| SetFeeBurn | FeeBurn | BNB-vergoedingenverbrandingsstatus van de gebruiker wijzigen. |
| GetFeeBurn | BNB-feeverbrandingsstatus van gebruiker ophalen. | |
| CreateListenKey | Start een nieuwe gebruikersdatastream. De stream wordt na 60 minuten gesloten tenzij een keepalive wordt verzonden. | |
| KeepAliveListenKey | Houd een gebruikersgegevensstroom actief om een time-out te voorkomen. | |
| CloseListenKey | Sluit een gebruikersdatastream. |
Binance Futures-berichten worden ontvangen in het TsgcWebSocketClient-component, u kunt de volgende events gebruiken:
OnConnect
Na een succesvolle verbinding met de Binance-server.
OnDisconnect
Na een verbroken verbinding met de Binance-server
OnMessage
Berichten die door de server naar de client worden verzonden, worden in dit event afgehandeld.
OnError
Als er een fout is in het protocol, wordt deze gebeurtenis aangeroepen.
OnException
Als er een onverwerkte uitzondering is, wordt deze gebeurtenis aangeroepen.
Bovendien is er een specifieke gebeurtenis in de Binance API-component genaamd OnBinanceHTTPException, die wordt geactiveerd telkens wanneer er een fout optreedt bij het aanroepen van een HTTP-verzoek (REST API of WebSocket User Stream).
(*) Vanwege wijzigingen in Binance-servers kunnen Indy-versies vóór Rad Studio 10.1 geen verbinding maken met testservers. Dit probleem heeft geen invloed op de Enterprise Edition of als de Indy-versie is bijgewerkt naar de nieuwste versie.