HTX (anteriormente Huobi) es un exchange de criptomonedas internacional y multilingüe. El componente HTX API proporciona una REST API HTTP para complementar la API WebSocket de Huobi existente.
Puede configurar las siguientes propiedades en la propiedad Huobi (para WebSocket) o en la propiedad HTXOptions (para la API REST).
El componente HTX extiende el cliente de la API WebSocket de Huobi. Cuando el cliente se conecta correctamente a los servidores HTX, se activa el evento OnConnect . Si ApiKey no está vacío, el cliente intentará conectarse al servidor WebSocket privado, por lo que solo estarán disponibles los métodos privados. Si ApiKey está vacío, el cliente se conectará al servidor WebSocket público y solo estarán disponibles los métodos públicos.
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;
El cliente HTX implementa los siguientes eventos para controlar el flujo de conexión y obtener los datos enviados desde el servidor WebSocket:
La API de WebSocket proporciona actualizaciones de datos de mercado en tiempo real. Consulte la documentación de Huobi API para obtener la lista completa de métodos de suscripción de WebSocket, incluidos los canales públicos (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail, etc.) y los canales privados (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange).
La API REST proporciona métodos públicos y privados para solicitar datos de mercados y cuentas privadas. Se accede a la API REST mediante el componente TsgcHTTP_API_HTX.
Datos de mercado (público)
| Método | Descripción |
| GetServerTime | Obtener la hora del servidor. |
| GetSymbols | Obtener la lista de símbolos de negociación disponibles. |
| GetCurrencys | Obtiene la lista de divisas admitidas. |
| GetMarketTickers | Obtener tickers para todos los símbolos de negociación. |
| GetMarketDetail | Obtiene el detalle de mercado de las últimas 24 horas para un símbolo. |
| GetMarketDepth | Obtiene la profundidad del libro de órdenes para un símbolo. Admite tipos de profundidad y niveles de profundidad configurables. |
| GetMarketTrade | Obtiene la operación más reciente para un símbolo. |
| GetMarketHistoryTrade | Obtiene el historial de operaciones más recientes para un símbolo. |
| GetMarketHistoryKline | Obtener datos de velas/kline. Compatible con múltiples períodos (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year). |
Trading (Privado)
| Método | Descripción |
| PlaceOrder | Coloca una nueva orden. Admite compra de mercado, venta de mercado, compra limitada, venta limitada y otros tipos de órdenes. |
| CancelOrder | Cancelar una orden existente por identificador de orden. |
| GetOrder | Obtener detalles de un pedido específico. |
| GetOpenOrders | Obtener la lista de órdenes abiertas para una cuenta. |
| GetOrderHistory | Obtiene el historial de órdenes de un símbolo. |
Cuenta (Privada)
| Método | Descripción |
| GetAccounts | Obtiene la lista de cuentas. |
| GetAccountBalance | Obtiene el saldo de una cuenta específica. |
| GetAccountAssetValuation | Obtiene la valoración total de activos para un tipo de cuenta (p. ej., spot). |
A continuación se muestra un ejemplo del uso de la 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');