Type/to search

Penggerak Akselerator WebSocket

Template
Created: 2024-10-24 18:11:09
Last modified: 6 months ago
11
Follow
651
Followers

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:

  1. inisialisasi:menggunakan $.setupWebsocket() Inisialisasi koneksi WebSocket ke bursa target.
  2. berlangganan:Sistem akan secara otomatis berlangganan saluran yang relevan (seperti kedalaman, perdagangan, dll.) untuk produk yang Anda perdagangkan.
  3. Akuisisi Data: Dengan menyebutGetDepth() Dan GetTrades() Fungsi, secara otomatis menggunakan data waktu nyata WebSocket untuk mengembalikan kedalaman pasar dan catatan transaksi.
  4. 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 } }
Source
JavaScript
// @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
    }
Comment
All comments (4)

    Warning: __Thread is deprecated. Please use threading.Thread instead.
    麻烦能否更新到threading.Thread的版本?

    6 months ago

    已更

    6 months ago

    大佬动作好快,能否加上获取K线的代码呢?感激不尽!

    6 months ago

    K线没有做websocket这个完全没必要最后一根闭合了才生效

    6 months ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)