Используя Bitfinex WebSocket API , я подписываюсь на сделки.
Данные, которые я получаю, выглядят следующим образом:
chanId msgType tradeID Timestamp Amount Price
[ 139260, 'te', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
[ 139260, 'tu', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
te
= Исполнение сделки
tu
= Обновление исполнения сделки
Как указано в Глоссарии сокращений
Чего я не понимаю, так это того, что для одного и того же tradeId
я сначала получаю te
сообщение, а затем через мгновение tu
сообщение. Нет никакой разницы в содержании этих сообщений, так какова цель tu
сообщения?
В чем разница между исполнением сделки и обновлением исполнения сделки?
В документации аутентифицированной стороны API, откуда создаются эти заказы, говорится следующее:
После
te
сообщения вы вскоре получитеtu
сообщение, содержащее реальный идентификатор сделки (TRD_ID
) и дополнительные/обновленные поля.
Эти обновленные поля представляют собой, например, сборы, которые взимаются впоследствии.
Хотя из публичной части API этот реальный идентификатор сделки уже известен, и комиссии не имеют значения. Следовательно, данные te
-сообщения идентичны tu
-сообщению.
Итак, похоже tu
-сообщения можно игнорировать.
+
Теперь Bitfinex объясняет это в своем модуле Bitfinex API для Node.JS. https://github.com/bitfinexcom/bitfinex-api-узел
te
и ?tu
Пакет te
сначала отправляется клиенту сразу после сопоставления и исполнения сделки, а затем tu
сообщение после завершения обработки. Во время высокой нагрузки tu
сообщение может заметно задерживаться, и поэтому для передачи в реальном времени следует использовать только сообщение.te