使用 GateIOChannel 属性选择频道类型:
您可以在 GateIO 属性中配置以下属性。
当客户端成功连接到 Gate.io 服务器时,触发 OnConnect 事件。触发 OnConnect 事件后,您可以开始向 Gate.io 服务器发送和接收消息。如果您正在连接私有 WebSocket 频道,则必须等到触发 OnGateIOAuthentication 事件且检查 success 参数为 True 后,才能订阅任何私有频道。
oClient := TsgcWebSocketClient.Create(nil);
oGateIO := TsgcWS_API_GateIO.Create(nil);
oGateIO.Client := oClient;
oGateIO.GateIO.ApiKey := 'your_api_key';
oGateIO.GateIO.ApiSecret := 'your_api_secret';
oGateIO.GateIOChannel := giocSpot;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#GateIO Connected');
end;
GateIO 客户端实现了以下事件,用于控制连接流程并获取 WebSocket 服务器发送的数据:
WebSocket 数据流提供订单和交易的实时市场数据更新。
您可以订阅以下频道:
| 方法 | 公共或私有 | 描述 |
| SubscribeTicker | 公开 | 订阅某交易对的行情流。 |
| SubscribeTrades | 公开 | 订阅最新成交流。 |
| SubscribeCandlesticks | 公开 | 订阅 K 线数据流。支持多个时间间隔(如 1m、5m、15m、30m、1h)。 |
| SubscribeOrderBook | 公开 | 订阅订单簿流。支持可配置的深度级别和更新间隔。 |
| SubscribeOrders | 私有 | 订阅订单更新。需要身份验证。 |
| SubscribeBalances | 私有 | 订阅余额更新。需要认证。 |
以下是订阅公共 WebSocket 频道的示例。
procedure OnConnect(Connection: TsgcWSConnection);
begin
oGateIO.SubscribeTicker('BTC_USDT');
oGateIO.SubscribeOrderBook('BTC_USDT', '20', '100ms');
end;
REST API 提供公开和私有方法,用于从市场和私人账户请求数据。通过组件的 REST_API 属性访问 REST API。
| 方法 | 公开 / 私有 | 描述 |
| GetCurrencyPairs | 公开 | 获取可用货币对的信息。 |
| GetTickers | 公开 | 获取一个或所有货币对的行情信息。 |
| GetOrderBook | 公开 | 获取货币对的订单簿。 |
| GetCandlesticks | 公开 | 获取货币对的蜡烛图/K 线数据。 |
| GetTrades | 公开 | 获取某货币对的最新成交记录。 |
| PlaceOrder | 私有 | 下新订单。支持限价单和市价单。 |
| CancelOrder | 私有 | 取消现有订单。 |
| GetOrder | 私有 | 获取特定订单的详情。 |
| GetOpenOrders | 私有 | 获取未结订单列表。 |
| GetSpotAccounts | 私有 | 获取现货账户信息。 |
以下是使用 REST API 的示例。
oGateIO := TsgcWS_API_GateIO.Create(nil);
oGateIO.GateIO.ApiKey := 'your_api_key';
oGateIO.GateIO.ApiSecret := 'your_api_secret';
// Get tickers
oGateIO.REST_API.GetTickers('BTC_USDT');
// Place an order
oGateIO.REST_API.PlaceOrder('BTC_USDT', 'buy', '0.001', '50000', 'limit');