WebSocket API v1 - Exemplo de transcrição do livro de ordens

Última atualização: 1/04/2025

Um exemplo de transcrição do feed do livro de ordens da WebSocket API v1, com uma explicação de cada mensagem e a alteração resultante no livro de ordens, é o seguinte:

1. Snapshot Inicial

A mensagem de snapshot inicial:

[0,{"as":[["5711.80000","8.13439401","1557070784.848047"],["5712.20000","2.00000000","1557070757.056750"],["5712.80000","0.30000000","1557070783.806432"],["5713.00000","3.29800000","1557070774.281619"],["5713.10000","1.00000000","1557070741.315583"],["5713.90000","1.00000000","1557070698.840502"],["5714.70000","0.50000000","1557070743.861074"],["5715.20000","1.00000000","1557070697.871150"],["5716.60000","1.22700000","1557070775.294557"],["5716.80000","0.35000000","1557070749.823148"]],"bs":[["5711.70000","0.00749800","1557070712.848376"],["5709.20000","3.30000000","1557070766.260894"],["5708.30000","0.75483907","1557070781.425374"],["5708.20000","5.00000000","1557070780.762871"],["5707.80000","2.50000000","1557070722.912548"],["5707.40000","4.33000000","1557070732.546143"],["5707.00000","0.00200000","1557070604.962840"],["5706.90000","1.17300000","1557070715.529722"],["5706.40000","0.85600000","1557070777.204262"],["5706.30000","1.00000000","1557070753.118938"]]},"book-10","XBT/USD"]

fornece o seguinte livro de ordens inicial:

Screenshot_2021-06-08_at_07.52.08.png

2. Mensagem de atualização/eliminação/inserção

A primeira mensagem de atualização modifica o lado da oferta do livro de ordens, atualizando o nível de preço existente 5709.2, eliminando o nível de preço existente 5708.2 e inserindo (trazendo para o âmbito) o novo nível de preço 5705.9:

[0,{"b":[["5709.20000","3.00000000","1557070785.898642"],["5708.20000","0.00000000","1557070786.010118"],["5705.90000","7.62400000","1557070783.582385","r"]], "c":"2470128591"},"book-10","XBT/USD"]

o que resulta no seguinte livro de ordens atualizado:

Screenshot_2021-06-08_at_07.54.06.png


3. Mensagem de atualização/inserção

A próxima mensagem de atualização modifica o lado da oferta do livro de ordens, atualizando o nível de preço existente 5709.2 e inserindo o novo nível de preço 5709.4 (o que tem o efeito secundário de mover todos os níveis de preço subsequentes para fora em um nível e empurrar o nível de preço 5705.9 de volta para fora do âmbito):

[0,{"b":[["5709.20000","8.00000000","1557070786.250425"],["5709.40000","0.30000000","1557070786.259115"]], "c":"4148072505"},"book-10","XBT/USD"]

o que causa o seguinte livro de ordens atualizado:

Screenshot_2021-06-08_at_07.55.20.png



4. Mensagem de eliminação/inserção

A próxima mensagem de atualização altera o lado da oferta do livro de ordens, eliminando o nível de preço 5708.3 e inserindo (trazendo de volta para o âmbito) o nível de preço 5705.9:

[0,{"b":[["5708.30000","0.00000000","1557070786.389495"],["5705.90000","7.62400000","1557070783.582385","r"]], "c":"3093569863"},"book-10","XBT/USD"]

o que resulta no seguinte livro de ordens atualizado:

Screenshot_2021-06-08_at_07.56.51.png



e assim sucessivamente ad infinitum até que o feed do livro de ordens seja cancelado ou a ligação WebSocket seja terminada.

O código de exemplo (em Python) que implementa um cliente de linha de comandos do livro de ordens e ilustra a lógica de manutenção de um livro de ordens válido está disponível para revisão e para download:

Os separadores decimais e de milhares apresentados neste artigo podem diferir dos formatos exibidos nas nossas plataformas de negociação. Consulte o nosso artigo sobre como usamos pontos e vírgulas para mais informações.

Precisa de mais ajuda?