HTX (voorheen Huobi) is een internationale meertalige cryptovalutabeurs. Het HTX API-component biedt een HTTP REST API als aanvulling op de bestaande Huobi WebSocket API.
U kunt de volgende eigenschappen configureren in de Huobi-eigenschap (voor WebSocket) of de HTXOptions-eigenschap (voor REST API).
Het HTX-component breidt de Huobi WebSocket API-client uit. Wanneer de client succesvol verbinding maakt met HTX-servers, wordt de gebeurtenis OnConnect geactiveerd. Als de ApiKey niet leeg is, zal de client proberen verbinding te maken met de privé-websocketserver, zodat alleen de privémethoden beschikbaar zijn. Als de ApiKey leeg is, maakt de client verbinding met de openbare websocketserver en zijn alleen de openbare methoden beschikbaar.
oClient := TsgcWebSocketClient.Create(nil);
oHTX := TsgcWS_API_Huobi.Create(nil);
oHTX.Client := oClient;
oHTX.Huobi.ApiKey := 'your_api_key';
oHTX.Huobi.ApiSecret := 'your_api_secret';
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#HTX Connected');
end;
De HTX-client implementeert de volgende gebeurtenissen om de verbindingsstroom te beheren en gegevens te ontvangen die door de WebSocket-server worden verzonden:
De WebSocket API biedt realtime-marktgegevensupdates. Zie de Huobi API-documentatie voor de volledige lijst van WebSocket-subscriptionmethoden, inclusief publieke channels (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail, etc.) en private channels (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange).
De REST API biedt publieke en privémethoden om gegevens op te vragen van markten en privéaccounts. De REST API is toegankelijk via het component TsgcHTTP_API_HTX.
Marktgegevens (Publiek)
| Methode | Beschrijving |
| GetServerTime | De servertijd ophalen. |
| GetSymbols | Haal de lijst op van beschikbare handelssymbolen. |
| GetCurrencys | Haal de lijst met ondersteunde valuta's op. |
| GetMarketTickers | Tickers ophalen voor alle handelssymbolen. |
| GetMarketDetail | Haal de 24-uurs marktdetails op voor een symbool. |
| GetMarketDepth | Haal de diepte van het orderboek op voor een symbool. Ondersteunt configureerbaar dieptetype en diepteniveaus. |
| GetMarketTrade | Haal de meest recente handel op voor een symbool. |
| GetMarketHistoryTrade | Haal de meest recente handelsgeschiedenis op voor een symbool. |
| GetMarketHistoryKline | Candlestick-/kline-gegevens ophalen. Ondersteunt meerdere perioden (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year). |
Handel (Privé)
| Methode | Beschrijving |
| PlaceOrder | Plaats een nieuwe order. Ondersteunt buy-market, sell-market, buy-limit, sell-limit en andere ordertypen. |
| CancelOrder | Annuleer een bestaande order op order-ID. |
| GetOrder | Details van een specifieke order ophalen. |
| GetOpenOrders | Haal de lijst van open orders op voor een account. |
| GetOrderHistory | Haal de ordergeschiedenis op voor een symbool. |
Account (Privé)
| Methode | Beschrijving |
| GetAccounts | De lijst met accounts ophalen. |
| GetAccountBalance | Haal het saldo van een specifiek account op. |
| GetAccountAssetValuation | Haal de totale activawaardering op voor een accounttype (bijv. spot). |
Hieronder vindt u een voorbeeld van het gebruik van de REST API.
oHTX := TsgcHTTP_API_HTX.Create(nil);
oHTX.HTXOptions.ApiKey := 'your_api_key';
oHTX.HTXOptions.ApiSecret := 'your_api_secret';
// Get market tickers
oHTX.GetMarketTickers;
// Get kline data
oHTX.GetMarketHistoryKline('btcusdt', '1min', 150);
// Place an order
oHTX.PlaceOrder('12345678', 'btcusdt', 'buy-limit', '0.001', '50000');
// Get account balance
oHTX.GetAccountBalance('12345678');