Type/to search

Pemacu Pecutan WebSocket

Template
Created: 2024-10-24 18:11:09
Last modified: 7 months ago
12
Follow
658
Followers

Perpustakaan Templat Pecutan Data Pasaran Masa Nyata Berasaskan WebSocket

Penerangan:

Strategi ini mengoptimumkan pemprosesan data masa nyata dari pelbagai bursa melalui sambungan WebSocket berbilang-thread. Dengan menggunakan sambungan WebSocket di platform perdagangan kuantitatif FMZ untuk mendapatkan data buku pesanan kedalaman dan data transaksi, ia mengurangkan kependaman mendapatkan data pasaran dengan ketara dan meningkatkan prestasi sistem perdagangan frekuensi tinggi.

Ciri-ciri utama:

  • Sokongan Pelbagai Bursa: Strategi ini menyokong sambungan WebSocket ke beberapa bursa seperti Binance, OKX, Bybit, Bitget, menyediakan aliran data yang lebih pantas dan lebih stabil berbanding dengan pengundian REST API tradisional.
  • Langganan Boleh Disesuaikan: Membenarkan langganan saluran pasaran tertentu (seperti kedalaman, transaksi, dll.) dan memproses data yang diterima dengan cekap untuk digunakan segera oleh strategi perdagangan.
  • Pengendalian Ralat Lanjutan: Mempunyai mekanisme penjejakan ralat dan sambungan semula WebSocket terbina dalam untuk memastikan kebolehpercayaan dan kesinambungan aliran data.
  • Pengesahan CRC32: Untuk bursa seperti OKX, ia mengintegrasikan fungsi pengesahan CRC32 untuk memastikan integriti data buku pesanan yang diterima.

Penyelesaian berasaskan WebSocket ini menggantikan pengundian API tradisional, sesuai untuk pedagang yang perlu meminimumkan kependaman dan memaksimumkan kelajuan respons pasaran.

Cara Penggunaan:

  1. Inisialisasi: Gunakan $.setupWebsocket() untuk memulakan sambungan WebSocket ke bursa sasaran.
  2. Langganan: Sistem akan melanggan saluran yang berkaitan (seperti kedalaman, transaksi, dll.) secara automatik untuk pasangan dagangan anda.
  3. Pengambilan Data: Dengan memanggil fungsi GetDepth() dan GetTrades(), data kedalaman pasaran dan rekod transaksi akan dikembalikan secara automatik menggunakan data masa nyata WebSocket.
  4. Pengendalian Ralat: Strategi ini merangkumi mekanisme penjejakan untuk merekodkan ralat sambungan dan data, dan secara automatik cuba menyambung semula apabila sambungan terputus.

Skrip ini bertujuan untuk berjalan di platform kuantitatif FMZ, menyediakan akses data pasaran yang pantas, boleh dipercayai dan berskala untuk pelbagai bursa.

javascript
function main() { $.setupWebsocket() while (true) { exchanges.map(e=>{ Log(e.GetName(), e.GetDepth()) Log(e.GetName(), e.GetTrades()) // support custom and auto subscribe 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的版本?

    7 months ago

    已更

    7 months ago

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

    7 months ago

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

    7 months ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)