Peningkatan Streaming Data Pengguna Websocket API Futures USDT-Margined

Dipublikasikan pada 2020-10-20 12:24

1. Saat aset pengguna diubah:

  • Hanya aset ini dan informasi saldonya yang akan didorong
  • Aset dan informasi lain tidak akan lagi didorong bahkan saldo mungkin tidak akan 0
  • Jika perubahan aset tidak disertai dengan perubahan posisi, posisi "P" hanya akan mengembalikan [] kosong

2. Saat posisi simbol diubah atau jenis margin simbol diubah:

  • "P" akan mendorong detail pada posisi "BOTH" dari simbol ini
  • Jika perubahan terjadi pada posisi "LONG" atau "SHORT", perubahan posisi "LONG" atau "SHORT" dari simbol ini akan didorong
  • Posisi isolated "LONG" atau "SHORT" yang dimulai dari simbol ini juga akan didorong
  • Informasi posisi simbol lain tidak akan lagi didorong, bahkan posisinya mungkin tidak 0

3. Singkatnya, informasi lengkap dari aset dan posisi harus diperoleh melalui endpoint rest yang terkait (GET /fapi/v2/account dan GET /fapi/v2/positionRisk), dan data aset atau posisi yang mengalami caching secara lokal dapat diperbarui melalui peristiwa ACCOUNT_UPDATE di USER-DATA-STREAM Websocket dengan informasi aset atau posisi yang berubah.

Untuk lebih memahami peningkatan ini, silakan lihat beberapa contoh skenario yang berbeda di bawah ini:

Misalnya, seorang pengguna memiliki 94,89888561 USDT dan 0,01575839 BNB di Dompet Futures serta 0,01 BTCUSDT di posisi LONG dan -0,01 ETHUSDT di posisi SHORT. Jika pengguna:

  1. Mentransfer 0,01 BNB ke akun futures

Sebelum peningkatan

Setelah peningkatan

{

"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 tidak didorong karena tidak ada perubahan saldo

{

"a":"BNB", // BNB didorong saat saldo diperbarui.

"wb":"0.02575839",

"cw":"0"

}

],

"P":[], // Tidak ada data posisi yang didorong karena tidak ada perubahan posisi.

"m":"DEPOSIT"

}

}

2. Menutup posisi short ETHUSDT

Sebelum peningkatan

Setelah peningkatan

{

"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 didorong karena diubah oleh PnL Terealisasi.

"wb":"94.91428561",

"cw":"93.71241461"

},

{

"a":"BNB", // BNB didorong karena diubah oleh burn biaya perdagangan BNB.

"wb":"0.02571331",

"cw":"0"

}

],

"P":[ // Hanya posisi ETHUSDT yang berubah yang didorong.

{

"s":"ETHUSDT",

"pa":"0",

"ep":"0.00000",

"cr":"-0.00057000",

"up":"0",

"mt":"cross",

"iw":"0",

"ps":"BOTH" // KEDUA posisi akan selalu didorong.

},

// Posisi LONG tidak didorong karena belum dimulai.

{

"s":"ETHUSDT",

"pa":"0",

"ep":"0.00000",

"cr":"-0.18750000",

"up":"0",

"mt":"cross",

"iw":"0",

"ps":"SHORT" // Posisi SHORT didorong karena diubah dari peristiwa ini.

}

],

"m":"ORDER"

}

}

3. Mengubah ETHUSDT dari mode CROSS ke ISOLATED

Sebelum peningkatan

Setelah peningkatan

{

"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 didorong karena merupakan aset margin.

"wb":"94.90282656",

"cw":"93.71241461"

}

],

"P":[ // hanya ETHUSDT yang didorong karena memiliki perubahan mode ( CROSS ke ISOLATED).

{

"s":"ETHUSDT",

"pa":"0",

"ep":"0.00000",

"cr":"-0.00057000",

"up":"0",

"mt":"isolated",

"iw":"0",

"ps":"BOTH" // KEDUA posisi akan selalu didorong.

},

// Posisi LONG tidak didorong karena belum dimulai.

{

"s":"ETHUSDT",

"pa":"0",

"ep":"0.00000",

"cr":"-0.18750000",

"up":"0",

"mt":"isolated",

"iw":"0",

"ps":"SHORT" // SHORT didorong karena sudah dimulai.

}

],

"m":"MARGIN_TYPE_CHANGE"

}

}

Daftar Sekarang - Dapatkan rabat biaya perdagangan senilai hingga 100 USDT (bagi pengguna terverifikasi)