MarketInOut Stock Screener Log In | Sign Up

New Highs - New Lows

By MarketInOut · Updated November 4, 2026

New Highs - New Lows (NH-NL) is a market breadth indicator that counts how many stocks reached a new 52-week high and subtracts the number that reached a new 52-week low. It shows whether market leadership belongs to the bulls or the bears, and how broad that leadership is. Because a stock has to beat a full year of prices to count, the indicator reflects lasting strength or weakness rather than a single good or bad day.

How it is calculated

NH-NL            = stocks at a new 52-week high - stocks at a new 52-week low
NH-NL 10-day MA  = 10-day simple moving average of NH-NL
Cumulative NH-NL = previous value + today's NH-NL
NH/NL ratio      = new highs / new lows

The daily figure jumps around, so most analysts watch its 10-day moving average. Two variations come from the same counts. The cumulative version adds the daily values into a running total and is read like the Advance/Decline Line, for long-term trend and divergence. The ratio divides highs by lows: above 1 means highs dominate, below 1 means lows dominate. The ratio gets unstable when either count is close to zero.

How to read it

  • Zero line. A positive reading means more stocks are making new highs than new lows, so bulls lead; a negative one means bears lead. A cross of the 10-day average through zero marks a change in leadership.
  • Market filter. A common use is to take buy signals from a price system only while the 10-day average is above zero, and to stand aside while it is below.
  • Bearish divergence. Late in an advance, an index can keep making new highs while fewer stocks do. Falling NH-NL under a rising index shows a narrowing rally.
  • Washout lows. Extremely negative readings often appear near major bottoms, sometimes slightly before the index itself bottoms. A rapid jump back above zero afterward is a typical sign of a new advance.

Settings and common mistakes

  • Comparing counts across markets. An index with 3,000 members produces much larger numbers than one with 100. To compare, divide NH-NL by the number of stocks, or compare each market with its own history.
  • Highs or closes. Data providers differ on whether a new high is counted on the intraday high or the close, and whether all listed issues or only common stocks are included, so values from different sources do not match.
  • Reading one day. A single strongly positive or negative day says little. Use the moving average and the trend of the readings.
  • Early in a bull market. After a long decline, new highs are rare at first even though the market is recovering. NH-NL tends to confirm a new uptrend with a lag.

NYSE Composite index, daily, with New Highs - New Lows and its 10-day average.

Live chart: the NYSE Composite index, daily, with New Highs - New Lows of its members and its 10-day moving average. The chart updates every trading day.

Screen for it on MarketInOut

Our formula language has the indicator as nhnl and its 10-day average as nhnlma. Both are calculated from an index’s members, so they work as a market filter with @index or on the index symbols themselves. Stocks crossing above their 50-day average while more NYSE stocks make new highs than new lows (otherwise the screen returns nothing):

exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and (nhnlma > 0)@nyse and price ca sma(50)

Major US indexes where new highs lead new lows on the 10-day average:

ticker(dow.i, sp500.i, nasdaq.i, nyse.i, nasdaq100.i, russell2000.i)
and nhnlma > 0

Related: Dow Theory, Moving averages, Support and resistance.




Disclaimer - Privacy Policy - Terms of Service - Cookies - FAQ - Affiliates - Blog