A Bitfinex é uma das maiores e mais avançadas plataformas de negociação de criptomoedas do mundo. Os usuários podem trocar Bitcoin, Ethereum, Ripple, EOS, Bitcoin Cash, Iota, NEO, Litecoin, Ethereum Classic...
A versão da API WebSocket da Bitfinex é 2.0
Cada mensagem enviada e recebida pelo canal WebSocket da Bitfinex é codificada no formato JSON
Um símbolo pode ser um par de negociação ou uma moeda de margem:
Os símbolos de pares de negociação são formados prefixando um "t" antes do par (ou seja tBTCUSD, tETHUSD).
Os símbolos de moeda de margem são formados prefixando um "f" antes da moeda (ou seja, fUSD, fBTC, ...)
Após uma conexão bem-sucedida, o evento OnBitfinexConnect é gerado e você obtém o número da versão da API Bitfinex como parâmetro.
Você pode chamar o método Ping para testar a conexão com o servidor.
Se o servidor enviar alguma informação, isso pode ser tratado utilizando o evento OnBitfinexInfoMessage, onde um Code e uma Message são parâmetros com informações sobre a mensagem enviada pelo servidor. Exemplos de códigos:
20051 : Parar/Reiniciar o WebSocket Server (por favor, reconecte)
20060 : Entrando em modo de Manutenção. Por favor, pause qualquer atividade e retome após receber a mensagem de informação 20061 (deve levar no máximo 120 segundos).
20061 : Manutenção encerrada. Você pode retomar a atividade normal. Aconselha-se cancelar a inscrição/inscrever-se novamente em todos os canais.
Em caso de erro, OnBitfinexError será gerado, e informações sobre o erro fornecidas. Exemplos de códigos de erro:
10000 : Evento desconhecido
10001 : Par desconhecido
Para alterar a configuração, chame o método Configuration e passe como parâmetro um dos seguintes flags:
CS_DEC_S = 8; // Enable all decimal as strings.
CS_TIME_S = 32; // Habilita todos os horários como strings de data.
CS_SEQ_ALL = 65536; // Habilita sequenciamento RECURSO BETA
CHECKSUM = 131072; // Habilita o checksum para cada iteração do book. Verifica as 25 entradas do topo de cada lado do book. O checksum é um int com sinal.
Há canais que são públicos e não há necessidade de autenticar contra o servidor. Todas as mensagens são geradas no evento OnBitfinexUpdate.
O ticker é uma visão geral de alto nível do estado do mercado. Ele mostra o melhor bid e ask atuais, bem como o último preço de trade. Ele também inclui informações como o volume diário e o quanto o preço se moveu no último dia.
// Trading pairs
[
CHANNEL_ID,
[
BID,
BID_SIZE,
ASK,
ASK_SIZE,
DAILY_CHANGE,
DAILY_CHANGE_PERC,
LAST_PRICE,
VOLUME,
HIGH,
LOW
]
]
// Funding pairs
[
CHANNEL_ID,
[
FRR,
BID,
BID_PERIOD,
BID_SIZE,
ASK,
ASK_PERIOD,
ASK_SIZE,
DAILY_CHANGE,
DAILY_CHANGE_PERC,
LAST_PRICE,
VOLUME,
HIGH,
LOW
]
]
Este canal envia uma mensagem de trade sempre que uma negociação ocorre na Bitfinex. Ela inclui todos os detalhes pertinentes da negociação, como preço, tamanho e horário.
// on trading pairs (ex. tBTCUSD)
[
CHANNEL_ID,
[
[
ID,
MTS,
AMOUNT,
PRICE
],
...
]
]
// on funding currencies (ex. fUSD)
[
CHANNEL_ID,
[
[
ID,
MTS,
AMOUNT,
RATE,
PERIOD
],
...
]
]
O canal Order Books permite que você acompanhe o estado do order book da Bitfinex. Ele é fornecido em base agregada por preço, com precisão personalizável. Após receber a resposta, você receberá um snapshot do book, seguido de atualizações a cada mudança no book.
// on trading pairs (ex. tBTCUSD)
[
CHANNEL_ID,
[
[
PRICE,
COUNT,
AMOUNT
],
...
]
]
// on funding currencies (ex. fUSD)
[
CHANNEL_ID,
[
[
RATE,
PERIOD,
COUNT,
AMOUNT
],
...
]
]
Estes são os livros mais granulares.
// on trading pairs (ex. tBTCUSD)
[
CHANNEL_ID,
[
[
ORDER_ID,
PRICE,
AMOUNT
],
...
]
]
// on funding currencies (ex. fUSD)
[
CHANNEL_ID,
[
[
OFFER_ID,
PERIOD,
RATE,
AMOUNT
],
...
]
]
Fornece uma forma de acessar informações de candle de gráficos. Time Frames:
1m: um minuto
5m : cinco minutos
15m : 15 minutos
30m : 30 minutos
1h : uma hora
3h : 3 horas
6h : 6 horas
12h : 12 horas
1D : um dia
7D : uma semana
14D : duas semanas
1M : um mês
[
CHANNEL_ID,
[
[
MTS,
OPEN,
CLOSE,
HIGH,
LOW,
VOLUME
],
...
]
]
Este canal permite que você se mantenha atualizado com o status da sua conta. Você pode receber atualizações sobre suas posições, seus saldos, suas ordens e seus trades.
Use o método Authenticate para autenticar contra o servidor e definir os parâmetros necessários.
Uma vez autenticado, você receberá atualizações de: Ordens, posições, trades, ofertas de funding, créditos de funding, empréstimos de funding, carteiras, informações de saldo, informações de margem, informações de funding, trades de funding...
Você pode requisitar o método UnAuthenticate se quiser fazer logoff do servidor.