API Binance Futures

Binance

 

Binance 是一家国际多语言加密货币交易所。它提供了一些 API 用于访问 Binance 数据。此组件允许您获取 Binance 期货 WebSocket 市场流。

 

https://binance-docs.github.io/apidocs/futures/en

https://binance-docs.github.io/apidocs/delivery/en

期货合约

Binance API 有两种类型的方法:公开和私有。公开方法无需身份验证即可访问,例如:获取行情价格。部分方法是私有的,与用户数据相关;这些方法需要使用 Binance API 密钥。

 

 

客户端可以连接到 USDTCOIN Binance Futures,使用 FuturesContracts 属性设置您要交易的合约类型:

 

 

客户端可以连接到生产或演示 Binance 账户。如果启用了 TestNet 属性,将连接到演示账户,否则将连接到生产 Binance 服务器。

 

 

WebSocket 流 API

客户端可以在成功连接后订阅/取消订阅事件。

支持以下订阅/取消订阅方法。

 

方法 参数 描述
AggregateTrades 交易对 聚合交易流每 100 毫秒推送一次针对单个吃单订单的聚合交易信息。
MarkPrice Symbol, UpdateSpeed 单个交易对的标记价格和资金费率,每 3 秒或每秒推送一次。
AllMarkPrice UpdateSpeed 所有交易对的标记价格和资金费率每 3 秒或每秒推送一次。
KLine Symbol, Interval K 线/蜡烛图流每 250 毫秒推送一次当前 K 线/蜡烛图的更新(如果存在)。
MiniTicker 交易对 单个品种的 24 小时滚动窗口迷你行情统计。这不是 UTC 日的统计数据,而是从 requestTime 到 24 小时前的 24 小时滚动窗口。
AllMiniTicker   所有交易对的 24 小时滚动窗口迷你行情统计。这些不是 UTC 日统计,而是从请求时间到之前 24 小时的滚动窗口。请注意,数组中只会包含已发生变化的行情。
Ticker 交易对 单个交易对的 24 小时滚动窗口行情统计。这不是 UTC 日的统计数据,而是从 requestTime 到 requestTime 之前 24 小时的滚动窗口统计。
AllMarketTickers   所有交易对的 24 小时滚动窗口行情统计。这些不是 UTC 日统计数据,而是从请求时间到 24 小时前的滚动窗口。请注意,数组中只会包含已发生变化的行情。
BookTicker 交易对 实时推送指定交易对最优买卖价格或数量的任何更新。
AllBookTickers   实时推送所有交易对的最优买卖价或数量的任何更新。
LiquidationOrders 交易对 强制平仓订单流推送特定交易对的强制平仓订单信息
AllLiquidationOrders   所有强制平仓订单流推送市场中所有交易对的强制平仓订单信息。
PartialBookDepth 交易对,深度 最优买卖报价,有效值为 5、10 或 20。
DiffDepth 交易对 买卖盘每 250 毫秒、500 毫秒、100 毫秒推送一次,或实时推送(如有)

 

成功订阅/取消订阅后,客户端会收到相关消息,其中 id 是 Subscribed / Unsubscribed 方法的结果。

 


{
  "result": null,
  "id": 1
}

User Data Stream API

需要从您的 Binance 账户获取有效的 ApiKey,并将 ApiKey 设置到组件的 Binance.ApiKey 属性中。

 

每次发生变化时,以下数据将被推送给客户端。如果设置了有效的 ApiKey,无需订阅任何方法,系统将自动完成订阅。

 

方法 描述
追加保证金通知 当用户的持仓风险率过高时,此流将被推送。 此消息仅作为风险提示信息,不建议作为投资策略依据。 在市场波动剧烈的情况下,推送此流时,用户的持仓可能已同时被强制平仓。
余额与持仓更新

余额更新发生在以下情况下:

 

  • 当余额或持仓更新时,将推送此事件。
  • 当"资金费用"变更至用户余额时。
订单更新 创建新订单时,订单状态变更将推送此类事件。

 

 

REST API

所有端点均返回 JSON 对象或数组。数据按升序返回,最旧的在前,最新的在后。

 

公共 API 端点

 

这些端点无需任何授权即可访问。

 

通用端点

 

方法 参数 描述
Ping   测试与 Rest API 的连通性。
GetServerTime   测试与 Rest API 的连接性并获取当前服务器时间。
GetExchangeInformation   当前交易所交易规则和交易对信息

 

 

市场数据端点

 

