如何在 Linux 上使用此 curl 获取来自 Binance 的所有询价和出价总数?

如何在 Linux 上使用此 curl 获取来自 Binance 的所有询价和出价总数?

这个 curl 输入将从 Binance 的 API 输出一份买卖价清单:

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“双精度”。

(而且看起来 API 默认只返回最多 100 个项目(最多 1000 个),所以这可能不是正确的数字。查看文档。

相关内容