HTX (ehemals Huobi) ist eine internationale mehrsprachige Kryptowährungsbörse. Die HTX-API-Komponente bietet eine HTTP-REST-API zur Ergänzung der bestehenden Huobi WebSocket API.
Sie können die folgenden Eigenschaften in der Huobi-Eigenschaft (für WebSocket) oder der HTXOptions-Eigenschaft (für REST API) konfigurieren.
Die HTX-Komponente erweitert den Huobi-WebSocket-API-Client. Wenn sich der Client erfolgreich mit den HTX-Servern verbindet, wird das Ereignis OnConnect ausgelöst. Wenn der ApiKey nicht leer ist, versucht der Client, sich mit dem privaten WebSocket-Server zu verbinden, sodass nur die privaten Methoden verfügbar sind. Wenn der ApiKey leer ist, verbindet sich der Client mit dem öffentlichen WebSocket-Server, und nur die öffentlichen Methoden sind verfügbar.
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;
Der HTX-Client implementiert die folgenden Ereignisse, um den Verbindungsablauf zu steuern und die vom WebSocket-Server gesendeten Daten zu erhalten:
Die WebSocket-API stellt Echtzeit-Marktdatenaktualisierungen bereit. Eine vollständige Liste der WebSocket-Abonnementmethoden einschließlich öffentlicher Kanäle (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail usw.) und privater Kanäle (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange) finden Sie in der Huobi API-Dokumentation.
Die REST API stellt öffentliche und private Methoden bereit, um Daten von Märkten und privaten Konten anzufordern. Der Zugriff auf die REST API erfolgt über die Komponente TsgcHTTP_API_HTX.
Marktdaten (öffentlich)
| Methode | Beschreibung |
| GetServerTime | Ruft die Serverzeit ab. |
| GetSymbols | Ruft die Liste der verfügbaren Handelssymbole ab. |
| GetCurrencys | Die Liste der unterstützten Währungen abrufen. |
| GetMarketTickers | Ticker für alle Handelssymbole abrufen. |
| GetMarketDetail | Ruft die 24-Stunden-Marktdetails für ein Symbol ab. |
| GetMarketDepth | Ruft die Orderbuchtiefe für ein Symbol ab. Unterstützt konfigurierbaren Tiefentyp und Tiefenstufen. |
| GetMarketTrade | Den aktuellsten Trade für ein Symbol abrufen. |
| GetMarketHistoryTrade | Ruft den aktuellsten Trade-Verlauf für ein Symbol ab. |
| GetMarketHistoryKline | Ruft Candlestick-/Kline-Daten ab. Unterstützt mehrere Perioden (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year). |
Trading (Private)
| Methode | Beschreibung |
| PlaceOrder | Platziert eine neue Order. Unterstützt buy-market, sell-market, buy-limit, sell-limit und andere Order-Typen. |
| CancelOrder | Storniert eine vorhandene Order anhand der Order-ID. |
| GetOrder | Details einer bestimmten Order abrufen. |
| GetOpenOrders | Die Liste der offenen Orders für ein Konto abrufen. |
| GetOrderHistory | Ruft die Auftragshistorie für ein Symbol ab. |
Account (Privat)
| Methode | Beschreibung |
| GetAccounts | Die Liste der Konten abrufen. |
| GetAccountBalance | Ruft das Guthaben eines bestimmten Kontos ab. |
| GetAccountAssetValuation | Ruft die Gesamtbewertung der Vermögenswerte für einen Kontotyp ab (z. B. Spot). |
Nachfolgend ein Beispiel für die Verwendung der 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');