在 `position_manager` 和 `risk_manager` 中引入用户数据流缓存,优先使用 WebSocket 更新持仓和余额信息,减少对 REST API 的依赖。同时,增强了交易记录的创建和更新逻辑,支持在订单成交后完善记录,确保与币安数据一致性。新增 `update_open_fields` 和 `update_pending_to_filled` 方法,提升了交易记录的管理能力。
110 lines
3.7 KiB
Plaintext
110 lines
3.7 KiB
Plaintext
订单交易更新推送
|
||
事件描述
|
||
当有新订单创建、订单有新成交或者新的状态变化时会推送此类事件 事件类型统一为 ORDER_TRADE_UPDATE
|
||
|
||
订单方向
|
||
|
||
BUY 买入
|
||
SELL 卖出
|
||
订单类型
|
||
|
||
LIMIT 限价单
|
||
MARKET 市价单
|
||
STOP 止损限价单
|
||
STOP_MARKET 止损市价单
|
||
TAKE_PROFIT 止盈限价单
|
||
TAKE_PROFIT_MARKET 止盈市价单
|
||
TRAILING_STOP_MARKET 跟踪止损单
|
||
LIQUIDATION 爆仓
|
||
本次事件的具体执行类型
|
||
|
||
NEW
|
||
CANCELED 已撤
|
||
CALCULATED 订单 ADL 或爆仓
|
||
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: 市价订单无法完全成交,订单被取消
|
||
事件类型
|
||
ORDER_TRADE_UPDATE
|
||
|
||
响应示例
|
||
{
|
||
"e":"ORDER_TRADE_UPDATE", // 事件类型
|
||
"E":1568879465651, // 事件时间
|
||
"T":1568879465650, // 撮合时间
|
||
"o":{
|
||
"s":"BTCUSDT", // 交易对
|
||
"c":"TEST", // 客户端自定订单ID
|
||
// 特殊的自定义订单ID:
|
||
// "autoclose-"开头的字符串: 系统强平订单
|
||
// "adl_autoclose": ADL自动减仓订单
|
||
// "settlement_autoclose-": 下架或交割的结算订单
|
||
"S":"SELL", // 订单方向
|
||
"o":"TRAILING_STOP_MARKET", // 订单类型
|
||
"f":"GTC", // 有效方式
|
||
"q":"0.001", // 订单原始数量
|
||
"p":"0", // 订单原始价格
|
||
"ap":"0", // 订单平均价格
|
||
"sp":"7103.04", // 条件订单触发价格,对追踪止损单无效
|
||
"x":"NEW", // 本次事件的具体执行类型
|
||
"X":"NEW", // 订单的当前状态
|
||
"i":8886774, // 订单ID
|
||
"l":"0", // 订单末次成交量
|
||
"z":"0", // 订单累计已成交量
|
||
"L":"0", // 订单末次成交价格
|
||
"N": "USDT", // 手续费资产类型
|
||
"n": "0", // 手续费数量
|
||
"T":1568879465650, // 成交时间
|
||
"t":0, // 成交ID
|
||
"b":"0", // 买单净值
|
||
"a":"9.91", // 卖单净值
|
||
"m": false, // 该成交是作为挂单成交吗?
|
||
"R":false , // 是否是只减仓单
|
||
"wt": "CONTRACT_PRICE", // 触发价类型
|
||
"ot": "TRAILING_STOP_MARKET", // 原始订单类型
|
||
"ps":"LONG" // 持仓方向
|
||
"cp":false, // 是否为触发平仓单; 仅在条件订单情况下会推送此字段
|
||
"AP":"7476.89", // 追踪止损激活价格, 仅在追踪止损单时会推送此字段
|
||
"cr":"5.0", // 追踪止损回调比例, 仅在追踪止损单时会推送此字段
|
||
"pP": false, // 是否开启条件单触发保护
|
||
"si": 0, // 忽略
|
||
"ss": 0, // 忽略
|
||
"rp":"0", // 该交易实现盈亏
|
||
"V":"EXPIRE_TAKER", // 自成交防止模式
|
||
"pm":"OPPONENT", // 价格匹配模式
|
||
"gtd":0, // TIF为GTD的订单自动取消时间
|
||
"er":"0" // 过期原因
|
||
}
|
||
} |