Market Breadth EMAs V2

Second version of Market Breadth EMAs for $SPY. Getting a little more complicated than V1 but removed noise.
  • Green line = % of stocks above their 20-period moving average, the "twitch line"
  • Red line = % of stocks above their 200-period moving average, the "long term trend"
  • White line = weighted average of the % of stocks above the 20/50/100/200 averages, the "general trend." Captures bursts that the 200 misses, and is more trustworthy than the 20.
  • Background colors = limits of the red/green/white where reversals have happened historically. The darker the color, the stronger the signal.
  • Histogram = the change in the white line over time, for different time periods: 1/4/10/20, the "trend strength/confidence." i.e. If the white line "General Trend" has been drifting lower for a month but started increasing the past 2 days, you might have 3 red histograms and 1 green one.

  • If the green, red, or white line is above 50%, then more than half the stocks are above that average. So, if they're in the top half, bullish market. Bottom half, bearish market.
  • If the green line is above the red, market has rising/bullish momentum. If red is above green, market has falling/bearish momentum.
  • If the white line is rising, bullish momentum. If it's falling, bearish momentum.
  • If the histograms are all green, there is strong momentum in that direction. The % of stocks above their important averages has been increasing each day for both the short term and long term.
  • If the histograms go from all green to a mix of green and red, be on the lookout for a reversal from one of the background levels. Usually initiates from the 20 (green line) first.
  • If price dips without the histogram changing, HODL.
Release Notes:
Change: The green, red, and white lines were behind the histogram. Re-arranged them so they'd be in front.
Release Notes:
Histogram bars overlapped when you zoom in and out. Switched them to columns and it's perfect now.
style=plot.style_histogram -> style=plot.style_columns
Release Notes:
Changed picture accidentally, slight changes to code/labeling. Mostly just fixing my picture mistake

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


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.

Want to use this script on a chart?