TradingView "Недопустимый символ" Для NSE и BSE scrips.
Я интегрирую график трейдинга в приложение для Android.Я скачал библиотеку графиков и использовал в соответствии с инструкциями.
Но есть проблема с результатом поиска.Он показывает только обмен результатами поиска, кроме BSE и NSE
. Я использовал следующий файл для загрузки в Android WebView.
index.html
<!DOCTYPE html> <html>
<head>
<title>TradingView Charting Library demo -- Mobile (black)</title>
<!-- Fix for iOS Safari zooming bug -->
<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="datafeeds/udf/dist/polyfills.js"></script>
<script type="text/javascript" src="datafeeds/udf/dist/bundle.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 = new TradingView.widget({
fullscreen: true,
symbol: 'BSE:SWASTIKA',
interval: 'D',
container_id: "tv_chart_container",
// BEWARE: no trailing slash is expected in feed URL
datafeed: new Datafeeds.UDFCompatibleDatafeed("https://demo_feed.tradingview.com"),
library_path: "charting_library/",
locale: getParameterByName('lang') || "en",
disabled_features: ["use_localstorage_for_settings"],
preset: "mobile",
overrides: {
"paneProperties.background": "#222222",
"paneProperties.vertGridProperties.color": "#454545",
"paneProperties.horzGridProperties.color": "#454545",
"symbolWatermarkProperties.transparency": 90,
"scalesProperties.textColor" : "#AAA"
}
});
};
window.addEventListener('DOMContentLoaded', initOnReady, false);
</script>
</head>
<body style="margin:0px;">
<div id="tv_chart_container"></div>
</body>
Я использую следующий код Android для загрузки этого файла в веб-просмотре.
private fun initWebView() {
val webView = WebView(this)
webView.settings.javaScriptEnabled = true
webView.settings.allowFileAccessFromFileURLs = true
// to prevent scaling text
// see https://github.com/tradingview/charting_library/issues/3267#issuecomment-415031298
webView.settings.textZoom = 100
val chartingLibraryUrl = "file:///android_asset/charting_library/index.html"
//val chartingLibraryUrl = "file:///android_asset/tradingview.html?symbol=BSE:SWASTIKA"
val jsBridge = JSApplicationBridge(this)
webView.addJavascriptInterface(jsBridge, "ApplicationBridge")
webView.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
if (!url.equals(chartingLibraryUrl)) {
return
}
webView.evaluateJavascript("""
tvWidget.onChartReady(function() {
tvWidget.chart().onIntervalChanged().subscribe(
null,
function(interval) {
ApplicationBridge.onIntervalChanged(interval);
}
);
});
""") {
// do nothing
}
}
}
// uncomment next line if you want to debug WebView in Chrome DevTools
// WebView.setWebContentsDebuggingEnabled(true)
webView.loadUrl(chartingLibraryUrl)
setContentView(webView)
}
Это файл для некоторых символов биржи NYSE.Но указание недопустимого символа ошибки для сценариев BSE / NSE.
Снимок экрана приложения с ошибкой