我正在使用 Tradingview 的图表库,我正在尝试连接现有的 websocket 并将数据放入图表中。我的编程技能只是基础,所以我不知道该怎么做
从 websocket 获取数据后如何将数据放入图表
这是我的整个代码:
window.socket = new WebSocket("wss://domain.com/");
socket.onmessage = function(event) {
console.log(event.data);
}
连接到 websocket 后,我收到了所有必要的数据,包括:蜡烛历史、蜡烛直播
文件 index.html
<html>
<head>
<title>TradingView Charting Library demo</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<script type="text/javascript" src="charting_library/charting_library.min.js"></script>
<script type="text/javascript" src="dist/datafeed.js"></script>
<script type="text/javascript">
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
function initOnReady() {
var widget = window.tvWidget = new TradingView.widget({
fullscreen: true,
symbol: 'BNBUSDT',
interval: 'D',
container_id: "tv_chart_container",
// BEWARE: no trailing slash is expected in feed URL
datafeed: new Datafeed({ debug: true }),
library_path: "charting_library/",
locale: getParameterByName('lang') || "en",
disabled_features: ["use_localstorage_for_settings"],
enabled_features: ["study_templates"],
charts_storage_url: 'http://saveload.tradingview.com',
charts_storage_api_version: "1.1",
client_id: 'tradingview.com',
user_id: 'public_user_id',
preset: 'mobile',
theme: 'light'
});
widget.onChartReady(function() {
widget.chart().removeAllStudies();
widget.chart().createStudy('Bollinger Bands', false, true);
widget.chart().createStudy('Awesome Oscillator', false, true);
// widget.chart().createStudy('Relative Strength Index', false, true);
// widget.chart().createStudy('MACD', false, true);
});
};
window.addEventListener('DOMContentLoaded', initOnReady, false);
</script>
</head>
<body style="margin:0px;">
<div id="tv_chart_container"></div>
</body>
</html>
文件 datafeed.js
class Datafeed {
onReady = function (cb) {
};
resolveSymbol(symbolName, onSymbolResolvedCallback, onResolveErrorCallback) {
}
getBars(symbolInfo, resolution, from, to, onHistoryCallback, onErrorCallback, firstDataRequest) {
}
subscribeBars(symbolInfo, resolution, onRealtimeCallback, subscriberUID, onResetCacheNeededCallback) {
}
unsubscribeBars(subscriberUID) {
}
}