WebSocket API v1 — Пример расшифровки книги ордеров

Последнее обновление: 1 апр. 2025 г.

Пример расшифровки потока книги ордеров WebSocket API v1 с объяснением каждого сообщения и соответствующего изменения в книге ордеров выглядит следующим образом:

1. Первоначальный снимок

Сообщение первоначального снимка:

[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"]

предоставляет следующую первоначальную книгу ордеров:

Screenshot_2021-06-08_at_07.52.08.png

2. Сообщение об обновлении/удалении/вставке

Первое сообщение об обновлении изменяет сторону спроса книги ордеров, обновляя существующий ценовой уровень 5709.2, удаляя существующий ценовой уровень 5708.2 и вставляя (вводя в область действия) новый ценовой уровень 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"]

что дает следующую обновленную книгу ордеров:

Screenshot_2021-06-08_at_07.54.06.png


3. Сообщение об обновлении/вставке

Следующее сообщение об обновлении изменяет сторону спроса книги ордеров, обновляя существующий ценовой уровень 5709.2 и вставляя новый ценовой уровень 5709.4 (что приводит к смещению всех последующих ценовых уровней на один уровень наружу и выталкиванию ценового уровня 5705.9 обратно за пределы области действия):

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

что приводит к следующей обновленной книге ордеров:

Screenshot_2021-06-08_at_07.55.20.png



4. Сообщение об удалении/вставке

Следующее сообщение об обновлении изменяет сторону спроса книги ордеров, удаляя ценовой уровень 5708.3 и вставляя (возвращая в область действия) ценовой уровень 5705.9:

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

что дает следующую обновленную книгу ордеров:

Screenshot_2021-06-08_at_07.56.51.png



и так далее до бесконечности, пока поток книги ордеров не будет отменен или соединение WebSocket не будет разорвано.

Пример кода (на Python), который реализует клиент книги ордеров командной строки и иллюстрирует логику поддержания действительной книги ордеров, доступен для просмотра и загрузки:

Десятичные разделители и разделители тысяч, показанные в этой статье, могут отличаться от форматов, отображаемых на наших торговых платформах. Ознакомьтесь с нашей статьей о том, как мы используем точки и запятые, для получения дополнительной информации.

Нужна дополнительная помощь?