注意:幣安即將對USDT合約API的User Data Stream 推送規則進行優化與更新,預計將於2020年11月09日完成優化與更新。
Websocket USER-DATA-STREAM 中的事件`ACCOUNT_UPDATE`推送規則作出了以下更新和優化:
在這項優化發佈之後,用戶需要在本地維護一份資產和持倉記錄,並通過結合WS `ACCOUNT_UPDATE` 事件及時更新自己的準確資產和持倉數據。
用戶當前擁有資產 USDT: 94.89888561, BNB: 0.01575839;
用戶當前持倉情況爲:BTCUSDT LONG: 0.01, ETHUSDT SHORT: 0.01
| ACCOUNT_UPDATE之前的邏輯推送 | ACCOUNT_UPDATE新的邏輯推送 |
{ "e":"ACCOUNT_UPDATE", "T":1603093193280, "E":1603093193284, "a":{ "B":[ { "a":"USDT", "wb":"94.91018561", "cw":"93.70831461" }, { "a":"BNB", "wb":"0.02575839", "cw":"0" } ], "P":[ { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-147.28880096", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" }, { "s":"BTCUSDT", "pa":"0.010", "ep":"11445.71000", "cr":"-23.20024001", "up":"0.17770", "mt":"isolated", "iw":"1.20187100", "ps":"LONG" }, { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-6.04296000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"cross", "iw":"0", "ps":"BOTH" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-385.79173997", "up":"0", "mt":"cross", "iw":"0", "ps":"LONG" }, { "s":"ETHUSDT", "pa":"-0.010", "ep":"375.74000", "cr":"-0.19160000", "up":"0.00149", "mt":"cross", "iw":"0", "ps":"SHORT" } ], "m":"DEPOSIT" } } | { "e":"ACCOUNT_UPDATE", "T":1603093193280, "E":1603093193284, "a":{ "B":[ // USDT資產沒有發生變化不會推出 { "a":"BNB", // BNB作爲因充值發生變化的資產被推出 "wb":"0.02575839", "cw":"0" } ], "P":[], // 充值沒有導致任何持倉變化,沒有合約持倉會被推出 "m":"DEPOSIT" } }
|
| ACCOUNT_UPDATE之前的邏輯推送 | ACCOUNT_UPDATE新的邏輯推送 |
{ "e":"ACCOUNT_UPDATE", "T":1603093588546, "E":1603093588553, "a":{ "B":[ { "a":"USDT", "wb":"94.91428561", "cw":"93.71241461" }, { "a":"BNB", "wb":"0.02571331", "cw":"0" } ], "P":[ { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-147.28880096", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" }, { "s":"BTCUSDT", "pa":"0.010", "ep":"11445.71000", "cr":"-23.20024001", "up":"0.13910", "mt":"isolated", "iw":"1.20187100", "ps":"LONG" }, { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-6.04296000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"cross", "iw":"0", "ps":"BOTH" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-385.79173997", "up":"0", "mt":"cross", "iw":"0", "ps":"LONG" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"cross", "iw":"0", "ps":"SHORT" } ], "m":"ORDER" } } | { "e":"ACCOUNT_UPDATE", "T":1603093588546, "E":1603093588553, "a":{ "B":[ { "a":"USDT", // USDT作爲因實現盈虧發生變化的資產被推出 "wb":"94.91428561", "cw":"93.71241461" }, { "a":"BNB", // BNB作爲因抵扣手續費發生變化的資產被推出 "wb":"0.02571331", "cw":"0" } ], "P":[ // 僅推出發生變化的ETHUSDT合約 { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"cross", "iw":"0", "ps":"BOTH" // BOTH方向一定會被推送 }, // LONG方向因之前沒有被初始化過不會被推出 { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"cross", "iw":"0", "ps":"SHORT" // SHORT方向作爲本次變化的持倉方向會被推送出來 } ], "m":"ORDER" } } |
| ACCOUNT_UPDATE之前的邏輯推送 | ACCOUNT_UPDATE新的邏輯推送 |
{ "e":"ACCOUNT_UPDATE", "T":1603094890011, "E":1603094890017, "a":{ "B":[ { "a":"USDT", "wb":"94.90282656", "cw":"93.71241461" }, { "a":"BNB", "wb":"0.02571331", "cw":"0" } ], "P":[ { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-147.28880096", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" }, { "s":"BTCUSDT", "pa":"0.010", "ep":"11445.71000", "cr":"-23.20024001", "up":"0.03240", "mt":"isolated", "iw":"1.19041195", "ps":"LONG" }, { "s":"BTCUSDT", "pa":"0", "ep":"0.00000", "cr":"-6.04296000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-385.79173997", "up":"0", "mt":"isolated", "iw":"0", "ps":"LONG" }, { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" } ], "m":"MARGIN_TYPE_CHANGE" } } | { "e":"ACCOUNT_UPDATE", "T":1603094890011, "E":1603094890017, "a":{ "B":[ { "a":"USDT", // USDT作爲保證金資產在全逐倉變換時會被推出 "wb":"94.90282656", "cw":"93.71241461" } ], "P":[ // 僅推出發生變化的ETHUSDT合約 { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" // BOTH方向一定會被推送 }, // LONG方向因之前沒有被初始化過不會被推出 { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" // SHORT方向作爲初始化過的position被推送出來 } ], "m":"MARGIN_TYPE_CHANGE" } } |