The TradingView system has two types of bars. Bars that are historical and bars that are real-time.
When programming complex scripts and strategies that use higher timeframe data there can be difficult programming conditions due to these two bar states.
Especially in the case of after-hours, end of day, low volume trading and thinly traded stocks the bar state status can sometimes be historical and sometimes be real-time in different timeframes or even the same timeframe.
This script displays what state a bar is in by shading the background of the chart.
The script is being made publicly available to help my script users know about and understand 'barstate'. The script allows users to see the 'barstate' in order to help report bugs and conduct their own workarounds.
My testing has indicated that the 'barstate' status is sometimes spurious especially on thinly traded symbols. Additionally, the Tradingview back-end calls the script only after price changes to reduce system load. As a result, these two characteristics can cause unexpected Pine Script results.