WebSocket アクセラレータ ドライバー
11
Follow
651
Followers
WebSocketベースのリアルタイム状況データ加速テンプレート集
説明する:
この戦略は,マルチスレッドのWebSocket接続によって複数の取引所のリアルタイムデータ処理を最適化している.FMZの量化取引プラットフォームでWebSocket接続を使用して,深層の注文簿と取引データを入手し,市場データを入手する遅延を大幅に削減し,HFTSの性能を向上させている.
主な特徴:
- 複数の取引所のサポートこの戦略は,Binance,OKX,Bybit,Bitgetなどの複数の取引所のWebSocket接続をサポートし,従来のREST APIのアンケートよりもより速く,より安定したデータストリームを提供します.
- カスタマイズ可能なサブスクリプション: 特定の市場チャネル (深度、取引など) へのサブスクリプションと、受信したデータの効率的な処理を可能にし、取引戦略ですぐに使用できるようにします。
- 高度なエラー処理: エラー追跡と WebSocket 再接続メカニズムが組み込まれており、データ フローの信頼性と継続性が確保されます。
- CRC32 チェックOKXなどの取引所では,CRC32の検証機能が統合され,受信された注文簿データの完全性を保証しています.
WebSocket ベースのソリューションは,従来の API による調査を代替し,遅延を最小化し,市場の反応速度を最大化したいトレーダーに適しています.
方向:
- 初期化:使用
$.setupWebsocket()ターゲット交換への WebSocket 接続を初期化します。 - サブスクリプション: システムは、取引する商品の関連チャネル(深度、取引など)に自動的に登録します。
- データ収集: 電話をかける
GetDepth()そしてGetTrades()関数は、WebSocket のリアルタイム データを自動的に使用して、市場の深さとトランザクション レコードを返します。 - エラー処理: ポリシーには、接続およびデータ エラーをログに記録し、接続が失われた場合に自動的に再接続を試みる追跡メカニズムが含まれています。
このスクリプトは,FMZの量化プラットフォーム上で動作し,複数の取引所に対して,迅速で,信頼性があり,拡張可能な市場データへのアクセスを提供することを目的としています.
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
}Related strategies
