javascript - Binance - 通过 WebSockets 获取所选硬币的当前价格
问题描述
Binance 提供具有多种功能的 Web Socket Streams,例如聚合流、交易流、Kline/Candlestick 流等,您可以在此处查看https://github.com/binance/binance-spot-api-docs/blob/master/网络套接字流.md
我正在寻找我选择的硬币的当前价格和最近 24 小时 % 的变化,但我不明白如何获得这些信息。价格必须是实时的,24h % 的变化可以每 60 秒调用一次。
我目前正在使用 CoinCap https://docs.coincap.io/这很容易:
- 为了得到 24h % 我打电话给端点
https://api.coincap.io/v2/assets?ids=bitcoin,ethereum
- 为了实时获取价格,我调用了端点
wss://ws.coincap.io/prices?assets=bitcoin,ethereum
CoinCap 的问题是我无法通过我想要的交易所过滤价格,在这种情况下是 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 每秒将更新推送到当前 klines/candlestick
并返回以下数据:
{
"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中看到的价值相匹配的当前价格是多少?
解决方案
您可以使用 miniTicker。https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream。最后的价格是c
24 小时前的价格o
。
推荐阅读
- javascript - 点击功能无法与 codeigniter anchor() 一起正常工作
- react-native - 将图像从 React Native 上传到 LoopBack
- java - Eclipse - 提取具有相似变量名的常量时的错误建议
- machine-learning - 为什么我不能直接使用特征矩阵进行预测?
- mongodb - mongodb中单个查询的多个计数
- python - 读取字符串等列表的大文件并转换为列表
- c# - 如何从方法中返回转换或游戏对象列表而不为新游戏对象创建实例?
- generics - Kotlin - 如何生成无法具体化的递归函数?
- php - Laravel 5.4中表之间的多重关系
- node.js - Mongodb:如何找出所有包含位置的文件?