API HTX

HTX

HTX (precedentemente Huobi) è un exchange di criptovalute internazionale e multilingue. Il componente API HTX fornisce una REST API HTTP a complemento dell'esistente Huobi WebSocket API.

API supportate

Proprietà

È possibile configurare le seguenti proprietà nella proprietà Huobi (per WebSocket) o nella proprietà HTXOptions (per REST API).

Connessione

Il componente HTX estende il client WebSocket API Huobi. Quando il client si connette con successo ai server HTX, viene generato l'evento OnConnect. Se ApiKey non è vuoto, il client tenterà di connettersi al server websocket privato, quindi saranno disponibili solo i metodi privati. Se ApiKey è vuoto, il client si connetterà al server websocket pubblico e saranno disponibili solo i metodi pubblici.


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;

Eventi

Il client HTX implementa i seguenti eventi per controllare il flusso di connessione e ottenere i dati inviati dal server WebSocket:

WebSocket API

L'API WebSocket fornisce aggiornamenti di dati di mercato in tempo reale. Consultare la documentazione Huobi API per l'elenco completo dei metodi di sottoscrizione WebSocket, inclusi i canali pubblici (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail, ecc.) e i canali privati (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange).

REST API

La REST API fornisce metodi pubblici e privati per richiedere dati dai mercati e dagli account privati. La REST API è accessibile tramite il componente TsgcHTTP_API_HTX.

Dati di mercato (Pubblici)

Method Description
GetServerTime Ottiene l'ora del server.
GetSymbols Recupera l'elenco dei simboli di trading disponibili.
GetCurrencys Ottieni l'elenco delle valute supportate.
GetMarketTickers Ottiene i ticker per tutti i simboli di trading.
GetMarketDetail Recupera il dettaglio di mercato delle ultime 24 ore per un simbolo.
GetMarketDepth Recupera la profondità del book degli ordini per un simbolo. Supporta tipo di profondità e livelli di profondità configurabili.
GetMarketTrade Recupera l'operazione più recente per un simbolo.
GetMarketHistoryTrade Ottieni la cronologia delle transazioni più recenti per un simbolo.
GetMarketHistoryKline Ottiene i dati candlestick/kline. Supporta più periodi (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year).

Trading (Privato)

Method Description
PlaceOrder Inserisce un nuovo ordine. Supporta buy-market, sell-market, buy-limit, sell-limit e altri tipi di ordine.
CancelOrder Annulla un ordine esistente tramite l'ID ordine.
GetOrder Ottiene i dettagli di un ordine specifico.
GetOpenOrders Ottiene l'elenco degli ordini aperti per un account.
GetOrderHistory Ottieni la cronologia degli ordini per un simbolo.

Account (Privato)

Method Description
GetAccounts Ottieni l'elenco degli account.
GetAccountBalance Recupera il saldo di un account specifico.
GetAccountAssetValuation Ottiene la valutazione totale degli asset per un tipo di conto (ad es. spot).

Di seguito è riportato un esempio di utilizzo della 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');