API HTX

HTX

A HTX (anteriormente Huobi) é uma exchange de criptomoedas internacional e multilíngue. O componente da HTX API fornece uma HTTP REST API para complementar a Huobi WebSocket API existente.

APIs suportadas

Properties

Você pode configurar as seguintes propriedades na propriedade Huobi (para WebSocket) ou na propriedade HTXOptions (para REST API).

Conexão

O componente HTX estende o cliente da WebSocket API da Huobi. Quando o cliente se conecta com sucesso aos servidores HTX, o evento OnConnect é disparado. Se a ApiKey não estiver vazia, o cliente tentará conectar ao servidor websocket privado, de modo que apenas os métodos privados estarão disponíveis. Se a ApiKey estiver vazia, o cliente conectará ao servidor websocket público e apenas os métodos públicos estarão disponíveis.


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;

Eventos

O cliente HTX implementa os seguintes eventos para controlar o fluxo de conexão e obter os dados enviados pelo servidor WebSocket:

WebSocket API

A WebSocket API fornece atualizações de dados de mercado em tempo real. Consulte a documentação da Huobi API para a lista completa de métodos de assinatura WebSocket, incluindo canais públicos (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail, etc.) e canais privados (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange).

REST API

A REST API fornece métodos Públicos e Privados para solicitar dados de mercados e contas privadas. A REST API é acessada através do componente TsgcHTTP_API_HTX.

Market Data (Public)

Method Descrição
GetServerTime Obter o horário do servidor.
GetSymbols Obtém a lista de símbolos de negociação disponíveis.
GetCurrencys Obtém a lista de moedas suportadas.
GetMarketTickers Obter tickers para todos os símbolos de negociação.
GetMarketDetail Obtém os detalhes de mercado de 24 horas para um símbolo.
GetMarketDepth Obtém a profundidade do livro de ordens para um símbolo. Suporta tipo de profundidade e níveis de profundidade configuráveis.
GetMarketTrade Obtém a negociação mais recente de um símbolo.
GetMarketHistoryTrade Obtém o histórico de negociações mais recente de um símbolo.
GetMarketHistoryKline Obter dados de candlestick/kline. Suporta múltiplos períodos (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year).

Trading (Private)

Method Descrição
PlaceOrder Coloca uma nova ordem. Suporta buy-market, sell-market, buy-limit, sell-limit e outros tipos de ordem.
CancelOrder Cancela uma ordem existente pelo ID da ordem.
GetOrder Obter detalhes de uma ordem específica.
GetOpenOrders Obter a lista de ordens abertas de uma conta.
GetOrderHistory Obtém o histórico de ordens de um símbolo.

Account (Private)

Method Descrição
GetAccounts Obtém a lista de contas.
GetAccountBalance Obtém o saldo de uma conta específica.
GetAccountAssetValuation Obtém a avaliação total dos ativos para um tipo de conta (por exemplo, spot).

Encontre abaixo um exemplo de uso da 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');