OPEN-SOURCE SCRIPT
Bull and Bear Market '20% Indicator

This indicator uses the somewhat crude method of calculating bear/bull markets using the following popular '20% rule':
The 1d time-frame should be used, here's why:
So, to capture the mentioned bear and bull market definitions, you'd want to apply the script on a daily (1d/1D) chart.
A bear market begins when an asset trades 20% below its recent high for more than two months, a bear market ends when an asset trades 20% above its recent low for one month or more.
The 1d time-frame should be used, here's why:
"A bear market begins when an asset trades 20% below its recent high for more than two months."
If we take the standard trading month to be around 20-22 days (excluding weekends), then two months would be approximately 40-44 days. This is why we set the `bearDuration` to 60 days in the script to capture the "more than two months" criteria. Using a daily timeframe, 60 bars represent roughly 3 months (since markets are not open every day due to weekends and holidays).
"...a bear market ends when an asset trades 20% above its recent low for one month or more."
This is why the `bullDuration` is set to 20 days in the script, which represents roughly one trading month on a daily timeframe.
So, to capture the mentioned bear and bull market definitions, you'd want to apply the script on a daily (1d/1D) chart.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.