CCXT Live Crypto Exchange Price Ticker [tutorial de exemplo]

>

Nos exemplos a seguir, exploraremos como criar um ticker de preços ao vivo que usa os dados do livro de pedidos mais recentes na bolsa para calcular o preço atual de um ativo.

O que é um indicador de preço?

Para simplificar, um ticker de preço é o preço mais recente de um ativo em uma determinada bolsa. Em nossos exemplos, usaremos o ponto médio entre o melhor lance atual e a ordem de pedido de um par de negociação para determinar o preço do ticker.

A razão de usarmos o ponto médio entre a melhor oferta e a ordem de venda em vez de simplesmente usar a última negociação executada para o par é porque o mercado de criptomoedas é volátil e os ativos podem ter grandes spreads. Como resultado, usar a última negociação como o ticker pode produzir uma experiência ruim para os investidores que estão tentando rastrear o valor de seu portfólio em tempo real. O ponto médio produz mudanças menos drásticas no valor de escala a escala.

Como geramos um ticker de preços ao vivo?

Cobriremos duas maneiras diferentes de gerar um ticker de preços ao vivo. A primeira estratégia será acessar os dados diretamente da bolsa e calcular nosso próprio ticker de preço com base nas informações que desejamos. Usando um código aberto como CCXT, temos controle fino sobre os dados que acessamos.

A segunda estratégia será usar o Shrimpy Universal Crypto Trading APIs. Essas APIs fornecem uma maneira unificada de acessar dados em todas as principais bolsas sem exigir alterações no formato dos dados.

Exemplo CCXT

Em nosso primeiro exemplo, usaremos o Biblioteca CCXT Python para acessar os dados do ticker do HitBTC. A obtenção de todos os tickers individuais da bolsa pode levar até 5 minutos ao usar o CCXT. Uma vez que existem centenas de mercados e precisamos cumprir os limites de taxa em vigor pela troca, o CCXT irá controlar automaticamente as solicitações para garantir que não ultrapassemos esses limites.

Instale CCXT

Vamos começar instalando a biblioteca CCXT para Python.

pip install ccxt

Exemplo

Depois de instalar o CCXT, podemos começar a construir nosso script. Um script de ticker básico é descrito abaixo. O script acessará o ticker do livro de pedidos ao vivo para cada par de ativos individual. Assim que os dados forem recuperados, ele calculará o preço de cada ativo em termos de USDT.

Observação: este script levará até 5 minutos para ser executado, o que é totalmente esperado.

importar ccxt

hitbtc = ccxt.hitbtc ()

ticker_data = []

# buscar o ticker BTC / USDT para usar na conversão de ativos para preço em USDT

bitcoin_ticker = hitbtc.fetch_ticker (‘BTC / USDT’)

# calcule o preço de cotação do BTC em termos de USDT tomando o ponto médio do melhor lance e pergunte

bitcoinPriceUSDT = (float (bitcoin_ticker [‘info’] [‘perguntar’]) + float (bitcoin_ticker [‘info’] [‘bid’])) / 2

# busca os tickers para cada ativo no HitBTC

# isso levará até 5 minutos

para trading_pair em hitbtc.load_markets ():

base = trading_pair.split (‘/’) [0]

quote = trading_pair.split (‘/’) [1]

se citação == ‘BTC’:

pair_ticker = hitbtc.fetch_ticker (trading_pair)

pair_ticker [‘base’] = base

ticker_data.append (pair_ticker)

preços = []

# criar os tickers de preço para cada ativo, removendo dados desnecessários

para ticker em ticker_data:

preço = {}

preço [‘símbolo’] = ticker [‘base’]

preço [‘preço’] = ((float (ticker [‘info’] [‘perguntar’]) + float (ticker [‘info’] [‘bid’])) / 2) * bitcoinPriceUSDT

prices.append (preço)

# processamento adicional é necessário para ativos sem pares BTC

# processamento adicional é necessário para calcular a mudança de preço em 24 horas

Resultados

Depois de executar este script, os resultados em “preços” estarão no seguinte formato.

[

{

"símbolo": "LTC",

"preço": "60,683353731" },

{

"símbolo": "TRAÇO",

"preço": "69.435138045" },

]

