API Huobi

Huobi (HTX)

Huobi (nu omgedoopt tot HTX) is een internationale meertalige cryptocurrency-beurs.

Configuratie

Als u zich wilt abonneren op de privéaccountupdates, moet u een API-sleutel aanmaken in uw Huobi-account. Eenmaal aangemaakt, stelt u de API-sleutel en het geheim in op de Huobi API-client

Publieke en privégegevens met één component

HTX serveert de marktgegevens en de accountgegevens op twee verschillende eindpunten, met twee verschillende schema's: wss://api.htx.com/ws draagt de marktgegevens als v1-abonnementsframes, en wss://api.htx.com/ws/v2 draagt de account- en orderkanalen als v2-geauthenticeerde frames. Geen van beide eindpunten beantwoordt de frames van het andere.

Vorig gedrag. Het component opende één verbinding en koos het eindpunt op basis van de referenties: met een lege ApiKey maakte het verbinding met het publieke eindpunt en werkten alleen de publieke methoden, en met een ingestelde ApiKey maakte het verbinding met het privé-eindpunt en werkten alleen de privémethoden. Een toepassing die tegelijk de marktgegevens en de accountgegevens nodig had, moest twee instanties van het component aanmaken, één met referenties en één zonder.

Huidig gedrag. De verbinding van het component is altijd de publieke, zodat de marktgegevens beschikbaar zijn ongeacht of er referenties zijn ingesteld. Wanneer een ApiKey is ingesteld, opent het component ook zelf een tweede verbinding naar het v2-eindpunt, en ontvangt één enkele instantie dan tegelijk de publieke marktgegevens en de privé-accountgegevens. Die tweede verbinding is intern: ze wordt samen met de publieke verbinding geopend en gesloten door het component, heeft geen eigen Active-eigenschap en geen eigen gebeurtenissen, en alles wat erop binnenkomt wordt doorgegeven via de gebeurtenissen van het component, net als bij de marktgegevens.

Er hoeft niets te worden gewijzigd in bestaande toepassingen. Er is geen enkele nieuwe eigenschap en geen enkele nieuwe gebeurtenis toegevoegd, de publieke API van het component is dezelfde als voorheen. Een toepassing die al de ApiKey instelt en zich alleen abonneert op privékanalen, blijft werken, en kan zich nu ook op dezelfde instantie abonneren op de publieke kanalen. Een toepassing die twee instanties gebruikte, blijft ook werken, al is de tweede instantie niet meer nodig.

De authenticatie van de privéverbinding verloopt op zichzelf, dus de privéverbinding kan nog bezig zijn met verbinden of authenticeren wanneer de toepassing zich abonneert. Dat is geen fout en er hoeft nergens op te worden gewacht: het kanaal wordt geregistreerd en opgevraagd zodra de authenticatie is bevestigd. Hetzelfde geldt na een herverbinding wanneer Resubscribe is ingeschakeld: de privékanalen worden opnieuw opgebouwd en opnieuw opgevraagd zodra de nieuwe sessie is geauthenticeerd.

Het aanroepen van een abonneermethode voor een privékanaal zonder dat er een ApiKey is ingesteld, veroorzaakt nu de gebeurtenis OnHuobiError, die het opgevraagde kanaal en het benodigde eindpunt rapporteert. Voorheen werd het verzoek geschreven op een verbinding die het niet kon verwerken, en ging het spoorloos verloren.

De futures-client (TsgcWS_API_Huobi_Fut) maakt verbinding met een ander eindpunt, dat hier geen v2-tegenhanger heeft, dus opent deze geen tweede verbinding en lopen de privéframes over zijn eigen verbinding, precies zoals voorheen.

Publieke Methoden

U kunt zich abonneren op de volgende publieke kanalen (API-sleutel is niet vereist)

Methode Beschrijving
SubscribeKLine Dit onderwerp verzendt een nieuwe kandelaar zodra deze beschikbaar is. Ondersteunde perioden: 1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year.
SubscribeMarketDepth This onderwerp sends the latest market by price order book in snapshot mode at 1-second interval. Ondersteund depth aggregation levels: step0 through step15.
SubscribeTradeDetail Dit onderwerp verzendt de meest recente voltooide transacties. Het wordt bijgewerkt in tick-voor-tick modus.
SubscribeMarketDetail

Dit onderwerp verzendt de laatste marktstatistieken met een samenvatting van 24 uur. Het wordt bijgewerkt in snapshotmodus, met een maximumfrequentie van 10 keer per seconde.

SubscribeBBO Gebruiker kan BBO (Best Bid/Offer)-update ontvangen in tick-by-tick-modus.
SubscribeMarketTicker

