Как я могу получить общее количество всех запросов и предложений от Binance, используя этот локон в Linux?

Этот ввод curl выведет хороший список предложений и запросов от API Binance:

curl https://api.binance.com/api/v1/depth?symbol=ETHUSDT | jq

Но есть ли способ подсчитать сумму всех этих запросов и заявок, чтобы результат был примерно таким:

Total asks: 1023411 USD
Total bids: 1002112 USD

1 ответ

Хотя это и не самая короткая версия, этот jq-скрипт выполняет свою работу:

{asks, bids} | to_entries
| .[]
| . as {key: $kind, value: $data}
| $data
| map({price: .[0] | tonumber, qty: .[1] | tonumber})
| map(.price * .qty)
| add
| "Total \($kind): \(. * 100 | round / 100) USD"

Беги как jq -r -f filename.jq или же jq -r '{asks, bids} | .....'

Обратите внимание, что jq ограничен точностью IEEE 754 "double".

(Также кажется, что API возвращает максимум 100 элементов по умолчанию (до 1000), так что в любом случае это могут быть неправильные числа. См. Документы.)

Другие вопросы по тегам