1. Zmiana aktywa użytkownika:
2. Zmiana pozycji symbolu lub zmiana typu marginu symbolu:
3. Podsumowując, pełne informacje o aktywach i pozycjach powinny być uzyskiwane za pośrednictwem powiązanych punktów końcowych (GET /fapi/v2/account i GET /fapi/v2/positionRisk), a lokalnie buforowane dane aktywów lub pozycji mogą być aktualizowane za pośrednictwem zdarzenia ACCOUNT_UPDATE w Websocket USER-DATA-STREAM z informacjami o zmienionych aktywach lub pozycjach.
Załóżmy, że użytkownik posiada 94,89888561 USDT i 0,01575839 BNB w swoim portfelu Futures oraz 0,01 BTCUSDT w pozycji LONG i –0,01 ETHUSDT w pozycji SHORT. Jeśli użytkownik:
Przed aktualizacją | Po aktualizacji |
{ "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 nie jest przesyłane, ponieważ nie nastąpiła zmiana salda { "a":"BNB", // BNB jest przesyłane, ponieważ saldo zostało zaktualizowane. "wb":"0.02575839", "cw":"0" } ], "P":[], // Nie są przesyłane żadne dane pozycji, ponieważ nie nastąpiła żadna zmiana pozycji. "m":"DEPOSIT" } } |
2. Zamknie pozycję short ETHUSDT
Przed aktualizacją | Po aktualizacji |
{ "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 jest przesyłane, ponieważ zostało zmienione przez Zrealizowany PNL. "wb":"94.91428561", "cw":"93.71241461" }, { "a":"BNB", // BNB jest przesyłane, ponieważ zostało zmienione przez spalanie opłaty transakcyjnej BNB. "wb":"0.02571331", "cw":"0" } ], "P":[ // Przesyłana jest jedynie zmieniona pozycja ETHUSDT. { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"cross", "iw":"0", "ps":"BOTH" // Przesyłane są zawsze OBIE pozycje. }, // Pozycja LONG nie jest przesyłana, ponieważ nie została zaktualizowana. { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"cross", "iw":"0", "ps":"SHORT" // Pozycja SHORT jest przesyłana, ponieważ została zmieniona w wyniku tego zdarzenia. } ], "m":"ORDER" } } |
3. Zmieni ETHUSDT z trybu CROSS na IZOLOWANY
Przed aktualizacją | Po aktualizacji |
{ "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 jest przesyłane, ponieważ jest aktywem margin. "wb":"94.90282656", "cw":"93.71241461" } ], "P":[ // przesyłany jest tylko ETHUSDT, ponieważ ma zmieniony tryb (z CROSS na IZOLOWANY). { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.00057000", "up":"0", "mt":"isolated", "iw":"0", "ps":"BOTH" // Przesyłane są zawsze OBIE pozycje. }, // Pozycja LONG nie jest przesyłana, ponieważ nie została zaktualizowana. { "s":"ETHUSDT", "pa":"0", "ep":"0.00000", "cr":"-0.18750000", "up":"0", "mt":"isolated", "iw":"0", "ps":"SHORT" // przesyłana jest pozycja SHORT, ponieważ została zainicjowana. } ], "m":"MARGIN_TYPE_CHANGE" } } |