API Bitget

Bitget

支持的 API

属性

使用 BitgetChannel 属性选择通道类型:

您可以在 Bitget 属性中配置以下属性。

连接

当客户端成功连接到 Bitget 服务器时,触发 OnConnect 事件。触发 OnConnect 事件后,您可以开始向 Bitget 服务器发送接收消息。如果您正在连接私有 WebSocket 频道,则必须等到触发 OnBitgetAuthentication 事件且检查 success 参数为 True 后,才能订阅任何频道。


oClient := TsgcWebSocketClient.Create(nil);
oBitget := TsgcWS_API_Bitget.Create(nil);
oBitget.Client := oClient;
oBitget.Bitget.ApiKey := 'your_api_key';
oBitget.Bitget.ApiSecret := 'your_api_secret';
oBitget.Bitget.Passphrase := 'your_passphrase';
oBitget.BitgetChannel := bgcSpot;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
  DoLog('#Bitget Connected');
end;

事件

Bitget 客户端实现以下事件,用于控制连接流程并获取 WebSocket 服务器发送的数据:

WebSocket API

WebSocket 数据流提供订单和交易的实时市场数据更新。

您可以订阅以下频道

方法 公共或私有 描述
SubscribeTicker 公开 订阅某一合约的行情流。
SubscribeTrade 公开 订阅最新成交流。
SubscribeCandle 公开 订阅 K 线数据流,支持多种时间间隔(如 candle1m、candle5m、candle1H)。
SubscribeOrderBook 公开 订阅订单簿流。支持不同的深度级别。
SubscribeOrders 私有 订阅订单更新。需要身份验证。
SubscribePositions 私有 订阅持仓更新。需要身份验证。
SubscribeAccount 私有 订阅账户余额更新。需要身份验证。

以下是成功身份验证后订阅私有 WebSocket 频道的示例。


procedure OnBitgetAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string);
begin
  if aSuccess then
  begin
    oBitget.SubscribeOrders('BTCUSDT');
    oBitget.SubscribeAccount();
  end;
end;

REST API

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

方法 公开 / 私有 描述
GetServerTime 公开 获取服务器时间。
GetTickers 公开 获取一个或所有交易对的行情信息。
GetOrderBook 公开 获取某个交易对的订单簿。
GetCandles 公开 获取某个交易对的蜡烛图/K 线数据。
GetRecentTrades 公开 获取某个交易对的最新成交记录。
PlaceOrder 私有 下新订单。
CancelOrder 私有 取消现有订单。
GetOpenOrders 私有 获取未结订单列表。
GetOrderDetail 私有 获取特定订单的详情。
GetOrderHistory 私有 获取历史订单。
GetAccountAssets 私有 获取账户资产信息。
GetAccountInfo 私有 获取账户信息。

以下是使用 REST API 的示例。


oBitget := TsgcWS_API_Bitget.Create(nil);
oBitget.Bitget.ApiKey := 'your_api_key';
oBitget.Bitget.ApiSecret := 'your_api_secret';
oBitget.Bitget.Passphrase := 'your_passphrase';
// Get tickers
oBitget.REST_API.GetTickers('SPOT');
// Place an order
oBitget.REST_API.PlaceOrder('BTCUSDT', 'buy', 'market', 'normal', '0.01');