Haal de marktticker op. Gegevens worden elke 100 ms gepusht.

SubscribeMarketByPrice Gebruikers kunnen zich abonneren op dit kanaal om verversende updates te ontvangen van het Market By Price-orderboek. Het updateinterval is ongeveer 100 ms. Ondersteunde niveaus: 5, 10, 20, 150, 400.

Futures Publieke Methoden

De volgende methoden zijn beschikbaar voor de Futures API-client (TsgcWS_API_Huobi_Fut) naast alle bovenstaande publieke methoden.

Methode Beschrijving
SubscribeIncrementalMarketDepth Abonneer op incrementele marktdiepteupdates met configureerbare grootte en gegevenstype (momentopname of incrementeel).
SubscribePremiumIndexKLine Abonneren op premium-indexkline/candlestick-gegevens voor futurescontracten.
SubscribeEstimatedRateKLine Abonneer op geschatte financieringsrente kline/candlestick-gegevens voor futures-contracten.
SubscribeBasisData Abonneer op basisgegevens (spot-futures prijsverschil). Ondersteunt verschillende basisprijstypes: open, close, high, low.
SubscribeMarkPriceKLine Abonneer op mark price kline/candlestick-gegevens voor futures-contracten.
SubscribeLiquidationOrders Abonneer op de publieke liquidatieorderfeed voor een gegeven contract. Geen authenticatie vereist.
SubscribeFundingRate Abonneer u op publieke financieringskoersupdates voor een bepaald contract. Geen authenticatie vereist.
SubscribeContractInfo Abonneer u op wijzigingen van contractparameters (bijv. contractnoteringen, denotaties, parameteraanpassingen).

Private methoden

U kunt zich abonneren op de volgende privékanalen (een api-sleutel is vereist). Deze worden bediend door de tweede verbinding die het component automatisch opent wanneer de ApiKey is ingesteld, zodat ze op dezelfde componentinstantie kunnen worden gecombineerd met de publieke kanalen. Als de referenties niet correct zijn, wordt de verbinding automatisch gesloten, en als er helemaal geen ApiKey is, wordt het verzoek gemeld in de gebeurtenis OnHuobiError.

Methode Beschrijving
SubscribeOrderUpdates

Een orderupdate kan worden geactiveerd door een van de volgende gebeurtenissen:


- Mislukking bij het activeren van voorwaardelijke order (eventType=trigger)
- Annulering van voorwaardelijke order voor activering (eventType=deletion)
- Aanmaken van order (eventType=creation)
- Koppeling van order (eventType=trade)
- Annulering van order (eventType=cancellation)

SubscribeTradeClearing Alleen bijwerken wanneer de order in transactie of annulering is. De update van een ordertransactie is in tick-by-tick-modus, wat betekent dat als de order van een taker matcht met de orders van meerdere makers, de gelijktijdige meerdere trades één voor één worden verspreid. Maar de updatevolgorde van de meerdere trades komt mogelijk niet exact overeen met de volgorde van de gemaakte transacties. Ook, als een order onmiddellijk na zijn gedeeltelijke fills automatisch wordt geannuleerd, bijvoorbeeld een typische IOC-order, zou dit channel mogelijk de annuleringsupdate eerst verspreiden, voorafgaand aan de trade.
SubscribeAccountChange

Na het opgeven van het abonnementsveld kan de update worden geactiveerd door een van de volgende gebeurtenissen. De parameter aMode bepaalt het updategedrag:

Modus 0: Alleen bijwerken wanneer het rekeningsaldo wijzigt.

Modus 1: Bijwerken wanneer het accountsaldo of het beschikbare saldo verandert (afzonderlijke updates).

Mode 2: Update when account balance or beschikbaar balance is changed (combined update).

Gebeurtenissen

OnHuobiSubscribed: event called after a succesvol abonnement.

OnHuobiUnSubscribed: gebeurtenis aangeroepen na een succesvolle uitschrijving.

OnHuobiUpdate: elke keer dat er een update is in de gegevens (kline, marktdiepte...) wordt deze gebeurtenis aangeroepen. De updates van zowel de publieke als de privékanalen worden gerapporteerd, ongeacht via welke van de twee verbindingen ze binnenkwamen.

OnHuobiError: als er een fout is in de Huobi API, geeft deze gebeurtenis informatie over de fout. Deze wordt ook aangeroepen wanneer een privékanaal wordt opgevraagd en het component geen ApiKey heeft om de privéverbinding te openen, waarbij de parameter Code wordt ingesteld op "private-credentials" en de parameter Msg het opgevraagde kanaal vermeldt.