Crypto Exchange Order Book Websockets para desenvolvedores [scripts Python]

>

Estamos chegando até você ao vivo de todas as principais bolsas de criptomoedas.

Se tempo é dinheiro, isso explica porque todos estão sempre procurando maximizar seu tempo. Os engenheiros não são diferentes. Eles querem as ferramentas mais rápidas, as fontes de dados mais eficientes e uma infraestrutura confiável.

O acesso aos dados de criptomoeda tem sido historicamente lento. Muitas fontes de dados como CoinMarketCap atualização em um intervalo de 5 minutos. Para a maioria dos desenvolvedores, isso é inaceitável.

É aí que Shrimpy vem ao resgate.

Shrimpy é rápido. Tão rápido que você nem consegue piscar sem perder a velocidade de processamento dos dados das trocas Depois de usar o Shrimpy pela primeira vez, as pessoas dizem coisas como “cara, esses fluxos de soquete são RÁPIDOS” (citação direta de um usuário do Shrimpy).

Neste tutorial, mostraremos como acessar nossos streams de websocket extremamente rápidos em menos de 5 minutos. Isso mesmo, nossos websockets rápidos merecem um tutorial rápido.

Portanto, antes de começarmos, conclua estas 3 etapas:

  1. Inscreva-se para o APIs de desenvolvedor Shrimpy.

  2. Instale o Biblioteca Python Shrimpy.

  3. Crie uma chave de API e inscreva-se.

Formato de dados

Antes de chegarmos aos scripts de exemplo, devemos primeiro entender os dados que estamos coletando. Nas próximas duas seções, abordaremos “instantâneos do livro de pedidos” e “atualizações do livro de pedidos”. Essas duas mensagens são semelhantes em muitos aspectos, mas têm finalidades diferentes.

Instantâneos do livro de pedidos

Instantâneos do livro de pedidos são a primeira mensagem que você receberá pelo websocket após a assinatura. Este instantâneo conterá todo o livro de ordens de um único par de negociação.

Observe que há um elemento especificando “instantâneo" é verdade”. É assim que sabemos que esta mensagem é um instantâneo de toda a carteira de pedidos.

{

"intercâmbio": "coinbasepro",

"par": "ltc-btc",

"canal": "livro de encomendas",

"instantâneo": verdade,

"seqüência": 6784322,

"contente": {

"pergunta": [

{

"preço": "59,782355",

"quantidade": "3,456722" },

{

"preço": "60,782355",

"quantidade": "3,456722" },

],

"lances": [

{

"preço": "58,782355",

"quantidade": "3,456722" },

{

"preço": "56,782355",

"quantidade": "3,456722" },

]

}

}

Atualização do livro de pedidos

Após o instantâneo inicial do livro de pedidos, as atualizações começarão a ser transmitidas imediatamente pelo websocket. Cada uma dessas atualizações deve ser aplicada ao instantâneo original que foi recebido. Dessa forma, o livro de pedidos local que você mantém está sempre atualizado com os valores mais recentes.

Quando recebemos uma atualização para um “preço” específico, devemos substituir a “quantidade” antiga pela nova “quantidade”. Se uma atualização especifica um “preço” que não temos atualmente em nossa cópia local do livro de pedidos, devemos atualizar nosso livro de pedidos para conter esse preço e quantidade.

{

"intercâmbio": "coinbasepro",

"par": "ltc-btc",

"canal": "livro de encomendas",

"instantâneo": falso,

"seqüência": 6784322,

"contente": {

"pergunta": [

{

"preço": "59,782355",

"quantidade": "3,456722" },

{

"preço": "61,782355",

"quantidade": "3,56722" },

],

"lances": [

{

"preço": "58,782355",

"quantidade": "3,61234" },

{

"preço": "56,782355",

"quantidade": "1,34234" },

]

}

}

Exemplo de script simples

No script a seguir, iremos conectar ao websocket do livro de ordens para o par de negociação ETH / BTC na Binance. Cada vez que recebermos uma mensagem através do websocket, iremos imprimi-la.

Observe que não estamos mantendo o livro de pedidos com este script. Isso significa que depois de imprimir cada mensagem, não fazemos nada com a mensagem. Isso é apenas para fins de exemplo.

importar camarão

# inscreva-se em https://developers.shrimpy.io/ para obter sua chave de API

public_key = ‘…’

secret_key = ‘…’

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem recebida no console

def error_handler (err):

imprimir (errar)

# Este é um manipulador de amostra, ele simplesmente imprime a mensagem recebida no console

manipulador de def (msg):

imprimir (msg)

api_client = shrimpy.ShrimpyApiClient (public_key, secret_key)

raw_token = api_client.get_token ()

client = shrimpy.ShrimpyWsClient (error_handler, raw_token [‘token’])

subscribe_data = {

"modelo": "se inscrever",

"intercâmbio": "binance",

"par": "eth-btc",

"canal": "livro de encomendas"}

# Comece a processar o stream de websocket Shrimpy!

client.connect ()

client.subscribe (subscribe_data, handler)

# Depois de concluído, pare o cliente

client.disconnect ()

É isso! Agora você tem acesso a atualizações ao vivo do livro de pedidos de todas as principais bolsas.

Observe que não compartilhamos como manter adequadamente uma carteira de pedidos com este exemplo de script Python. Uma vez que as estratégias para manter um livro de pedidos dependerão de seu caso de uso específico, recomendamos investigar diferentes opções e implementar a versão que funciona melhor para você.

Conclusões

Conectar-se a trocas de criptomoedas e transmitir dados de livros de pedidos ativos é simples com as APIs de desenvolvedor Shrimpy. Cada troca pode ser acessada da mesma maneira, já que Shrimpy faz o trabalho pesado quando se trata de coletar dados, processar atualizações e converter todos os dados em um formato consistente.

Lembrete: Os efeitos colaterais do uso das APIs de desenvolvedor Shrimpy incluem: (1) Concluir projetos antes do prazo e abaixo do orçamento (2) Murmurar involuntariamente a palavra “uau” enquanto olha os dados piscando na tela (3) Esquecer o que são era como processar dados de troca antes de você começar a usar o Shrimpy.

Instantâneos históricos do livro de pedidos

Acesse mais de 1 bilhão de instantâneos históricos do livro de pedidos com as APIs de criptografia de dados mais poderosas.

Boas leituras adicionais

Como fazer um crypto trading bot usando Python

Como baixar dados de velas de criptomoeda de bolsas

Scripts de arbitragem para bots de negociação de criptografia

Script para Bitcoin Price Live Ticker (usando Websockets)

Sobre Shrimpy

A Developer Trading API do Shrimpy é uma maneira unificada de integrar a funcionalidade de negociação em todas as principais bolsas. Colete dados de mercado, acesse websockets em tempo real, execute estratégias de negociação avançadas e gerencie um número ilimitado de usuários.

API Shrimpy Crypto Trading: Shrimpy | Crypto Trading APIs para desenvolvedores

Não se esqueça de nos seguir no Twitter e o Facebook para atualizações e faça perguntas ao nosso incrível Telegrama comunidade.

A equipe Shrimpy

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me