API HTX

HTX

HTX(前身为 Huobi)是一家国际多语言加密货币交易所。HTX API 组件提供 HTTP REST API,以补充现有的 Huobi WebSocket API

支持的 API

属性

您可以在 Huobi 属性(用于 WebSocket)或 HTXOptions 属性(用于 REST API)中配置以下属性。

连接

HTX 组件扩展了 Huobi WebSocket API 客户端。当客户端成功连接到 HTX 服务器时,OnConnect 事件触发。如果 ApiKey 不为空,客户端将尝试连接到私有 WebSocket 服务器,届时只有私有方法可用。如果 ApiKey 为空,客户端将连接到公共 WebSocket 服务器,只有公共方法可用。


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 客户端实现了以下事件,用于控制连接流程并获取 WebSocket 服务器发送的数据:

WebSocket API

WebSocket API 提供实时市场数据更新。有关 WebSocket 订阅方法的完整列表,请参阅 Huobi API 文档,包括公共频道(SubscribeKLine、SubscribeMarketDepth、SubscribeTradeDetail 等)和私有频道(SubscribeOrderUpdates、SubscribeTradeClearing、SubscribeAccountChange)。

REST API

REST API 提供公开和私有方法,用于从市场和私人账户请求数据。REST API 通过 TsgcHTTP_API_HTX 组件访问。

市场数据(公开)

方法 描述
GetServerTime 获取服务器时间。
GetSymbols 获取可用交易标的列表。
GetCurrencys 获取支持的货币列表。
GetMarketTickers 获取所有交易对的行情。
GetMarketDetail 获取某一交易对的 24 小时市场详情。
GetMarketDepth 获取某一交易对的订单簿深度。支持可配置的深度类型和深度档位。
GetMarketTrade 获取某个符号的最新成交。
GetMarketHistoryTrade 获取某个交易对的最新成交历史记录。
GetMarketHistoryKline 获取 K 线数据。支持多种周期(1min、5min、15min、30min、60min、4hour、1day、1mon、1week、1year)。

交易(私有)

方法 描述
PlaceOrder 下新订单。支持市价买入、市价卖出、限价买入、限价卖出及其他订单类型。
CancelOrder 通过订单 ID 取消现有订单。
GetOrder 获取特定订单的详情。
GetOpenOrders 获取账户的未结订单列表。
GetOrderHistory 获取某个交易对的订单历史。

账户(私有)

方法 描述
GetAccounts 获取账户列表。
GetAccountBalance 获取特定账户的余额。
GetAccountAssetValuation 获取某种账户类型(例如现货)的总资产估值。

以下是使用 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');