Penggerak Akselerator WebSocket
Template accelerator berbasis WebSocket
menggambarkan:
Strategi ini mengoptimalkan pemrosesan data real-time dari beberapa bursa melalui koneksi WebSocket multi-thread. Penggunaan koneksi WebSocket di platform perdagangan kuantitatif FMZ untuk mendapatkan buku pesanan dan data perdagangan yang mendalam, secara signifikan mengurangi keterlambatan dalam mendapatkan data pasar, dan meningkatkan kinerja sistem perdagangan frekuensi tinggi.
Fitur Utama:
- Dukungan beberapa bursaStrategi ini mendukung koneksi WebSocket ke beberapa bursa seperti Binance, OKX, Bybit, Bitget, dan lain-lain, memberikan aliran data yang lebih cepat dan lebih stabil daripada survei REST API tradisional.
- Langganan yang dapat disesuaikan: Memungkinkan berlangganan saluran pasar tertentu (seperti kedalaman, perdagangan, dll.) dan pemrosesan data yang diterima secara efisien untuk penggunaan langsung oleh strategi perdagangan.
- Penanganan Kesalahan Lanjutan: Pelacakan kesalahan bawaan dan mekanisme penyambungan kembali WebSocket untuk memastikan keandalan dan kontinuitas aliran data.
- Pemeriksaan CRC32Untuk OKX dan lainnya, CRC32 telah diintegrasikan untuk memastikan integritas data buku pesanan yang diterima.
Solusi berbasis WebSocket ini menggantikan survei API tradisional dan cocok untuk pedagang yang perlu meminimalkan latensi dan memaksimalkan kecepatan respons pasar.
Petunjuk:
- inisialisasi:menggunakan
$.setupWebsocket()Inisialisasi koneksi WebSocket ke bursa target. - berlangganan:Sistem akan secara otomatis berlangganan saluran yang relevan (seperti kedalaman, perdagangan, dll.) untuk produk yang Anda perdagangkan.
- Akuisisi Data: Dengan menyebut
GetDepth()DanGetTrades()Fungsi, secara otomatis menggunakan data waktu nyata WebSocket untuk mengembalikan kedalaman pasar dan catatan transaksi. - Penanganan kesalahanKebijakan tersebut mencakup mekanisme pelacakan yang mencatat kesalahan koneksi dan data dan secara otomatis mencoba menyambungkan kembali jika koneksi terputus.
Skrip ini dirancang untuk berjalan pada platform kuantitatif FMZ, memberikan akses data pasar yang cepat, andal, dan dapat diperluas untuk beberapa bursa.
javascript
function main() {
$.setupWebsocket()
while (true) {
exchanges.map(e=>{
Log(e.GetName(), e.GetDepth())
Log(e.GetName(), e.GetTrades())
// support custom and auto subsribe Eg: e.GetDepth('ETH_USDT')
})
EventLoop(100) // trigger by websocket or use Sleep control delay
}
}
// @ts-check
$.setupWebsocket = function (main_exchanges) {
let crc32 = function (r) {
for (var a, o = [], c = 0; c < 256; c++) {
a = c;
for (var f = 0; f < 8; f++) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1;
o[c] = a
}
for (var n = -1, t = 0; t < r.length; t++) n = n >>> 8 ^ o[255 & (n ^ r.charCodeAt(t))];
return (-1 ^ n) >>> 0
}