Tradingview JS API Websocket - PullRequest
       23

Tradingview JS API Websocket

0 голосов
/ 16 января 2020

Я использую библиотеку графиков Tradingview, и я пытаюсь подключить существующий веб-сокет и поместить данные в график. Мои навыки программирования только базовые c, поэтому я не знаю, как это сделать

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

Вот весь мой код:

window.socket = new WebSocket("wss://domain.com/");
socket.onmessage = function(event) {
  console.log(event.data);
}

После подключения к веб-розетке я получил все необходимые данные, включая: историю свечей, живые свечи

enter image description here

Индекс файла. 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>

Файл данных подачи. 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) {
    }
}
...