方法 参数 描述
GetOrderBook 交易对 获取订单簿。
GetTrades 交易对 获取最新成交
GetHistoricalTrades 交易对 获取历史交易记录。
GetAggregateTrades 交易对 获取压缩的聚合交易数据。在同一时间以相同价格成交的同一订单的交易,其数量将被聚合。
GetKLines Symbol, Interval 某交易对的 K 线/烛线柱。K 线以其开盘时间唯一标识。
Get24hrTicker 交易对 24 小时滚动窗口价格变动统计。不带 symbol 参数访问时请谨慎。
GetPriceTicker 交易对 某个或多个标的的最新价格。
GetBookTicker 交易对 某个或多个交易对在订单簿中的最优价格/数量。
GetMarkPrice 交易对 标记价格和资金费率
GetFundingRateHistory 交易对  
GetOpenInterest 交易对 获取特定品种当前的持仓量。
GetOpenInterestStatistics Symbol, Period  
GetTopTraderAccountRatio Symbol, Period  
GetTopTraderPositionRatio Symbol, Period  
GetGlobalAccountRatio Symbol, Period  
GetTakerVolume Symbol, Period
GetContinuousKLines Pair, ContractType, Interval 特定合约类型的K线/蜡烛图数据。
GetIndexPriceKLines Pair, Interval 交易对指数价格的 K 线/蜡烛图数据。
GetMarkPriceKLines Symbol, Interval 某交易对标记价格的 K 线/蜡烛图数据。
GetPremiumIndexKLines Symbol, Interval 某个交易对的溢价指数 K 线。
GetFundingInfo 获取所有品种的资金费率信息。
GetPriceTickerV2 交易对 某个交易对或多个交易对的最新价格(V2)。
GetIndexInfo 交易对 获取索引信息。
GetAssetIndex 交易对 获取多资产模式的资产指数。
GetConstituents 交易对 获取指数成分。
GetDeliveryPrice 货币对 获取交割价格。
GetBasis Pair, ContractType, Period 获取基础数据。

 

 

私有 API 端点

 

需要 APIKey 和 APISecret 才能获得服务器授权。

 

账户与交易端点

 

方法 参数 描述
ChangePositionMode DualPosition 更改用户在所有交易对上的持仓模式(对冲模式或单向模式)
GetCurrentPositionMode   获取用户在所有交易对上的持仓模式(对冲模式或单向模式)
NewOrder Symbol、Side、PositionSide、Type 提交新订单。
PlaceMarketOrder Side, Symbol, Quantity  
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice  
PlaceStopOrder 方向、交易对、数量、止损价格、限价价格  
PlaceTrailingStopOrder Side, Symbol, Quantity, aActivationPrice, aCallbackRate  
QueryOrder 交易对 查询订单状态。
CancelOrder 交易对 取消一个活跃订单。必须发送 OrderId 或 OrigClientOrderId 之一。
CancelAllOpenOrders 交易对  
AutoCancelAllOpenOrders Symbol, CountDownTimer 在指定倒计时结束时取消指定交易对的所有未结挂单。
QueryCurrentOpenOrder 交易对  
GetOpenOrders 交易对 获取某个交易对的所有未结订单。访问时不指定交易对请谨慎。
GetAllOrders 交易对 获取所有账户订单;包括活跃、已取消或已成交的订单。
GetAccountBalance    
GetAccountInformation   获取当前账户信息。
ChangeInitialLeverage Symbol, Leverage 修改特定交易对市场的用户初始杠杆。
ChangeMarginType Symbol, MarginType  
ModifyIsolatedPositionMargin Symbol, Amount, Type  
GetPositionMarginChangeHistory 交易对  
GetPositionInformation 交易对  
GetAccountTradeList 交易对  
GetIncomeHistory 交易对  
GetNotionalLeverageBracket 交易对
TestNewOrder Symbol、Side、PositionSide、Type 测试新订单创建和签名/recvWindow 时长。创建并验证新订单,但不将其发送到撮合引擎。
ModifyOrder 交易对 修改现有订单。
NewBatchOrders BatchOrders 批量下单。
ModifyBatchOrders BatchOrders 修改多个订单。
CancelBatchOrders 交易对 批量取消订单。
GetOrderAmendment 交易对 获取订单修改历史。
CountdownCancelAll Symbol, CountdownTime 在指定倒计时结束时取消指定交易对的所有未结挂单。
GetForceOrders 交易对 获取用户的强制平仓订单。
GetADLQuantile 交易对 获取持仓的 ADL 分位数估计。
GetAccountBalanceV3 获取合约账户余额(V3)。
GetAccountInformationV3 获取当前账户信息(V3)。
GetPositionInformationV3 交易对 获取当前持仓信息(V3)。
GetCommissionRate 交易对 获取用户佣金费率。
GetAccountConfig 获取当前账户配置。
GetSymbolConfig 交易对 获取品种配置。
GetOrderRateLimit 获取用户的订单速率限制。
GetApiTradingStatus 交易对 获取 API 交易量化规则指标。
ChangeMultiAssetsMode MultiAssetsMargin 更改用户的多资产模式。多资产模式:true;单资产模式:false。
GetMultiAssetsMode 获取用户当前的多资产模式。
SetFeeBurn FeeBurn 更改用户的 BNB 手续费燃烧状态。
GetFeeBurn 获取用户的 BNB 手续费减免状态。
CreateListenKey 启动新的用户数据流。若未发送 keepalive,流将在 60 分钟后关闭。
KeepAliveListenKey 保活用户数据流以防止超时。
CloseListenKey 关闭用户数据流。

 

 

 

事件

Binance Futures 消息在 TsgcWebSocketClient 组件中接收,您可以使用以下事件:

 

OnConnect

成功连接到 Binance 服务器后。

OnDisconnect

与 Binance 服务器断开连接后

OnMessage

服务器发送给客户端的消息在此事件中处理。

OnError

如果协议出现任何错误,将调用此事件。

OnException

如果存在未处理的异常,将调用此事件。

 

此外,在 Binance API 组件中有一个名为 OnBinanceHTTPException 的特定事件,每次调用 HTTP 请求(REST API 或 WebSocket 用户数据流)出错时触发。

 

(*)由于 Binance 服务器的变更,Rad Studio 10.1 之前的 Indy 版本将无法连接到测试服务器。此问题不影响企业版,或已将 Indy 版本升级至最新版本的情况。