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

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

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

Total asks: 1023411 USD
Total bids: 1002112 USD

1 ответ1

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), так что в любом случае это может быть неверное число. Смотрите документы.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .