账户信息流
连接
- 本篇所列出REST接口的baseurl https://dapi.binance.com
- 用于订阅账户数据的
listenKey从创建时刻起有效期为60分钟 - 可以通过
PUT一个listenKey延长60分钟有效期,如收到-1125报错提示此listenKey不存在,建议重新使用POST /dapi/v1/listenKey生成listenKey - 可以通过
DELETE一个listenKey立即关闭当前数据流,并使该listenKey无效 - 在具有有效
listenKey的帐户上执行POST将返回当前有效的listenKey并将其有效期延长60分钟 - 本篇所列出的websocket接口,连接方式如下:
- Base Url: wss://dstream.binance.com
- 订阅账户数据流的stream名称为 /ws/<listenKey>
- 连接样例:
wss://dstream.binance.com/ws/XaEAKTsQSRLZAGH9tuIu37plSRsdjmlAVBoNYPUITlTAko1WI22PgmBMpI1rS8Yh
- 每个链接有效期不超过24小时,请妥善处理断线重连。
- 消息顺序保证:
- 对于同一用户的单一 Websocket 连接,相同事件类型的消息(例如
ACCOUNT_UPDATE、ORDER_TRADE_UPDATE)在T(来自撮合引擎的成交时间)和E(消息生成时的事件时间)两个字段上都严格有序。 - 建议:使用
E字段进行更新排序,特别是在以下情况下:- 比较不同事件类型的事件时(例如
ORDER_TRADE_UPDATE与市场数据流如aggTrade)。 - 来自不同服务的事件可能具有相同的
T但由于处理时间的差异而具有不同的E值。 - 对于同一连接上的相同事件类型,
T和E都保持严格有序,因此可以可靠地使用任一字段。
- 比较不同事件类型的事件时(例如
- 对于同一用户的单一 Websocket 连接,相同事件类型的消息(例如
- 考虑到剧烈行情下, RESTful接口可能存在查询延迟,我们强烈建议您优先从Websocket user data stream推送的消息来获取订单,仓位等信息。
追加保证金通知
事件描述
- 当用户持仓风险过高,会推送此消息。
- 此消息仅作为风险指导信息,不建议用于投资策略。
- 在大波动市场行情下,不排除此消息发出的同时用户仓位已被强平的可能。
事件类型
MARGIN_CALL
Payload
Schema:
marginCall
Balance和Position更新推送
事件描述
账户更新事件的 event type 固定为 ACCOUNT_UPDATE
-
仅当账户信息有变动时,才会推送此事件。
-
订单状态变化没有引起账户和持仓变化的,不会推送此事件。
-
position 信息:所有symbol推送。
-
字段"m"代表了事件推出的原因,包含了以下可能类型:
- DEPOSIT
- WITHDRAW
- ORDER
- FUNDING_FEE
- ADJUSTMENT
- INSURANCE_CLEAR
- ADMIN_DEPOSIT
- ADMIN_WITHDRAW
- MARGIN_TRANSFER
- MARGIN_TYPE_CHANGE
- ASSET_TRANSFER
- COIN_SWAP_DEPOSIT
- COIN_SWAP_WITHDRAW
-
字段"bc"代表了钱包余额的改变量,即 balance change,但注意其不包含仓位盈亏及交易手续费。
事件类型
ACCOUNT_UPDATE
Payload
Schema:
accountUpdate
订单/交易更新推送
事件描述
当有新订单创建、修改、订单有新成交或者新的状态变化时会推送此类事件
订单方向
- BUY 买入
- SELL 卖出
持仓方向
- BOTH 单一持仓方向
- LONG 多头(双向持仓下)
- SHORT 空头(双向持仓下)
订单类型
- MARKET 市价单
- LIMIT 限价单
- STOP 止损单
- TAKE_PROFIT 止盈单
本次事件的具体执行类型
- NEW
- CANCELED 已撤
- CALCULATED 强平单
- EXPIRED 订单失效
- TRADE 交易
- AMENDMENT 订单修改
订单状态
- NEW
- PARTIALLY_FILLED
- FILLED
- CANCELED
- EXPIRED
- EXPIRED_IN_MATCH
有效方式
- GTC
- IOC
- FOK
- GTX
强平和ADL:
- 若用户因保证金不足发生强平:
c为"autoclose-XXX",X为"NEW"
- 若用户保证金充足但被 ADL:
c为"adl_autoclose",X为"NEW"
过期原因
0: 无,默认值1: 自成交保护,订单被取消2: IOC订单无法完全成交,订单被取消3: IOC订单因自成交保护无法完全成交,订单被取消4: 只减仓竞争过程中,低优先级的只减仓订单被取消5: 账户强平过程中,订单被取消6: 不满足GTE条件,订单被取消7: Symbol下架,订单被取消8: 止盈止损单触发后,初始订单被取消9: 市价订单无法完全成交,订单被取消10: FOK订单无法完全成交,订单被取消11: 只做Maker订单会以Taker成交,订单被取消
事件类型
ORDER_TRADE_UPDATE
Payload
Schema:
orderTradeUpdate
杠杆倍数等账户配置更新推送
事件描述
当账户配置发生变化时会推送此类事件,类型统一为ACCOUNT_CONFIG_UPDATE。
当交易对杠杆倍数发生变化时,推送消息体会包含对象ac表示交易对账户配置,其中s代表具体的交易对,l代表杠杆倍数。
事件类型
ACCOUNT_CONFIG_UPDATE
Payload
Schema:
accountConfigUpdate
策略交易更新推送
事件描述
STRATEGY_UPDATE 在策略交易创建、取消、失效等等时候更新。
策略状态
- NEW
- WORKING
- CANCELLED
- EXPIRED
opCode
- 8001: 策略参数更改
- 8002: 用户取消策略
- 8003: 用户手动新增或取消订单
- 8004: 达到 stop limit
- 8005: 用户仓位爆仓
- 8006: 已达最大可挂单数量
- 8007: 新增网格策略
- 8008: 保证金不足
- 8009: 价格超出范围
- 8010: 市场非交易状态
- 8011: 关仓失败,平仓单无法成交
- 8012: 超过最大可交易名目金额
- 8013: 不符合网格交易身份
- 8014: 仅接受平仓单
- 8015: 无仓位或是仓位已经爆仓
事件类型
STRATEGY_UPDATE
Payload
Schema:
strategyUpdate
网格更新推送 (Deprecated)
事件描述
GRID_UPDATE 在网格子订单有部份或是完全成交时更新。
策略状态
- NEW
- WORKING
- CANCELLED
- EXPIRED
事件类型
GRID_UPDATE
Payload
Schema:
gridUpdate
listenKey过期推送
事件描述
当前连接使用的有效listenKey过期时,user data stream 将会推送此事件。
注意:
- 此事件与 websocket 连接中断没有必然联系
- 只有正在连接中的有效
listenKey过期时才会收到此消息 - 收到此消息后 user data stream 将不再更新,直到用户使用新的有效的
listenKey
事件类型
listenKeyExpired
Payload
Schema:
listenKeyExpired