Type/to search

WebSocket-Beschleunigertreiber

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

WebSocket-basierte Template-Klassenbibliothek für die Beschleunigung von Echtzeit-Daten

beschreiben:

Die Strategie optimiert die Echtzeit-Datenverarbeitung mehrerer Börsen durch eine mehrschichtige WebSocket-Verbindung. Die Verwendung von WebSocket-Verbindungen für die Erfassung von Tiefbuch- und Transaktionsdaten auf der FMZ-Quantitative Trading-Plattform reduziert die Verzögerung bei der Erfassung von Marktdaten erheblich und verbessert die Leistung des Hochfrequenzhandelssystems.

Hauptmerkmale:

  • Unterstützung mehrerer BörsenDie Strategie unterstützt die WebSocket-Verbindung von mehreren Börsen wie Binance, OKX, Bybit und Bitget und bietet einen schnelleren und stabileren Datenstrom als herkömmliche REST API-Umfragen.
  • Anpassbares Abonnement: Ermöglicht das Abonnement bestimmter Marktkanäle (wie Tiefe, Handel usw.) und die effiziente Verarbeitung empfangener Daten zur sofortigen Verwendung durch Handelsstrategien.
  • Erweiterte Fehlerbehandlung: Integrierte Fehlerverfolgung und WebSocket-Wiederverbindungsmechanismus, um die Zuverlässigkeit und Kontinuität des Datenflusses sicherzustellen.
  • CRC32-PrüfungFür OKX und andere Börsen wurde die CRC32-Prüfung integriert, um die Integrität der empfangenen Auftragsbuchdaten sicherzustellen.

Diese WebSocket-basierte Lösung ersetzt die herkömmliche API-Umfrage und ist für Händler geeignet, die eine Minimierung der Verzögerung und eine Maximierung der Marktreaktion benötigen.

Anwendung:

  1. Initialisierung:verwenden $.setupWebsocket() Initialisieren Sie die WebSocket-Verbindung zum Zielaustausch.
  2. Abonnement: Das System abonniert automatisch relevante Kanäle (wie Tiefe, Handel usw.) für die von Ihnen gehandelten Produkte.
  3. Datenerfassung: Durch einen AnrufGetDepth() Und GetTrades() Funktion, verwendet automatisch WebSocket-Echtzeitdaten, um Markttiefe und Transaktionsaufzeichnungen zurückzugeben.
  4. Fehlerbehandlung: Die Richtlinie umfasst einen Tracking-Mechanismus, der Verbindungs- und Datenfehler protokolliert und automatisch versucht, die Verbindung wiederherzustellen, wenn die Verbindung verloren geht.

Das Skript soll auf der FMZ-Quantifizierungsplattform laufen und bietet mehreren Börsen schnellen, zuverlässigen und skalierbaren Zugang zu Marktdaten.

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)