Nota: Esses preços são em termos de USDT. Como HitBTC não tem um par BTC / USD, só poderíamos chegar o mais perto possível calculando o preço em termos de USDT. Também excluímos cálculos para ativos que não têm pares BTC no HitBTC.

CCXT Pros

  • Código aberto.

  • Comunica-se diretamente com as trocas para recuperar os dados.

  • Pode personalizar e gerenciar sua própria infraestrutura.

CCXT Cons

  • Dados inconsistentes nas trocas.

  • Leva alguns minutos para agregar dados em todos os pares de mercado.

  • Os limites de taxa são difíceis de navegar.

  • Requer infraestrutura significativa para escalar um aplicativo para milhares de pessoas.

  • Necessita de processamento significativo e código adicional para calcular os dados desejados.

Exemplo Shrimpy

Em todo o script CCXT, pudemos destacar os principais pontos fracos em como o CCXT gerencia dados de trocas. Em nosso próximo exemplo, vamos eliminar esses pontos problemáticos usando Shrimpy. Isso limpará a maneira como geramos um ticker ao vivo, que inclui todos os acessos em uma bolsa.

Instale Shrimpy

Para usar o Shrimpy, comece instalando o Biblioteca Python Shrimpy. Se você estiver desenvolvendo em Node.js, fique à vontade para acompanhar usando o Biblioteca Shrimpy Node.js.

pip install shrimpy-python

Exemplo

Assim que a biblioteca Shrimpy for instalada, podemos começar a escrever nosso script para obter os dados do ticker. Com o Shrimpy, isso requer apenas algumas linhas de código para processar todos os ativos na troca de sua escolha.

Antes de iniciarmos o script, observe o requisito de uma chave de API pública e secreta. Essas chaves são fornecidas quando você se inscreve em um gratuitamente conta com o Dados criptográficos Shrimpy & APIs de negociação. Depois de fazer login em sua conta Shrimpy, as chaves de API mestre podem ser geradas selecionando a opção “Criar chave mestre de API”. Por favor, inscreva-se e gere suas chaves Shrimpy antes de continuar.

importar camarão

# acesse suas chaves mestras públicas e secretas do Shrimpy

# inscrevendo-se gratuitamente em https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

ticker = client.get_ticker (‘kucoin’)

Resultados

Os resultados que são retornados para o ticker Shrimpy incluem o nome da moeda, símbolo, preço em USD e BTC, junto com a mudança de 24h.

[

{

"nome": "Bitcoin",

"símbolo": "BTC",

"priceUsd": "3700.0089335",

"priceBtc": "1",

"percentChange24hUsd": "4,191224354581092",

"Ultima atualização": "19-12-2018T22: 51: 13.000Z" },

{

"nome": "Ethereum",

"símbolo": "ETH",

"priceUsd": "100,114205389399",

"priceBtc": "0,027057825",

"percentChange24hUsd": "5.432113558652999",

"Ultima atualização": "19-12-2018T22: 51: 13.000Z" },

]

Nota: Observe como Shrimpy só precisa de uma única solicitação para acessar cada ticker em uma bolsa. Não há etapas de agregação, etapas de recálculo ou etapas ausentes para calcular o desempenho de 24 horas. É simples e elegante.

Shrimpy Pros

  • Agregue dados de maneira conveniente em trocas.

  • Acesso instantâneo aos dados com uma solicitação (não leva 5 minutos como no exemplo CCXT).

  • Escalável para milhões de usuários sem a necessidade de nenhum servidor.

  • Os dados são consistentes em todas as trocas.

  • Limites de alta taxa (mais de 1.000 por minuto).

Shrimpy Cons

  • Você precisa de um grátis Chave da API Shrimpy Developer.

  • Suporta 17 das principais trocas, mas nem todas as trocas.

Experimente o Comércio de camarões & APIs de dados hoje. É a maneira mais fácil de começar a coletar dados em todas as principais bolsas. Colete dados históricos do mercado, acesse websockets em tempo real, execute estratégias de negociação avançadas e gerencie um número ilimitado de usuários.

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

A equipe Shrimpy

Leituras Adicionais

Dados do livro de pedidos de troca de criptografia CCXT [tutorial de exemplo]

Shrimpy vs CCXT: o caso para centralização em um ecossistema descentralizado

Negociando criptomoedas por meio de APIs

Alternativa CCXT – A Pro Cryptocurrency Trading API

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