Avg Price
$0.00
0.0000 shares
// =====================================================
// TRADINGVIEW IFRAME EMBED
// =====================================================
var tvWidget = null;
function getTvEmbedUrl(symbol, range) {
var intervalMap = { '5d': '5', '1m': 'D', '3m': 'W', '6m': 'W' };
var interval = intervalMap[range] || 'D';
var isDark = document.documentElement.getAttribute('data-theme') !== 'light';
var theme = isDark ? 'dark' : 'light';
var width = document.getElementById('tv-chart-container') ? document.getElementById('tv-chart-container').clientWidth : 800;
return 'https://s.tradingview.com/widgetembed/?' + [
'symbol=' + encodeURIComponent(symbol),
'interval=' + interval,
'theme=' + theme,
'style=1',
'locale=en',
'toolbarbg=' + (isDark ? '111113' : 'f8fafc'),
'hide_top_toolbar=false',
'hide_legend=false',
'save_image=false',
'enable_publishing=false',
'width=' + width,
'height=240',
'studies=[]'
].join('&');
}
function loadChart(symbol, range) {
$tvContainer.innerHTML = '';
$symLabel.textContent = symbol;
var intervalMap = { '5d': '5', '1m': 'D', '3m': 'W', '6m': 'W' };
var isDark = document.documentElement.getAttribute('data-theme') !== 'light';
new TradingView.widget({
symbol: symbol,
interval: intervalMap[range] || 'D',
timezone: 'Asia/Jakarta',
theme: isDark ? 'dark' : 'light',
style: '1',
locale: 'en',
toolbar_bg: isDark ? '#111113' : '#f8fafc',
enable_publishing: false,
hide_top_toolbar: false,
hide_legend: false,
allow_symbol_change: false,
save_image: false,
container_id: 'tradingview_widget',
width: '100%',
height: 240
});
tvWidget = { tagName: 'WIDGET' };
}
// =====================================================
// INIT
// =====================================================
function loadTvAndInit() {
if (typeof TradingView !== 'undefined') {
loadChart(state.stock, state.chartRange);
return;
}
var s = document.createElement('script');
s.src = 'https://s3.tradingview.com/tv.js';
s.async = true;
s.onload = function() {
loadChart(state.stock, state.chartRange);
};
document.head.appendChild(s);
}
$basePrice.value = state.basePrice;
render();
loadTvAndInit();
window.addEventListener('resize', function() {
if (tvWidget && tvWidget.tagName === 'IFRAME') {
loadChart(state.stock, state.chartRange);
}
});
})();