HTX (eski adıyla Huobi), uluslararası, çok dilli bir kripto para borsasıdır. HTX API bileşeni, mevcut Huobi WebSocket API'sini tamamlamak için bir HTTP REST API sağlar.
Huobi özelliğinde (WebSocket için) veya HTXOptions özelliğinde (REST API için) aşağıdaki özellikleri yapılandırabilirsiniz.
HTX bileşeni, Huobi WebSocket API istemcisini genişletir. İstemci HTX sunucularına başarıyla bağlandığında, OnConnect olayı tetiklenir. ApiKey boş değilse, istemci private websocket sunucusuna bağlanmaya çalışır, böylece yalnızca private yöntemler kullanılabilir. ApiKey boşsa, istemci public websocket sunucusuna bağlanır ve yalnızca public yöntemler kullanılabilir.
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;
HTX istemcisi, bağlantı akışını kontrol etmek ve WebSocket sunucusundan gönderilen verileri almak için aşağıdaki olayları uygular:
WebSocket API gerçek zamanlı piyasa veri güncellemeleri sağlar. Genel kanallar (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail vb.) ve özel kanallar (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange) dahil WebSocket abonelik yöntemlerinin tam listesi için Huobi API belgelerine bakınız.
REST API, piyasalardan ve özel hesaplardan veri istemek için Public ve Private yöntemler sağlar. REST API'ye TsgcHTTP_API_HTX bileşeni aracılığıyla erişilir.
Piyasa Verileri (Genel)
| Yöntem | Açıklama |
| GetServerTime | Sunucu zamanını alın. |
| GetSymbols | Kullanılabilir işlem sembollerinin listesini alın. |
| GetCurrencys | Desteklenen para birimlerinin listesini alın. |
| GetMarketTickers | Tüm işlem sembolleri için ticker'ları alın. |
| GetMarketDetail | Bir sembol için 24 saatlik piyasa detayını alın. |
| GetMarketDepth | Bir sembol için emir defteri derinliğini alın. Yapılandırılabilir derinlik türünü ve derinlik seviyelerini destekler. |
| GetMarketTrade | Bir sembol için en son işlemi alın. |
| GetMarketHistoryTrade | Bir sembol için en son işlem geçmişini alın. |
| GetMarketHistoryKline | Candlestick/kline verilerini alın. Birden çok dönemi destekler (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year). |
İşlem (Özel)
| Yöntem | Açıklama |
| PlaceOrder | Yeni bir emir verin. buy-market, sell-market, buy-limit, sell-limit ve diğer emir türlerini destekler. |
| CancelOrder | Emir kimliğine göre var olan bir emri iptal edin. |
| GetOrder | Belirli bir siparişin ayrıntılarını alın. |
| GetOpenOrders | Bir hesap için açık siparişlerin listesini alın. |
| GetOrderHistory | Bir sembol için emir geçmişini alın. |
Hesap (Özel)
| Yöntem | Açıklama |
| GetAccounts | Hesapların listesini alın. |
| GetAccountBalance | Belirli bir hesabın bakiyesini alın. |
| GetAccountAssetValuation | Bir hesap türü için (örneğin spot) toplam varlık değerlemesini alın. |
REST API kullanımının bir örneğini aşağıda bulun.
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');