Type/to search

Driver do acelerador WebSocket

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

Repositório de modelos acelerados baseado em WebSocket

descrever:

A estratégia optimiza o processamento de dados em tempo real de várias exchanges por meio de conexões WebSocket de múltiplos threads. O uso da conexão WebSocket na plataforma de negociação quantitativa FMZ para acessar o livro de pedidos e dados de negociação em profundidade reduz significativamente a latência para obter dados de mercado e melhora o desempenho do sistema de negociação de alta frequência.

Principais características:

  • Suporte para múltiplas trocasA estratégia suporta a conexão WebSocket de várias exchanges, como Binance, OKX, Bybit e Bitget, oferecendo um fluxo de dados mais rápido e mais estável do que as pesquisas REST API tradicionais.
  • Assinatura personalizável: Permite a assinatura de canais de mercado específicos (como profundidade, negociação, etc.) e o processamento eficiente dos dados recebidos para uso imediato em estratégias de negociação.
  • Tratamento avançado de erros: Rastreamento de erros integrado e mecanismo de reconexão WebSocket para garantir a confiabilidade e a continuidade do fluxo de dados.
  • Revisão CRC32Para o OKX, a verificação CRC32 foi integrada para garantir a integridade dos dados do livro de pedidos recebidos.

Esta solução baseada no WebSocket substitui a tradicional pesquisa de API e é indicada para os comerciantes que precisam minimizar a latência e maximizar a velocidade de resposta do mercado.

Instruções:

  1. inicialização:usar $.setupWebsocket() Inicialize a conexão WebSocket com a troca de destino.
  2. subscrição: O sistema se inscreverá automaticamente nos canais relevantes (como profundidade, negociação, etc.) para os produtos que você negocia.
  3. Aquisição de dados: Por chamadaGetDepth() e GetTrades() Função que usa automaticamente dados em tempo real do WebSocket para retornar profundidade de mercado e registros de transações.
  4. Tratamento de erros: A política inclui um mecanismo de rastreamento que registra erros de conexão e dados e tenta reconectar automaticamente se a conexão for perdida.

O script foi desenvolvido para funcionar na plataforma de quantificação FMZ, fornecendo acesso rápido, confiável e escalável a dados de mercado para várias exchanges.

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)