Breadth Thrust Indicator

Chuck

Moderator
Staff member
b2ixL7F.png
Developed by Dr. Martin Zweig, the Breadth Thrust Indicator measures market momentum. The Breadth Thrust is calculated by dividing a 10-day exponential moving average of the number of advancing issues, by the number of advancing plus declining issues.

A "Breadth Thrust" occurs when, during a 10-day period, the Breadth Thrust indicator rises from below 40% to above 61.5%. A "Thrust" indicates that the stock market has rapidly changed from an oversold condition to one of strength, but has not yet become overbought. According to Dr. Zweig, there have only been fourteen Breadth Thrusts since 1945. The average gain following these fourteen Thrusts was 24.6% in an average time-frame of eleven months. Dr. Zweig also points out that most bull markets begin with a Breadth Thrust.

A weekly chart is best for this indicator.

Code:
# Breadth Thrust Indicator: number of advancing issues on an exchange, such as the New York Stock Exchange (NYSE), divided by the total number of issues (advancing + declining) on it, and generating a 10-day moving average of this percentage.
# Mobius
# V01

declare lower;

input n = 10;
input OverSold = .4;
input ThrustLine = .618;

def adv = if isNaN(close("$ADVSP"))
          then adv[1]
          else close("$ADVSP");
def dec = if isNaN(close("$DECLSP"))
          then dec[1]
          else close("$DECLSP");
def r = AbsValue(adv / (adv + dec));
plot Avg = if isNaN(close)
           then double.nan
           else Average(r, n);
plot OS = if isNaN(close) then double.nan else OverSold;
plot Thrust = if isNaN(close) then double.nan else ThrustLine;
def Count = if Avg crosses above OS
            then 1
            else if between(avg, OS, Thrust)
            then Count[1] + 1
            else Count[1];
addVerticalLine(Avg crosses above OS,
               "Start", Color.Yellow,
                Curve.Firm);
AddverTicalLine(Avg Crosses above Thrust and Count <= n,
               "Count = " + Count,
                if Count < n
                then color.Green
                else Color.Red,
                Curve.Firm);
# End Code Breadth Thrust Indicator
 
Last edited:
Top