Binance - 通过 WebSockets 获取所选硬币的当前价格
Posted
技术标签:
【中文标题】Binance - 通过 WebSockets 获取所选硬币的当前价格【英文标题】:Binance - Get current price of selected coins through WebSockets 【发布时间】:2021-05-17 02:43:49 【问题描述】:Binance 提供具有多种功能的 Web Socket Streams,例如聚合流、交易流、Kline/Candlestick 流等,您可以在此处查看https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md
我正在寻找我选择的硬币的当前价格和最近 24 小时 % 的变化,但我不明白如何才能获得这些信息。价格必须是实时的,24h % change 可以每 60 秒调用一次。
我目前正在使用 CoinCap https://docs.coincap.io/,非常简单:
-
要获得 24 小时 %,我调用端点
https://api.coincap.io/v2/assets?ids=bitcoin,ethereum
为了实时获取价格,我调用了端点wss://ws.coincap.io/prices?assets=bitcoin,ethereum
CoinCap 的问题是我无法通过我想要的交易所(在本例中为 Binance)过滤价格。所以我不断得到与 Binance 不匹配的价格。
var socket = new WebSocket('wss://ws.coincap.io/prices?assets=bitcoin,ethereum');
socket.addEventListener('message', function (event)
// parse & show the data
);
例如,Kline/Candlestick Streams 表示以下内容:
Kline/Candlestick Stream 将更新推送到当前 每秒k线/烛台
并返回以下数据:
"e": "kline", // Event type
"E": 123456789, // Event time
"s": "BNBBTC", // Symbol
"k":
"t": 123400000, // Kline start time
"T": 123460000, // Kline close time
"s": "BNBBTC", // Symbol
"i": "1m", // Interval
"f": 100, // First trade ID
"L": 200, // Last trade ID
"o": "0.0010", // Open price
"c": "0.0020", // Close price
"h": "0.0025", // High price
"l": "0.0015", // Low price
"v": "1000", // Base asset volume
"n": 100, // Number of trades
"x": false, // Is this kline closed?
"q": "1.0000", // Quote asset volume
"V": "500", // Taker buy base asset volume
"Q": "0.500", // Taker buy quote asset volume
"B": "123456" // Ignore
基于此,与币安平台https://www.binance.com/en/markets中看到的价值相匹配的当前价格是多少?
【问题讨论】:
顺便说一句,这个 github github.com/binance/binance-spot-api-docs 不定期更新。最好使用这个文档页面binance-docs.github.io/apidocs/spot/en/#introduction 【参考方案1】:您可以使用 miniTicker。 https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream。最后价格为c
,24 小时前价格为o
。
【讨论】:
那么 24 小时百分比呢? i.postimg.cc/CLGW8SGh/binance.png 这就是我要找的。另外,我刚刚测试,似乎@miniTicker 似乎解决了我的价格问题。 抱歉忘记了。 'GET /api/v3/ticker/24hr' 这将包含这个百分比 @Linesofcode 我更新了我的答案。只是花了一些时间检查。o
包含 -24 小时前的价格,c
当前价格。以上是关于Binance - 通过 WebSockets 获取所选硬币的当前价格的主要内容,如果未能解决你的问题,请参考以下文章
Python 通过 requests 调用 Binance API
为啥我无法通过官方 Binance REST API 使用 c# 进行 Binance 订单?
Binance REST API - 通过查询字符串下达 PHP 订单 (POST)