OPEN-SOURCE SCRIPT
New Highs/Lows Market Breadth

New Highs/Lows Market Breadth
This indicator is intended as a daily market breadth and participation tool. It is most useful for confirming the internal strength or weakness behind U.S. equity market price trends, monitoring changes in breadth momentum, and identifying periods when participation is expanding or contracting.
New Highs/Lows Market Breadth measures the difference between the number of securities making new highs and new lows across several major U.S. indices and exchanges.
The core calculation is:
Net Breadth = New Highs − New Lows
Positive readings indicate that new highs are outnumbering new lows, while negative readings indicate that new lows are dominating. This provides a view of participation beneath the surface of the market and can help identify strengthening or deteriorating internal conditions that may not be obvious from price alone.
Market Universes
The indicator supports multiple breadth universes from a single dropdown:
Indices
Exchanges
The combined exchange option sums the new-high and new-low counts from all three exchanges before calculating Net Breadth, providing a broader measure of U.S. exchange-level participation.
Lookback Periods
Breadth can be evaluated using:
These selections refer to the lookback used to define a new high or new low, not the chart timeframe. For example, the 1 Month setting measures securities making new one-month highs and lows during the applicable trading session.
Shorter lookbacks generally respond more quickly to changes in participation, while longer lookbacks provide a broader view of intermediate- and long-term market strength or weakness.
Breadth Display
By default, the indicator plots Net New Highs/Lows as a column histogram around the zero line.
The entire Highs/Lows histogram can be disabled independently. This allows the indicator pane to display only the moving average, background condition, or other enabled components.

