CINXE.COM
Live stock, index, futures, Forex and Bitcoin charts on TradingView
<!DOCTYPE html> <html lang="en" dir="ltr" class="is-not-authenticated is-not-pro is-not-trial "> <head><meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">window.initData = {};</script> <link rel="news-streaming-url" href="https://notifications.tradingview.com/news/channel"><title>Live stock, index, futures, Forex and Bitcoin charts on TradingView</title> <link rel="preconnect news-streaming-url" href="https://notifications.tradingview.com/news/channel" crossorigin="use-credentials"> <link rel="preconnect" href="https://pricealerts.tradingview.com" crossorigin="use-credentials"> <!-- { block personal_css_bundle } --> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/77476.126f70e3b7f6a4a92dbe.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/88488.8067ca9367a045e8d3e3.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/88778.a699c72be5565e942bf2.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/92115.d4ce023e54009adf69b3.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/67661.de1e2a61cac87d771a3d.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/12653.17f31c42a0d370845904.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/76978.78da3405ca60129cefd8.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/95972.40b29b970ed7037ce58f.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/67078.e85e12769b99b432a8f0.css" rel="stylesheet" type="text/css"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/35015.b0f48cf7c8a82d463c7d.css" rel="stylesheet" type="text/css"/> <!-- { endblock personal_css_bundle } --> <!-- { block extra_styles } --> <style type="text/css"> html, body { min-width: 320px; height: 100%; width: 100%; overflow: hidden; } @media (max-width : 600px), (max-height: 440px) { .charts-popup-list .item.save-load-chart-title { display: block; } } </style> <!-- { endblock extra_styles } --><script nonce="CMEO0RiNjnPuVR2KJLL0ug=="> window.locale = 'en'; window.language = 'en'; </script> <!-- { block personal_js_bundle } --> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/runtime.b4742d2bcd2d99429141.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/en.25497.5e5ffd84f4ff2aa0d0e8.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/en.25249.d57cee7239368a9541e5.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/32227.d826c45d2d27f2ff4314.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/35694.d73c19de9f9cf165be02.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/54520.2594210158db44ee209c.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/76805.586b90ddd3c5a0a4b24b.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/9717.24023cb33a0a69157dd4.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/50594.48bca423cb5b1524ade6.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/24377.56e2455a0059b98e7b44.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/18235.99cc22f20223afad0524.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/6330.13c8d4050d2307bcc6d7.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/17197.27fff96c8e886ef05c41.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/41349.daebe03d25cea791ee5a.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/20081.b808f87965a61b3d3a96.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/83912.d93f6383adf1eab1123f.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/47472.e914ff4689117e87f476.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/35560.9cfd9e46eafbf43a1ba4.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/34536.61f1abe75fad6ff860c2.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/quote-ticker.d7f5392bd880b70552eb.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/53696.a191b492dadb731e6c00.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/86785.4da193dc381ef77ec237.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/19926.4b8a82dae4f82a154f3f.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/70045.54f597c9445c9c64b9c0.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/28296.831f4c954bb70c6d1636.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/71628.9bc9a0d4f09eb8ebc15e.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/11183.c8ddd9d0e30a5305674a.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/23698.635fa5ea5536d51d79bd.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/9121.13858c1ced2762176844.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/9404.497096086a331f9c1c10.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/27905.1ba649c7bb9260558583.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/323.aaba68aee94a9df37bb9.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/81004.6866a4ded45b3ed95ff3.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/45997.7349344a06777c770fcc.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/41251.843bf3b8b760f477a8a2.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/12440.56df28094411aaf7a1e9.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/65836.836f6039cd4511901c06.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/89052.780491c660e9b5370f31.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/30916.f4afb35a2ffbf1eef515.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/58823.be7750353439e9b74c3c.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/64242.17bd889c41ffff33b064.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/34333.8451244d47cb3a3dddc7.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/2751.018fdfef8488c5cf607b.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/41147.9f0438c306da4690a3e9.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/42975.7d3a2a6fdf73214f799b.js" rel="preload" as="script"/> <link crossorigin="anonymous" href="https://static.tradingview.com/static/bundles/main_chart.b9321bf94fbfe26df2ec.js" rel="preload" as="script"/><script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/runtime.b4742d2bcd2d99429141.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/en.25497.5e5ffd84f4ff2aa0d0e8.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/en.25249.d57cee7239368a9541e5.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/32227.d826c45d2d27f2ff4314.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/35694.d73c19de9f9cf165be02.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/54520.2594210158db44ee209c.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/76805.586b90ddd3c5a0a4b24b.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/9717.24023cb33a0a69157dd4.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/50594.48bca423cb5b1524ade6.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/24377.56e2455a0059b98e7b44.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/18235.99cc22f20223afad0524.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/6330.13c8d4050d2307bcc6d7.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/17197.27fff96c8e886ef05c41.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/41349.daebe03d25cea791ee5a.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/20081.b808f87965a61b3d3a96.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/83912.d93f6383adf1eab1123f.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/47472.e914ff4689117e87f476.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/35560.9cfd9e46eafbf43a1ba4.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/34536.61f1abe75fad6ff860c2.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/quote-ticker.d7f5392bd880b70552eb.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/53696.a191b492dadb731e6c00.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/86785.4da193dc381ef77ec237.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/19926.4b8a82dae4f82a154f3f.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/70045.54f597c9445c9c64b9c0.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/28296.831f4c954bb70c6d1636.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/71628.9bc9a0d4f09eb8ebc15e.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/11183.c8ddd9d0e30a5305674a.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/23698.635fa5ea5536d51d79bd.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/9121.13858c1ced2762176844.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/9404.497096086a331f9c1c10.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/27905.1ba649c7bb9260558583.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/323.aaba68aee94a9df37bb9.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/81004.6866a4ded45b3ed95ff3.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/45997.7349344a06777c770fcc.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/41251.843bf3b8b760f477a8a2.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/12440.56df28094411aaf7a1e9.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/65836.836f6039cd4511901c06.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/89052.780491c660e9b5370f31.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/30916.f4afb35a2ffbf1eef515.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/58823.be7750353439e9b74c3c.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/64242.17bd889c41ffff33b064.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/34333.8451244d47cb3a3dddc7.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/2751.018fdfef8488c5cf607b.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/41147.9f0438c306da4690a3e9.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/42975.7d3a2a6fdf73214f799b.js" defer></script> <script crossorigin="anonymous" src="https://static.tradingview.com/static/bundles/main_chart.b9321bf94fbfe26df2ec.js" defer></script> <!-- { endblock personal_js_bundle } --> <!-- { block additional_js_bundle } --> <!-- { endblock additional_js_bundle } --> <script nonce="CMEO0RiNjnPuVR2KJLL0ug=="> window.initData = window.initData || {}; window.initData.theme = "light"; (()=>{"use strict";const t=/(?:^|;)\s*theme=(dark|light)(?:;|$)|$/.exec(document.cookie)[1];t&&(document.documentElement.classList.toggle("theme-dark","dark"===t),document.documentElement.classList.toggle("theme-light","light"===t),window.initData=window.initData||{},window.initData.theme=t)})(); </script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug=="> (()=>{"use strict";"undefined"!=typeof window&&"undefined"!=typeof navigator&&/mac/i.test(navigator.platform)&&document.documentElement.classList.add("mac_os_system")})(); </script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">var environment = "battle"; window.WS_HOST_PING_REQUIRED = true; window.BUILD_TIME = "2024_12_13-11_15"; window.WEBSOCKET_HOST = "data.tradingview.com"; window.WEBSOCKET_PRO_HOST = "prodata.tradingview.com"; window.WEBSOCKET_HOST_FOR_DEEP_BACKTESTING = "history-data.tradingview.com"; window.WIDGET_HOST = "https://www.tradingview-widget.com"; window.TradingView = window.TradingView || {}; window.WEBSOCKET_CONNECTION_TYPE = "chart"; TradingView.onChartPage = true; </script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug=="> (()=>{"use strict";function e(e,t=!1){const{searchParams:s}=new URL(String(location));let n="true"===s.get("mobileapp_new"),o="true"===s.get("mobileapp");if(!t){const e=function(e){const t=e+"=",s=document.cookie.split(";");for(let e=0;e<s.length;e++){let n=s[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return n.substring(t.length,n.length)}return null}("tv_app")||"";n||=["android","android_nps"].includes(e),o||="ios"===e}return!("new"!==e&&"any"!==e||!n)||!("new"===e||!o)}const t=()=>{},s="~m~";class n{constructor(e,t={}){this.sessionid=null,this.connected=!1,this._timeout=null,this._base=e,this._options={timeout:t.timeout||2e4,connectionType:t.connectionType}}connect(){this._socket=new WebSocket(this._prepareUrl()),this._socket.onmessage=e=>{if("string"!=typeof e.data)throw new TypeError(`The WebSocket message should be a string. Recieved ${Object.prototype.toString.call(e.data)}`);this._onData(e.data)},this._socket.onclose=this._onClose.bind(this),this._socket.onerror=this._onError.bind(this)}send(e){this._socket&&this._socket.send(this._encode(e))}disconnect(){this._clearIdleTimeout(),this._socket&&(this._socket.onmessage=t,this._socket.onclose=t,this._socket.onerror=t,this._socket.close())}_clearIdleTimeout(){null!==this._timeout&&(clearTimeout(this._timeout),this._timeout=null)}_encode(e){let t,o="";const i=Array.isArray(e)?e:[e],c=i.length;for(let e=0;e<c;e++)t=null===i[e]||void 0===i[e]?"":n._stringify(i[e]),o+=s+t.length+s+t;return o}_decode(e){const t=[];let n,o;do{if(e.substring(0,3)!==s)return t;n="",o="";const i=(e=e.substring(3)).length;for(let t=0;t<i;t++){if(o=Number(e.substring(t,t+1)),Number(e.substring(t,t+1))!==o){e=e.substring(n.length+3),n=Number(n);break}n+=o}t.push(e.substring(0,n)),e=e.substring(n)}while(""!==e);return t}_onData(e){this._setTimeout();const t=this._decode(e),s=t.length;for(let e=0;e<s;e++)this._onMessage(t[e])}_setTimeout(){this._clearIdleTimeout(),this._timeout=setTimeout(this._onTimeout.bind(this),this._options.timeout)}_onTimeout(){this.disconnect(),this._onDisconnect({code:4e3,reason:"socket.io timeout",wasClean:!1})}_onMessage(e){this.sessionid?this._checkIfHeartbeat(e)?this._onHeartbeat(e.slice(3)):this._checkIfJson(e)?this._base.onMessage(JSON.parse(e.slice(3))):this._base.onMessage(e):(this.sessionid=e,this._onConnect())}_checkIfHeartbeat(e){return this._checkMessageType(e,"h")}_checkIfJson(e){return this._checkMessageType(e,"j")}_checkMessageType(e,t){return e.substring(0,3)==="~"+t+"~"}_onHeartbeat(e){this.send("~h~"+e)}_onConnect(){this.connected=!0,this._base.onConnect()}_onDisconnect(e){this._clear(),this._base.onDisconnect(e),this.sessionid=null}_clear(){this.connected=!1}_prepareUrl(){const t=i(this._base.host);if(t.pathname+="socket.io/websocket",t.protocol="wss:",t.searchParams.append("from",window.location.pathname.slice(1,50)),t.searchParams.append("date",window.BUILD_TIME||""),e("any")&&t.searchParams.append("client","mobile"),this._options.connectionType&&t.searchParams.append("type",this._options.connectionType), window.WEBSOCKET_PARAMS_ANALYTICS){const{ws_page_uri:e,ws_ancestor_origin:s}=window.WEBSOCKET_PARAMS_ANALYTICS;e&&t.searchParams.append("page-uri",e),s&&t.searchParams.append("ancestor-origin",s)}return t.href}_onClose(e){this._clearIdleTimeout(),this._onDisconnect(e)}_onError(e){this._clearIdleTimeout(),this._clear(),this._base.emit("error",[e]),this.sessionid=null}static _stringify(e){return"[object Object]"===Object.prototype.toString.call(e)?"~j~"+JSON.stringify(e):String(e)}}class o{constructor(e,t){this.host=e,this._connecting=!1,this._events={},this.transport=this._getTransport(t)}isConnected(){return!!this.transport&&this.transport.connected}isConnecting(){return this._connecting}connect(){this.isConnected()||(this._connecting&&this.disconnect(),this._connecting=!0,this.transport.connect())}send(e){this.transport&&this.transport.connected&&this.transport.send(e)}disconnect(){this.transport&&this.transport.disconnect()}on(e,t){e in this._events||(this._events[e]=[]),this._events[e].push(t)}offAll(){this._events={}}onMessage(e){this.emit("message",[e])}emit(e,t=[]){if(e in this._events){const s=this._events[e].concat(),n=s.length;for(let e=0;e<n;e++)s[e].apply(this,t)}}onConnect(){this.clear(),this.emit("connect")}onDisconnect(e){this.emit("disconnect",[e])}clear(){this._connecting=!1}_getTransport(e){return new n(this,e)}}function i(e){const t=-1!==e.indexOf("/")?new URL(e):new URL("wss://"+e);if("wss:"!==t.protocol&&"https:"!==t.protocol)throw new Error("Invalid websocket base "+e);return t.pathname.endsWith("/")||(t.pathname+="/"),t.search="",t.username="",t.password="",t}const c=Number(window.TELEMETRY_WS_ERROR_LOGS_THRESHOLD)||0;class r{constructor(e,t={}){this._queueStack=[],this._logsQueue=[],this._telemetryObjectsQueue=[],this._reconnectCount=0,this._redirectCount=0,this._errorsCount=0,this._errorsInfoSent=!1,this._connectionStart=null,this._connectionEstablished=null,this._reconnectTimeout=null,this._onlineCancellationToken=null,this._isConnectionForbidden=!1,this._initialHost=t.initialHost||null,this._suggestedHost=e,this._proHost=t.proHost,this._reconnectHost=t.reconnectHost,this._noReconnectAfterTimeout=!0===t.noReconnectAfterTimeout,this._dataRequestTimeout=t.dataRequestTimeout,this._connectionType=t.connectionType,this._doConnect(),t.pingRequired&&-1===window.location.search.indexOf("noping")&&this._startPing()}connect(){this._tryConnect()}resetCounters(){this._reconnectCount=0,this._redirectCount=0}setLogger(e,t){this._logger=e,this._getLogHistory=t,this._flushLogs()}setTelemetry(e){this._telemetry=e,this._telemetry.reportSent.subscribe(this,this._onTelemetrySent),this._flushTelemetry()}onReconnect(e){this._onReconnect=e}isConnected(){return!!this._socket&&this._socket.isConnected()}isConnecting(){return!!this._socket&&this._socket.isConnecting()}on(e,t){return!!this._socket&&("connect"===e&&this._socket.isConnected()?t():"disconnect"===e?this._disconnectCallbacks.push(t):this._socket.on(e,t),!0)}getSessionId(){return this._socket&&this._socket.transport?this._socket.transport.sessionid:null} send(e){return this.isConnected()?(this._socket.send(e),!0):(this._queueMessage(e),!1)}getConnectionEstablished(){return this._connectionEstablished}getHost(){const e=this._tryGetProHost();return null!==e?e:this._reconnectHost&&this._reconnectCount>3?this._reconnectHost:this._suggestedHost}getReconnectCount(){return this._reconnectCount}getRedirectCount(){return this._redirectCount}getConnectionStart(){return this._connectionStart}disconnect(){this._clearReconnectTimeout(),(this.isConnected()||this.isConnecting())&&(this._propagateDisconnect(),this._disconnectCallbacks=[],this._closeSocket())}forbidConnection(){this._isConnectionForbidden=!0,this.disconnect()}allowConnection(){this._isConnectionForbidden=!1,this.connect()}isMaxRedirects(){return this._redirectCount>=20}isMaxReconnects(){return this._reconnectCount>=20}getPingInfo(){return this._pingInfo||null}_tryGetProHost(){return window.TradingView&&window.TradingView.onChartPage&&"battle"===window.environment&&!this._redirectCount&&-1===window.location.href.indexOf("ws_host")?this._initialHost?this._initialHost:void 0!==window.user&&window.user.pro_plan?this._proHost||this._suggestedHost:null:null}_queueMessage(e){0===this._queueStack.length&&this._logMessage(0,"Socket is not connected. Queued a message"),this._queueStack.push(e)}_processMessageQueue(){0!==this._queueStack.length&&(this._logMessage(0,"Processing queued messages"),this._queueStack.forEach(this.send.bind(this)),this._logMessage(0,"Processed "+this._queueStack.length+" messages"),this._queueStack=[])}_onDisconnect(e){this._noReconnectAfterTimeout||null!==this._reconnectTimeout||(this._reconnectTimeout=setTimeout(this._tryReconnect.bind(this),5e3)),this._clearOnlineCancellationToken();let t="disconnect session:"+this.getSessionId();e&&(t+=", code:"+e.code+", reason:"+e.reason,1005===e.code&&this._sendTelemetry("websocket_code_1005")),this._logMessage(0,t),this._propagateDisconnect(e),this._closeSocket(),this._queueStack=[]}_closeSocket(){null!==this._socket&&(this._socket.offAll(),this._socket.disconnect(),this._socket=null)}_logMessage(e,t){const s={method:e,message:t};this._logger?this._flushLogMessage(s):(s.message=`[${(new Date).toISOString()}] ${s.message}`,this._logsQueue.push(s))}_flushLogMessage(e){switch(e.method){case 2:this._logger.logDebug(e.message);break;case 3:this._logger.logError(e.message);break;case 0:this._logger.logInfo(e.message);break;case 1:this._logger.logNormal(e.message)}}_flushLogs(){this._flushLogMessage({method:1,message:"messages from queue. Start."}),this._logsQueue.forEach((e=>{this._flushLogMessage(e)})),this._flushLogMessage({method:1,message:"messages from queue. End."}),this._logsQueue=[]}_sendTelemetry(e,t){const s={event:e,params:t};this._telemetry?this._flushTelemetryObject(s):this._telemetryObjectsQueue.push(s)}_flushTelemetryObject(e){this._telemetry.sendChartReport(e.event,e.params,!1)}_flushTelemetry(){this._telemetryObjectsQueue.forEach((e=>{this._flushTelemetryObject(e)})),this._telemetryObjectsQueue=[]}_doConnect(){ this._socket&&(this._socket.isConnected()||this._socket.isConnecting())||(this._clearOnlineCancellationToken(),this._host=this.getHost(),this._socket=new o(this._host,{timeout:this._dataRequestTimeout,connectionType:this._connectionType}),this._logMessage(0,"Connecting to "+this._host),this._bindEvents(),this._disconnectCallbacks=[],this._connectionStart=performance.now(),this._connectionEstablished=null,this._socket.connect(),performance.mark("SWSC",{detail:"Start WebSocket connection"}),this._socket.on("connect",(()=>{performance.mark("EWSC",{detail:"End WebSocket connection"}),performance.measure("WebSocket connection delay","SWSC","EWSC")})))}_propagateDisconnect(e){const t=this._disconnectCallbacks.length;for(let s=0;s<t;s++)this._disconnectCallbacks[s](e||{})}_bindEvents(){this._socket&&(this._socket.on("connect",(()=>{const e=this.getSessionId();if("string"==typeof e){const t=JSON.parse(e);if(t.redirect)return this._redirectCount+=1,this._suggestedHost=t.redirect,this.isMaxRedirects()&&this._sendTelemetry("redirect_bailout"),void this._redirect()}this._connectionEstablished=performance.now(),this._processMessageQueue(),this._logMessage(0,"connect session:"+e)})),this._socket.on("disconnect",this._onDisconnect.bind(this)),this._socket.on("close",this._onDisconnect.bind(this)),this._socket.on("error",(e=>{this._logMessage(0,new Date+" session:"+this.getSessionId()+" websocket error:"+JSON.stringify(e)),this._sendTelemetry("websocket_error"),this._errorsCount++,!this._errorsInfoSent&&this._errorsCount>=c&&(void 0!==this._lastConnectCallStack&&(this._sendTelemetry("websocket_error_connect_stack",{text:this._lastConnectCallStack}),delete this._lastConnectCallStack),void 0!==this._getLogHistory&&this._sendTelemetry("websocket_error_log",{text:this._getLogHistory(50).join("\n")}),this._errorsInfoSent=!0)})))}_redirect(){this.disconnect(),this._reconnectWhenOnline()}_tryReconnect(){this._tryConnect()&&(this._reconnectCount+=1)}_tryConnect(){return!this._isConnectionForbidden&&(this._clearReconnectTimeout(),this._lastConnectCallStack=new Error(`WebSocket connect stack. Is connected: ${this.isConnected()}.`).stack||"",!this.isConnected()&&(this.disconnect(),this._reconnectWhenOnline(),!0))}_clearOnlineCancellationToken(){this._onlineCancellationToken&&(this._onlineCancellationToken(),this._onlineCancellationToken=null)}_clearReconnectTimeout(){null!==this._reconnectTimeout&&(clearTimeout(this._reconnectTimeout),this._reconnectTimeout=null)}_reconnectWhenOnline(){if(navigator.onLine)return this._logMessage(0,"Network status: online - trying to connect"),this._doConnect(),void(this._onReconnect&&this._onReconnect());this._logMessage(0,"Network status: offline - wait until online"),this._onlineCancellationToken=function(e){let t=e;const s=()=>{window.removeEventListener("online",s),t&&t()};return window.addEventListener("online",s),()=>{t=null}}((()=>{this._logMessage(0,"Network status changed to online - trying to connect"),this._doConnect(),this._onReconnect&&this._onReconnect()}))}_onTelemetrySent(e){ "websocket_error"in e&&(this._errorsCount=0,this._errorsInfoSent=!1)}_startPing(){if(this._pingIntervalId)return;const e=i(this.getHost());e.pathname+="ping",e.protocol="https:";let t=0,s=0;const n=e=>{this._pingInfo=this._pingInfo||{max:0,min:1/0,avg:0};const n=(new Date).getTime()-e;n>this._pingInfo.max&&(this._pingInfo.max=n),n<this._pingInfo.min&&(this._pingInfo.min=n),t+=n,s++,this._pingInfo.avg=t/s,s>=10&&this._pingIntervalId&&(clearInterval(this._pingIntervalId),delete this._pingIntervalId)};this._pingIntervalId=setInterval((()=>{const t=(new Date).getTime(),s=new XMLHttpRequest;s.open("GET",e,!0),s.send(),s.onreadystatechange=()=>{s.readyState===XMLHttpRequest.DONE&&200===s.status&&n(t)}}),1e4)}}window.WSBackendConnection=new r(window.WEBSOCKET_HOST,{pingRequired:window.WS_HOST_PING_REQUIRED,proHost:window.WEBSOCKET_PRO_HOST,reconnectHost:window.WEBSOCKET_HOST_FOR_RECONNECT,initialHost:window.WEBSOCKET_INITIAL_HOST,connectionType:window.WEBSOCKET_CONNECTION_TYPE}),window.WSBackendConnectionCtor=r})(); </script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">// init data from server here // it's gona be needed in main_chart entry point var initData = window.initData || {}; initData.content = undefined; initData.defSymbol = "NASDAQ:TSLA"; initData.defInterval = ""; initData.name = ""; initData.description = ""; initData.uid = ""; initData.chart_id = ""; initData.sharing_enabled = {}; initData.is_banned_from_ideas = false initData.metaInfo = { id: "", name: "", description: "", uid: "", username: "", tags: "", lastModified: "", }; initData.readOnly = initData.chart_id === '' && initData.uid !== ''; initData.addonId = ""; initData.litePlanPlatform = "" window.TRADING_SERVER_LOGGER_URL = "https://trdlg.tradingview.com"; window.TRADING_REST_SERVER_URL = "https://rest-demo.tradingview.com/tradingview/v1"; window.VIDEO_IDEAS_UPLOADER_URL = "https://ideas-uploader.tradingview.com/api";</script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">var is_authenticated = false; var user = {"username":"Guest","following":"0","followers":"0","ignore_list":[],"available_offers":{}}; window.initData.price_alerts_url = "https://alerts.tradingview.com/alerts/"; window.initData.priceAlertsFacadeClientUrl = "https://pricealerts.tradingview.com"; window.initData.currentLocaleInfo = {"language":"en","language_name":"English","flag":"us","geoip_code":"us","priority":1000,"iso":"en","iso_639_3":"eng","show_on_widgets":true,"global_name":"English","is_only_recommended_tw_autorepost":true}; window.initData.offerButtonInfo = {}; window.initData.settings = {'S3_LOGO_SERVICE_BASE_URL': 'https://s3-symbol-logo.tradingview.com/', 'S3_NEWS_IMAGE_SERVICE_BASE_URL': 'https://s3.tradingview.com/news/', 'WEBPACK_STATIC_PATH': 'https://static.tradingview.com/static/bundles/', 'TRADING_URL': 'https://papertrading.tradingview.com', 'TRADING_COMPETITION_ID': 'THE_LEAP_4'}; window.countryCode = "SG"; window.__initialEnabledFeaturesets = (window.__initialEnabledFeaturesets || []).concat( ['tv_production'].concat( window.ClientCustomConfiguration && window.ClientCustomConfiguration.getEnabledFeatureSet ? JSON.parse(window.ClientCustomConfiguration.getEnabledFeatureSet()) : [] ) ); if (window.ClientCustomConfiguration && window.ClientCustomConfiguration.getDisabledFeatureSet) { window.__initialDisabledFeaturesets = JSON.parse(window.ClientCustomConfiguration.getDisabledFeatureSet()); } window.__initialEnabledFeaturesets = (window.__initialEnabledFeaturesets || []).concat( ["mobile_trading","real_brokers"] ); var lastGlobalNotificationIds = [13038,13017,12980,12943,12907,12904,12903,12899,12896,12893,12889]; var shopConf = { offers: [], }; var featureToggleState = {"black_friday_popup":1.0,"black_friday_mainpage":1.0,"black_friday_extend_limitation":1.0,"chart_autosave_5min":1.0,"chart_autosave_30min":1.0,"performance_test_mode":1.0,"chart_storage_hibernation_delay_60min":1.0,"multichart_replay":1.0,"enable_select_date_replay_mobile":1.0,"pane_buttons_on_tap_separator":1.0,"support_persistent_logs":1.0,"new_error_card_icons":1.0,"enable_step_by_step_hints_for_drawings":1.0,"enable_new_indicators_templates_view":1.0,"allow_brackets_profit_loss":1.0,"enable_traded_context_linking":1.0,"order_context_validation_in_instant_mode":1.0,"internal_fullscreen_api":0.5,"alerts-start-christmas":1.0,"self-replacing-advanced-chart-widget":1.0,"disable-calendar-advanced-chart-widget":1.0,"disable-lse-data-screener-heatmap-widgets":1.0,"symphony_allow_non_partitioned_cookie_on_old_symphony":1.0,"symphony_notification_badges":1.0,"symphony_use_adk_for_upgrade_request":1.0,"timeout_django_db":0.15,"timeout_django_usersettings_db":0.15,"timeout_django_charts_db":0.25,"timeout_django_symbols_lists_db":0.25,"timeout_django_minds_db":0.05,"timeout_django_logging_db":0.25,"disable_services_monitor_metrics":1.0,"enable_signin_recaptcha":1.0,"enable_idea_spamdetectorml":1.0,"enable_idea_spamdetectorml_comments":1.0,"enable_spamdetectorml_chat":1.0,"enable_minds_spamdetectorml":1.0,"backend-connections-in-token":1.0,"one_connection_with_exchanges":1.0,"mobile-ads-ios":1.0,"mobile-ads-android":1.0,"google-one-tap-signin":1.0,"braintree-gopro-in-order-dialog":1.0,"braintree-apple-pay":1.0,"braintree-google-pay":1.0,"braintree-apple-pay-trial":1.0,"triplea-payments":1.0,"braintree-google-pay-trial":1.0,"braintree-one-usd-verification":1.0,"braintree-3ds-enabled":1.0,"braintree-3ds-status-check":1.0,"braintree-additional-card-checks-for-trial":1.0,"braintree-instant-settlement":1.0,"checkout_black_friday_downgrade":1.0,"checkout-subscriptions":1.0,"checkout_additional_card_checks_for_trial":1.0,"checkout_fail_on_duplicate_payment_methods_for_trial":1.0,"checkout_fail_on_banned_countries_for_trial":1.0,"checkout_fail_on_banned_bank_for_trial":1.0,"checkout_fail_on_banned_bank_for_premium_trial":1.0,"checkout_fail_on_close_to_expiration_card_trial":1.0,"checkout_fail_on_prepaid_card_trial":1.0,"checkout_fail_on_commercial_card_trial":1.0,"checkout_show_instead_of_braintree":1.0,"checkout-3ds":1.0,"checkout-3ds-us":1.0,"annual_to_monthly_downgrade_attempt":0.5,"razorpay_black_friday_downgrade":1.0,"razorpay-card-order-token-section":1.0,"razorpay-card-subscriptions":1.0,"razorpay-s3-invoice-upload":1.0,"dlocal-payments":1.0,"braintree_transaction_source":1.0,"braintree_commercial_card_check":1.0,"vertex-tax":1.0,"receipt_in_emails":1.0,"adwords-analytics":1.0,"minds_widget_enabled":1.0,"required_agreement_for_rt":1.0,"check_market_data_limits":1.0,"force_to_complete_data":1.0,"force_to_upgrade_to_expert":1.0,"send_tradevan_invoice":1.0,"show_pepe_animation":1.0,"screener-alerts-read-only":1.0,"screener_enable_stock_custom_screens":1.0,"screener_enable_chart_view":1.0,"screener_hide_forex_selector_on_chart":1.0,"screener_redirect_forex_to_stock_on_chart":1.0,"ses_tracking":1.0,"slow-support-warning":1.0,"send_financial_notifications":1.0,"symbol_page_faq":1.0,"show_advertising_banner_symbol_page":1.0,"spark_translations":1.0,"spark_category_translations":1.0,"spark_tags_translations":1.0,"unsubscribe_inactive_users":1.0,"pro_plan_initial_refunds_disabled":1.0,"enable_ideas_recommendations":1.0,"enable_ideas_recommendations_feed":1.0,"fail_on_duplicate_payment_methods_for_trial":1.0,"ethoca_alert_notification_webhook":1.0,"hide_suspicious_users_ideas":1.0,"disable_publish_strategy_range_based_chart":1.0,"restrict_simultaneous_requests":1.0,"login_from_new_device_email":1.0,"ssr_worker_nowait":1.0,"broker_A1CAPITAL":1.0,"broker_ACTIVTRADES":1.0,"static_dom":1.0,"hide_ADMIRALS_on_ios":1.0,"hide_ADMIRALS_on_android":1.0,"hide_ADMIRALS_on_mobile_web":1.0,"ADMIRALS_beta":1.0,"broker_AFTERPRIME":1.0,"broker_ALICEBLUE":1.0,"hide_ALICEBLUE_on_ios":1.0,"hide_ALICEBLUE_on_android":1.0,"hide_ALICEBLUE_on_mobile_web":1.0,"broker_ALOR":1.0,"broker_ALPACA":1.0,"broker_AMP":1.0,"hide_ANGELONE_on_ios":1.0,"hide_ANGELONE_on_android":1.0,"hide_ANGELONE_on_mobile_web":1.0,"ANGELONE_beta":1.0,"hide_BAJAJ_on_ios":1.0,"hide_BAJAJ_on_android":1.0,"hide_BAJAJ_on_mobile_web":1.0,"BAJAJ_beta":1.0,"broker_BINANCE":1.0,"enable_binanceapis_base_url":1.0,"broker_BINGBON":1.0,"broker_BITAZZA":1.0,"broker_BITGET":1.0,"broker_BITSTAMP":1.0,"broker_BLACKBULL":1.0,"broker_BYBIT":1.0,"broker_CAPITALCOM":1.0,"broker_CFI":1.0,"broker_CITYINDEX":1.0,"cityindex_spreadbetting":1.0,"broker_COBRATRADING":1.0,"broker_COLMEX":1.0,"hide_COLMEX_on_ios":1.0,"hide_COLMEX_on_android":1.0,"hide_COLMEX_on_mobile_web":1.0,"COLMEX_beta":1.0,"broker_COMPOSITEDGE":1.0,"hide_CQG_on_ios":1.0,"hide_CQG_on_android":1.0,"hide_CQG_on_mobile_web":1.0,"cqg-realtime-bandwidth-limit":1.0,"hide_CURRENCYCOM_on_ios":1.0,"hide_CURRENCYCOM_on_android":1.0,"hide_CURRENCYCOM_on_mobile_web":1.0,"broker_DERAYAH":1.0,"broker_DHAN":1.0,"broker_DNSE":1.0,"broker_DORMAN":1.0,"hide_DUMMY_on_ios":1.0,"hide_DUMMY_on_android":1.0,"hide_DUMMY_on_mobile_web":1.0,"broker_EASYMARKETS":1.0,"broker_EDGECLEAR":1.0,"edgeclear_oauth_authorization":1.0,"EDGECLEAR_beta":1.0,"broker_EIGHTCAP":1.0,"broker_ERRANTE":1.0,"broker_ESAFX":1.0,"hide_ESAFX_on_ios":1.0,"hide_ESAFX_on_android":1.0,"hide_ESAFX_on_mobile_web":1.0,"ESAFX_beta":1.0,"broker_FOREXCOM":1.0,"forexcom_session_v2":1.0,"broker_FPMARKETS":1.0,"hide_FTX_on_ios":1.0,"hide_FTX_on_android":1.0,"hide_FTX_on_mobile_web":1.0,"ftx_request_server_logger":1.0,"broker_FUSIONMARKETS":1.0,"broker_FXCM":1.0,"broker_FXOPEN":1.0,"broker_FYERS":1.0,"broker_GBEBROKERS":1.0,"broker_GEMINI":1.0,"broker_GLOBALMENKUL":1.0,"hide_GLOBALPRIME_on_ios":1.0,"hide_GLOBALPRIME_on_android":1.0,"hide_GLOBALPRIME_on_mobile_web":1.0,"globalprime-brokers-side-maintenance":1.0,"hide_GOTRADE_on_ios":1.0,"hide_GOTRADE_on_android":1.0,"hide_GOTRADE_on_mobile_web":1.0,"GOTRADE_beta":1.0,"broker_HERENYA":1.0,"broker_HTX":1.0,"broker_IBKR":1.0,"check_ibkr_side_maintenance":1.0,"ibkr_request_server_logger":1.0,"ibkr_parallel_provider_initialization":1.0,"ibkr_ws_account_summary":1.0,"ibkr_ws_server_logger":1.0,"ibkr_subscribe_to_order_updates_first":1.0,"ibkr_ws_account_ledger":1.0,"broker_IBROKER":1.0,"broker_ICMARKETS":1.0,"broker_IG":1.0,"broker_INFOYATIRIM":1.0,"broker_INNOVESTX":1.0,"broker_IRONBEAM":1.0,"hide_IRONBEAM_CQG_on_ios":1.0,"hide_IRONBEAM_CQG_on_android":1.0,"hide_IRONBEAM_CQG_on_mobile_web":1.0,"broker_MARKETSCOM":1.0,"hide_MOCKBROKER_on_ios":1.0,"hide_MOCKBROKER_on_android":1.0,"hide_MOCKBROKER_on_mobile_web":1.0,"broker_MOOMOO":1.0,"hide_NINJATRADER_on_ios":1.0,"hide_NINJATRADER_on_android":1.0,"hide_NINJATRADER_on_mobile_web":1.0,"NINJATRADER_beta":1.0,"broker_OANDA":1.0,"oanda_rest_api":1.0,"launch-oanda-country-group-1":1.0,"launch-oanda-country-group-2":1.0,"launch-oanda-country-group-3":1.0,"launch-oanda-country-group-4":1.0,"oanda_oauth_multiplexing":1.0,"broker_OKX":1.0,"broker_OPTIMUS":1.0,"broker_OSMANLI":1.0,"paper_force_connect_pushstream":1.0,"modular_paper_trading":1.0,"paper_subaccount_custom_currency":1.0,"broker_PEPPERSTONE":1.0,"broker_PAYTM":1.0,"broker_PHEMEX":1.0,"broker_PHILLIPCAPITAL_TR":1.0,"broker_PHILLIPNOVA":1.0,"broker_PLUS500":1.0,"plus500_oauth_authorization":1.0,"broker_QUESTRADE":1.0,"broker_ROBOMARKETS":1.0,"hide_SAMUEL_on_ios":1.0,"hide_SAMUEL_on_android":1.0,"hide_SAMUEL_on_mobile_web":1.0,"SAMUEL_beta":1.0,"broker_SAXOBANK":1.0,"hide_SKILLING_on_ios":1.0,"hide_SKILLING_on_android":1.0,"hide_SKILLING_on_mobile_web":1.0,"skilling-brokers-side-maintenance":1.0,"broker_SPREADEX":1.0,"broker_STONEX":1.0,"broker_TASTYFX":1.0,"broker_TASTYTRADE":1.0,"hide_TASTYTRADE_on_ios":1.0,"hide_TASTYTRADE_on_android":1.0,"hide_TASTYTRADE_on_mobile_web":1.0,"TASTYTRADE_beta":1.0,"broker_THINKMARKETS":1.0,"broker_TICKMILL":1.0,"hide_TIGER_on_ios":1.0,"hide_TIGER_on_android":1.0,"hide_TIGER_on_mobile_web":1.0,"broker_TOKENIZE":1.0,"broker_TRADENATION":1.0,"broker_TRADESTATION":1.0,"tradestation_request_server_logger":1.0,"broker_TRADIER":1.0,"broker_TRADIER_FUTURES":1.0,"tradier_futures_oauth_authorization":1.0,"broker_TRADOVATE":1.0,"broker_VANTAGE":1.0,"broker_VELOCITY":1.0,"broker_WEBULL":1.0,"broker_WEBULLJAPAN":1.0,"broker_WEBULLPAY":1.0,"hide_WEBULLPAY_on_ios":1.0,"hide_WEBULLPAY_on_android":1.0,"hide_WEBULLPAY_on_mobile_web":1.0,"broker_WHITEBIT":1.0,"broker_WHSELFINVEST":1.0,"broker_YLG":1.0,"broker_id_session":1.0,"disallow_concurrent_sessions":1.0,"mobile_trading_web":1.0,"mobile_trading_ios":1.0,"mobile_trading_android":1.0,"continuous_front_contract_trading":1.0,"trading_request_server_logger":1.0,"rest_request_server_logger":1.0,"oauth2_code_flow_provider_server_logger":1.0,"rest_logout_on_429":1.0,"review_popup_on_chart":1.0,"show_concurrent_connection_warning":1.0,"enable_trading_server_logger":1.0,"order_presets":1.0,"order_ticket_resizable_drawer_on":1.0,"rest_use_async_mapper":1.0,"paper_competition_leaderboard":1.0,"paper_competition_link_community":1.0,"paper_competition_landing":1.0,"paper_competition_leaderboard_user_stats":1.0,"paper_competition_previous_competitions":1.0,"amp_oauth_authorization":1.0,"blueline_oauth_authorization":1.0,"dorman_oauth_authorization":1.0,"ironbeam_oauth_authorization":1.0,"optimus_oauth_authorization":1.0,"stonex_oauth_authorization":1.0,"tickmill_oauth_authorization":1.0,"ylg_oauth_authorization":1.0,"new_order_size_calculator":1.0,"trading_general_events_ga_tracking":1.0,"replay_result_sharing":1.0,"replay_trading_brackets":1.0,"force_max_allowed_pulling_intervals":1.0,"paper_delay_trading":1.0,"enable_first_touch_is_selection":1.0,"enable_order_moving_by_price_line":1.0,"enable_anchor_for_traded_objects":1.0,"renew_token_preemption_30":1.0,"do_not_open_ot_from_plus_button":1.0,"enable_symbols_popularity_showing":1.0,"enable_translations_s3_upload":1.0,"etf_fund_flows_only_days_resolutions":1.0,"disable_snowplow_platform_events":1.0,"notify_idea_mods_about_first_publication":1.0,"enable_waf_tracking":1.0,"new_errors_flow":1.0,"disable_pine_v4":1.0,"enable_profiler":1.0,"pine_logs_in_detach":1.0,"symbol_search_country_sources":1.0,"symbol_search_bond_type_filter":1.0,"watchlists_dialog_scroll_to_active":1.0,"bottom_panel_track_events":1.0,"show_data_problems_in_help_center":1.0,"enable_apple_device_check":1.0,"should_charge_full_price_on_upgrade_if_google_payment":1.0,"update_availability_for_std":1.0,"enable_push_notifications_android":1.0,"enable_push_notifications_ios":1.0,"enable_manticore_cluster":1.0,"enable_envoy_proxy":1.0,"enable_envoy_proxy_papertrading":1.0,"enable_envoy_proxy_screener":1.0,"hide_ca_us_isin":1.0,"options_strategy_analyzer_tab":1.0,"options_details_widget":1.0,"options_overlay":1.0,"options_product_page":1.0,"options_exchange_nse":1.0,"options_exchange_cme":1.0,"options_exchange_cbot":1.0,"options_exchange_comex":1.0,"options_exchange_nymex":1.0,"options_exchange_bse":1.0,"options_exchange_opra":1.0,"new_fcm_client_for_alerts":1.0,"show_toast_about_unread_message":1.0,"enable_partner_payout":1.0,"enable_email_change_logging":1.0,"set_limit_to_1000_for_colored_lists":1.0,"enable_email_on_partner_status_change":1.0,"enable_partner_program_apply":1.0,"compress_cache_data":1.0,"enable_notifications_center_in_user_menu":1.0,"news_enable_streaming":1.0,"news_screener_page_client":1.0,"news_screener_page_django":1.0,"enable_declaration_popup_on_load":1.0,"move_ideas_and_minds_into_news":1.0,"hide_data_window_tab":1.0,"show_futures_front_contract":1.0,"enable_prof_popup_free":1.0,"enable_redirect_to_widget_documentation_of_any_localization":1.0,"tvd_last_tab_close_button":1.0,"news_enable_streaming_hibernation":1.0,"news_streaming_hibernation_delay_10min":1.0,"pass_recovery_search_hide_info":1.0,"watchlist_screener_tabs":1.0,"news_enable_streaming_on_screener":1.0,"enable_forced_email_confirmation":1.0,"enable_support_assistant":1.0,"show_gift_button":1.0,"address_validation_enabled":1.0,"generate_invoice_number_by_country":1.0,"show_summary_over_the_chart":1.0,"broker_awards_vote_2024":1.0,"show_favorite_layouts":1.0,"hide_collapse_button_on_mane_pane":1.0,"news_enable_new_story_page_layout":1.0,"enable_social_auth_confirmation":1.0,"enable_ad_block_detect":1.0,"rename_minds_tab_to_discussions":1.0,"show_new_user_profile":1.0,"move_watchlist_actions":1.0,"news_enable_story_page_provider_widget":1.0,"enable_lingua_lang_check":1.0,"get_saved_active_list_before_getting_all_lists":1.0,"enable_alternative_twitter_api":1.0,"show_referral_notification_dialog":0.5};</script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug=="> window.initData = window.initData || {}; window.initData.snowplowSettings = { collectorId: 'tv_cf', url: 'snowplow-pixel.tradingview.com', params: { appId: 'tradingview', }, enabled: true, } </script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">window.PUSHSTREAM_URL = "wss://pushstream.tradingview.com"; window.CHARTEVENTS_URL = "https://chartevents-reuters.tradingview.com/"; window.ECONOMIC_CALENDAR_URL = "https://economic-calendar.tradingview.com/"; window.EARNINGS_CALENDAR_URL = "https://scanner.tradingview.com"; window.NEWS_SERVICE_URL = "https://news-headlines.tradingview.com"; window.SS_HOST = "symbol-search.tradingview.com"; window.SS_URL = ""; window.SS_DOMAIN_PARAMETER = 'production'; window.DEFAULT_SYMBOL = "NASDAQ:AAPL"; window.COUNTRY_CODE_TO_DEFAULT_EXCHANGE = {"en":"US","us":"US","ae":"ADX","ar":"BCBA","at":"VIE","au":"ASX","bd":"DSEBD","be":"EURONEXT_BRU","bh":"BAHRAIN","br":"BMFBOVESPA","ca":"TSX","ch":"SIX","cl":"BCS","zh_CN":"SSE","co":"BVC","cy":"CSECY","cz":"PSECZ","de_DE":"XETR","dk":"OMXCOP","ee":"OMXTSE","eg":"EGX","es":"BME","fi":"OMXHEX","fr":"EURONEXT_PAR","gr":"ATHEX","hk":"HKEX","hu":"BET","id":"IDX","ie":"EURONEXTDUB","he_IL":"TASE","in":"BSE","is":"OMXICE","it":"MIL","ja":"TSE","ke":"NSEKE","kr":"KRX","kw":"KSE","lk":"CSELK","lt":"OMXVSE","lv":"OMXRSE","lu":"LUXSE","mx":"BMV","ma":"CSEMA","ms_MY":"MYX","ng":"NSENG","nl":"EURONEXT_AMS","no":"OSL","nz":"NZX","pe":"BVL","ph":"PSE","pk":"PSX","pl":"GPW","pt":"EURONEXT_LIS","qa":"QSE","rs":"BELEX","ru":"RUS","ro":"BVB","ar_AE":"TADAWUL","se":"NGM","sg":"SGX","sk":"BSSE","th_TH":"SET","tn":"BVMT","tr":"BIST","zh_TW":"TWSE","gb":"LSE","ve":"BVCV","vi_VN":"HOSE","za":"JSE"}; window.SCREENER_HOST = "https://scanner.tradingview.com"; window.AWS_BBS3_DOMAIN = "https://tradingview-user-uploads.s3.amazonaws.com"; window.AWS_S3_CDN = "https://s3.tradingview.com"; window.OPTIONS_CHARTING_HOST = "https://options-charting.tradingview.com"; window.initData.SCREENER_STORAGE_URL = "https://screener-storage.tradingview.com/screener-storage"; window.initData.screener_storage_release_version = 27; window.DATA_ISSUES_HOST = "https://support-middleware.tradingview.com"; window.TELEMETRY_HOSTS = {"charts":{"free":"https://telemetry.tradingview.com/free","pro":"https://telemetry.tradingview.com/pro","widget":"https://telemetry.tradingview.com/widget","ios_free":"https://telemetry.tradingview.com/charts-ios-free","ios_pro":"https://telemetry.tradingview.com/charts-ios-pro","android_free":"https://telemetry.tradingview.com/charts-android-free","android_pro":"https://telemetry.tradingview.com/charts-android-pro"},"alerts":{"all":"https://telemetry.tradingview.com/alerts"},"line_tools_storage":{"all":"https://telemetry.tradingview.com/line-tools-storage"},"news":{"all":"https://telemetry.tradingview.com/news"},"pine":{"all":"https://telemetry.tradingview.com/pine"},"calendars":{"all":"https://telemetry.tradingview.com/calendars"},"site":{"free":"https://telemetry.tradingview.com/site-free","pro":"https://telemetry.tradingview.com/site-pro","widget":"https://telemetry.tradingview.com/site-widget"},"trading":{"all":"https://telemetry.tradingview.com/trading"}}; window.TELEMETRY_WS_ERROR_LOGS_THRESHOLD = "100"; window.RECAPTCHA_SITE_KEY = "6Lcqv24UAAAAAIvkElDvwPxD0R8scDnMpizaBcHQ"; window.RECAPTCHA_SITE_KEY_V3 = "6LeQMHgUAAAAAKCYctiBGWYrXN_tvrODSZ7i9dLA"; window.GOOGLE_CLIENT_ID = "236720109952-v7ud8uaov0nb49fk5qm03as8o7dmsb30.apps.googleusercontent.com"; window.PINE_URL = window.PINE_URL || "https://pine-facade.tradingview.com/pine-facade";</script> <meta name="description" content="Interactive financial charts for analysis and generating trading ideas on TradingView!" /> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <link rel="conversions-config prefetch" as="fetch" href="https://s3.tradingview.com/conversions_en.json" crossorigin> <link rel="preconnect" href="https://pine-facade.tradingview.com/pine-facade" crossorigin> <link rel="preconnect chart-storage" href="https://charts-storage.tradingview.com/charts-storage" crossorigin="use-credentials"> <link rel="canonical" href="https://www.tradingview.com/symbols/NASDAQ-TSLA/" /> <link rel="icon" href="https://static.tradingview.com/static/images/favicon.ico"> <meta name="application-name" content="TradingView" /> <meta name="format-detection" content="telephone=no" /> <link rel="manifest" href="https://static.tradingview.com/static/images/favicon/manifest.json" /> <meta name="theme-color" media="(prefers-color-scheme: light)" content="#F8F9FD"> <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1E222D"> <meta name="apple-mobile-web-app-title" content="TradingView Site" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <link rel="apple-touch-icon" sizes="180x180" href="https://static.tradingview.com/static/images/favicon/apple-touch-icon-180x180.png" /><link rel="link-locale" data-locale="en" href="https://www.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="in" href="https://in.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="de_DE" href="https://de.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="fr" href="https://fr.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="es" href="https://es.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="it" href="https://it.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="pl" href="https://pl.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="tr" href="https://tr.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="ru" href="https://ru.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="br" href="https://br.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="id" href="https://id.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="ms_MY" href="https://my.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="th_TH" href="https://th.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="vi_VN" href="https://vn.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="ja" href="https://jp.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="kr" href="https://kr.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="zh_CN" href="https://cn.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="zh_TW" href="https://tw.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="ar_AE" href="https://ar.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><link rel="link-locale" data-locale="he_IL" href="https://il.tradingview.com/chart/?symbol=NASDAQ%3ATSLA"><meta property="al:ios:app_store_id" content="1205990992" /> <meta property="al:ios:app_name" content="TradingView - trading community, charts and quotes" /> <meta property="og:site_name" content="TradingView" /><meta property="og:type" content="website" /><meta property="og:title" content="" /><meta property="og:description" content="" /><meta property="og:url" content="https://www.tradingview.com/symbols/NASDAQ-TSLA/" /><meta property="og:image" content="https://s.tradingview.com/static/images/illustrations/chart.jpg" /><meta property="og:image:height" content="630" /><meta property="og:image:width" content="1200" /><meta property="og:image:secure_url" content="https://static.tradingview.com/static/images/logo-preview.png" /> <meta name="twitter:site" content="@TradingView" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="" /><meta name="twitter:description" content="" /><meta name="twitter:url" content="https://www.tradingview.com/symbols/NASDAQ-TSLA/" /><meta name="twitter:image" content="https://s.tradingview.com/static/images/illustrations/chart.jpg" /><meta name="ahrefs-site-verification" content="f729ff74def35be4b9b92072c0e995b40fcb9e1aece03fb174343a1b7a5350ce"> </head> <body class="chart-page unselectable"> <div class="loading-indicator"><div class="tv-spinner tv-spinner--size_large tv-spinner--shown" role="progressbar"></div></div> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">window.fbAppId = "155037361239837";</script> <script nonce="CMEO0RiNjnPuVR2KJLL0ug==">window.BLOG_LOCALIZED_URL = "https://www.tradingview.com/blog/en/"; initData.idc_exchanges_list = ["dfm","nzx","bme","bme_stocks","shfe","szse","nag","tfx","sgx","sgx_stocks","sgx_futures","twse","bcba","bvc","bvcv","bmv","bvmt","bvl","bcs","six","bsse","bahrain","belex","nseke","qse"]; initData.idc_delay_exchanges_list = ["shfe","tfx","bvcv","bvmt","bsse","bahrain"]; initData.offlineAlertEventsOnInit = true; </script> <script type="application/prs.init-data+json"> { "gaId": "G-YVVRYGL0E0", "gaVars": {"app":"web"}, "gadwId": "AW-353039917", "fbTagId": "1508275579478794", "yaTagId": "69731728" } </script> <script type="application/prs.init-data+json"> { "days_to_deactivation": null, "is_support_available": false, "canSwitchTheme": true, "tvPartnersHost": "https://tv-partners.tradingview.com" } </script> <meta name="tv:server-name" content="prod-frontend-web-b-6" /><div id="aria-live-regions-wrapper" class="aria-live-regions-wrapper"> <div aria-live="polite" aria-relevant="additions"></div> <div aria-live="polite" aria-relevant="additions"></div> <div aria-live="assertive" aria-relevant="additions"></div> <div aria-live="assertive" aria-relevant="additions"></div> </div> </body> </html>