An optional Display Highs and Lows Separately setting replaces the net histogram with separate positive columns for new highs and negative columns for new lows. This makes it easier to see whether changes in Net Breadth are being driven by expanding highs, expanding lows, or both.
Moving Average
An optional moving average can be applied directly to Net New Highs/Lows to smooth short-term fluctuations and make changes in breadth direction easier to identify.
Available moving average types include:
Length, line width, and color are customizable.
The moving average can also be colored according to its slope:
Slope coloring focuses on whether breadth momentum is improving or deteriorating rather than simply whether breadth is above or below zero.
For example, Net Breadth can remain negative while its moving average begins rising. This indicates that internal conditions are improving even though new lows may still exceed new highs. Conversely, a falling moving average above zero can indicate weakening participation before Net Breadth becomes negative.
Background Breadth Streaks
An optional background highlight identifies sustained periods of positive or negative Net Breadth.
The number of consecutive bars required to activate the background is user-defined, with 3 bars as the default.
Once the selected threshold is reached:
This feature is designed to distinguish persistent breadth conditions from isolated positive or negative readings.
Highs/Lows Table
An optional table displays the current number of securities making Highs and Lows for the selected market universe and lookback period.
This provides the underlying counts behind the Net Breadth calculation without requiring the Highs/Lows histogram to remain visible.
Confirmed Bars and Repainting
Repaint is disabled by default.
With Repaint disabled, the indicator displays only confirmed chart bars. This applies to the breadth plots, moving average, background conditions, and table updates.
Enabling Repaint allows the current unconfirmed chart bar to update as incoming data changes. Values displayed on an open bar can therefore change until that bar is confirmed.
Usage and Limitations
Credit: This indicator is based on the open-source Net New Highs/Lows script by Fred6724, with substantial modifications and additional functionality.
This indicator is intended as a daily market breadth and participation tool. It is most useful for confirming the internal strength or weakness behind U.S. equity market price trends, monitoring changes in breadth momentum, and identifying periods when participation is expanding or contracting.
New Highs/Lows Market Breadth measures the difference between the number of securities making new highs and new lows across several major U.S. indices and exchanges.
The core calculation is:
Net Breadth = New Highs − New Lows
Positive readings indicate that new highs are outnumbering new lows, while negative readings indicate that new lows are dominating. This provides a view of participation beneath the surface of the market and can help identify strengthening or deteriorating internal conditions that may not be obvious from price alone.
Market Universes
The indicator supports multiple breadth universes from a single dropdown:
Indices
- Nasdaq Composite
- Nasdaq 100
- S&P 500
Exchanges
- NYSE
- AMEX
- Nasdaq
- NYSE + AMEX + Nasdaq combined
The combined exchange option sums the new-high and new-low counts from all three exchanges before calculating Net Breadth, providing a broader measure of U.S. exchange-level participation.
Lookback Periods
Breadth can be evaluated using:
- 1 Month
- 3 Months
- 6 Months
- 52 Weeks
These selections refer to the lookback used to define a new high or new low, not the chart timeframe. For example, the 1 Month setting measures securities making new one-month highs and lows during the applicable trading session.
Shorter lookbacks generally respond more quickly to changes in participation, while longer lookbacks provide a broader view of intermediate- and long-term market strength or weakness.
Breadth Display
By default, the indicator plots Net New Highs/Lows as a column histogram around the zero line.
The entire Highs/Lows histogram can be disabled independently. This allows the indicator pane to display only the moving average, background condition, or other enabled components.
An optional Display Highs and Lows Separately setting replaces the net histogram with separate positive columns for new highs and negative columns for new lows. This makes it easier to see whether changes in Net Breadth are being driven by expanding highs, expanding lows, or both.
Moving Average
An optional moving average can be applied directly to Net New Highs/Lows to smooth short-term fluctuations and make changes in breadth direction easier to identify.
Available moving average types include:
- SMA
- EMA
- WMA
- RMA
Length, line width, and color are customizable.
The moving average can also be colored according to its slope:
- Rising MA = user-defined rising color
- Falling MA = user-defined falling color
- Flat MA = default MA color
Slope coloring focuses on whether breadth momentum is improving or deteriorating rather than simply whether breadth is above or below zero.
For example, Net Breadth can remain negative while its moving average begins rising. This indicates that internal conditions are improving even though new lows may still exceed new highs. Conversely, a falling moving average above zero can indicate weakening participation before Net Breadth becomes negative.
Background Breadth Streaks
An optional background highlight identifies sustained periods of positive or negative Net Breadth.
The number of consecutive bars required to activate the background is user-defined, with 3 bars as the default.
Once the selected threshold is reached:
- Consecutive positive Net Breadth bars activate the positive background color.
- Consecutive negative Net Breadth bars activate the negative background color.
- The background remains active while the qualifying streak continues.
This feature is designed to distinguish persistent breadth conditions from isolated positive or negative readings.
Highs/Lows Table
An optional table displays the current number of securities making Highs and Lows for the selected market universe and lookback period.
This provides the underlying counts behind the Net Breadth calculation without requiring the Highs/Lows histogram to remain visible.
Confirmed Bars and Repainting
Repaint is disabled by default.
With Repaint disabled, the indicator displays only confirmed chart bars. This applies to the breadth plots, moving average, background conditions, and table updates.
Enabling Repaint allows the current unconfirmed chart bar to update as incoming data changes. Values displayed on an open bar can therefore change until that bar is confirmed.
Usage and Limitations
- Use a standard 1-day chart for the intended calculation. The underlying TradingView New High/New Low market-statistics series used by this indicator are daily-session breadth data. The indicator requests those series using the chart's current timeframe, so 1D is the recommended and intended chart timeframe.
- Intraday timeframes are not recommended. The source breadth series are based on daily market statistics rather than true intraday New High/New Low counts. Depending on the selected source and data availability, intraday charts may show unavailable, repeated, incomplete, or otherwise misleading values.
- Weekly and monthly charts change the meaning of the display. Because the script requests the breadth source at the chart timeframe, using a weekly or monthly chart does not produce the same bar-by-bar series as a daily chart. Moving-average length and consecutive-background settings will also operate on weekly or monthly bars rather than trading days. Use 1D when you want the indicator to behave as designed.
- Use a time-based chart rather than synthetic/non-time-based chart types. Standard candles, bars, or lines on a daily timeframe provide the clearest alignment with the daily breadth source data. Renko, Range, Kagi, Point & Figure, and similar synthetic chart types can distort the relationship between chart bars and daily breadth observations.
- Repaint should normally remain disabled for confirmed analysis. Enabling it allows the current unconfirmed chart bar to change before closing. Historical bars remain confirmed, but the most recent open bar should not be treated as final.
- Data availability is dependent on TradingView's underlying market-statistics symbols. Historical coverage may vary by index, exchange, and breadth lookback, and missing source data cannot be reconstructed by the indicator.
Credit: This indicator is based on the open-source Net New Highs/Lows script by Fred6724, with substantial modifications and additional functionality.
สคริปต์แบบโอเพนซอร์ส
ด้วยเจตนารมณ์หลักของ TradingView ผู้สร้างสคริปต์นี้ได้ทำให้เป็นโอเพนซอร์ส เพื่อให้เทรดเดอร์สามารถตรวจสอบและยืนยันฟังก์ชันการทำงานของมันได้ ขอชื่นชมผู้เขียน! แม้ว่าคุณจะใช้งานได้ฟรี แต่โปรดจำไว้ว่าการเผยแพร่โค้ดซ้ำจะต้องเป็นไปตาม กฎระเบียบการใช้งาน ของเรา
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมใน ข้อกำหนดการใช้งาน
สคริปต์แบบโอเพนซอร์ส
ด้วยเจตนารมณ์หลักของ TradingView ผู้สร้างสคริปต์นี้ได้ทำให้เป็นโอเพนซอร์ส เพื่อให้เทรดเดอร์สามารถตรวจสอบและยืนยันฟังก์ชันการทำงานของมันได้ ขอชื่นชมผู้เขียน! แม้ว่าคุณจะใช้งานได้ฟรี แต่โปรดจำไว้ว่าการเผยแพร่โค้ดซ้ำจะต้องเป็นไปตาม กฎระเบียบการใช้งาน ของเรา
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมใน ข้อกำหนดการใช้งาน