Published Scans

Below is a collection of advanced scans that have been published in books, magazines or websites over the years. StockCharts members can run these scans by copying and pasting them from this page into our Advanced Scan Workbench.

Here are a few examples of commonly-used clauses that you may want to add to define your scan universe:

and [country = us]   (or 'canada' or 'uk' or 'india' )
and [exchange = nyse]   (or 'nasdaq' or 'tse' or 'lse' or 'nse')
and [SMA(20,close)> 1.00]  (or a price threshold to suit you)
and [SMA(20,volume)> 100000]  (or a volume threshold to suit you)
and [group is etf]  (or 'dow30' or 'sp500')
and [optionable is true]  (limit to stocks that trade options)

Note: StockCharts.com makes no claims about the effectiveness of these scans for trading purposes. These scans should only be used for educational purposes, as a way for you to develop your own personal trading strategy.


"Key Reversal Day" Scan

A very old pattern for sellers with several variations. We present three of the most common variations in this scan.

  [type = stock]
  and [today's high > yesterday's high]
  and [today's close < yesterday's close]

  ## Variation 1 - close stays inside yesterday's range
  # and [today's close > yesterday's low]

  ## Variation 2 - close is below yesterday's range
  # and [today's close < yesterday's low]

"MACD Divergence" Scan

This scan is based on John Murphy's discussion of MACD divergences in his book The Visual Investor. In the book, John points out that a positive divergence between the MACD and the MACD Histogram is one of the first signs that a stock is starting to move higher. This scan looks for stocks where the MACD is below the zero line and has dropped at least 5% in the last 10 days, while the MACD Histogram has risen at least 5% and crossed above the zero line during the same timeframe.

  [type = stock]
  and [MACD Line(12,26,9) < 0]
  and [MACD Line(12,26,9) < 10 days ago MACD Line(12,26,9) - AbsVal(10 days ago MACD Line(12,26,9) * 0.05)]
  and [MACD Hist(12,26,9) > 0] and [10 days ago MACD Hist(12,26,9) < 0]
  and [MACD Hist(12,26,9) > 10 days ago MACD Hist(12,26,9) + AbsVal(10 days ago MACD Hist(12,26,9) * 0.05)]

Gary Smith's "Classic Long" Scan

This scan is based on the stock picking methodology used by Gary B. Smith (of TheStreet.com fame). Gary looks for stocks that have moved significantly higher on strong volume and that closed higher than their previous five closes. Volume should have increased at by at least 50% and the stock's closing price should have increased by at least $1.00 (4% in our version of the scan) but no more than 6% on that move.

  [type = stock]
  and [today's SMA(50,volume) > 50000]
  and [today's volume >= today's SMA(50,volume) * 1.5]
  and [today's close > yesterday's close * 1.04]
  and [today's close < yesterday's close * 1.06]
  and [today's close > yesterday's max(5,close)]

Gary Smith's "Classic Short" Scan

For short candidates, Gary scans for stocks that have moved significantly lower on very strong volume and that closed lower than their previous five closes. Volume should have increased at by at least 100% and the stock's closing price should have decreased by at least $1.00 (4% in our version of the scan).

  [type = stock]
  and [today's SMA(50,volume) > 50000]
  and [today's volume >= today's SMA(50,volume) * 2]
  and [today's close < yesterday's close * 0.96]
  and [today's close < yesterday's min(5,close)]

Tom DeMark's "Sequential" Entry Scan

Stocks with 9 consecutive days with the close greater than the close four days earlier.

  # Thomas DeMark's "Sequential" Buy Setup
  #  from "The New Science of Technical Analysis" p.140-145

  [type = stock]
  and [today's close < 4 days ago close]
  and [1 days ago close < 5 days ago close]
  and [2 days ago close < 6 days ago close]
  and [3 days ago close < 7 days ago close]
  and [4 days ago close < 8 days ago close]
  and [5 days ago close < 9 days ago close]
  and [6 days ago close < 10 days ago close]
  and [7 days ago close < 11 days ago close]
  and [8 days ago close < 12 days ago close]
  and [9 days ago close <= 13 days ago close]

  # Uncomment the following line to find _new_ signals.
  # and [10 days ago close > 14 days ago close]

Richard Estes' "Buy Buy Buy" Scan

Richard Estes' “Buy Buy Buy” scan looks for stocks that have three important bullish signals:

  • They've risen 5% over the last 5 days.

  • They've closed 15% higher than the highest closing price during the past year.

  • Their volume is above its 60-day moving average.

  [type = stock]
  and [today's close > 5 days ago close * 1.05]
  and [today's close > yesterday's max(200,close) * 1.15]
  and [today's volume > today's SMA(60,volume)]

Roger Cole's "Three Rally Days" Scan

Roger Cole's scan looks for three consecutive “Rally Days” with increasing volume on each day. A “Rally Day” is a day in which the high and the low are both higher than the previous day.

  [type = stock]
  and [today's high > yesterday's high]
  and [today's low >= yesterday's low]
  and [yesterday's high > 2 days ago high]
  and [yesterday's low > 2 days ago low]
  and [2 days ago high > 3 days ago high]
  and [2 days ago low > 3 days ago low]
  and [today's volume > yesterday's volume]
  and [yesterday's volume > 2 days ago volume]
  and [2 days ago volume > 3 days ago volume]

Toby Crabel's "ID/NR4 Day" Scan

An “NR4 Day” is one where the range (high - low) is narrower than it has been for the previous 3 days. An “ID/NR4” is an NR4 pattern with the additional condition that the last day be an “Inside Day” - a day whose range is completely within the previous day's range.

  [type = stock]
  and [today's range < yesterday's min(3,range)]
  and [today's high < yesterday's high]
  and [today's low > yesterday's low]

Toby Crabel's "Four-Day Buy Pattern" Scan

Described in the November 1989 issue of Stocks & Commodities magazine. The setup is a higher open after an “Inside Day” that was itself preceded by a higher high. In the article, this pattern was described by Crabel as “very rare” and “profitable 91% of the time when traded without stops.”

  [type = stock]
  and [2 days ago high < 3 days ago high]
  and [yesterday's high < 2 days ago high]
  and [yesterday's low > 2 days ago low]
  and [today's open > yesterday's close]

Jeff Cooper's Expansion Breakout

This scan finds stocks that are setting new 45-day highs with a range (high-low) that is the largest it's been in the past 10 days.

  [type = stock] 
  and [today's high > yesterday's max(44, high)]
  and [today's range >=  yesterday's max(9, range)]

Jeff Cooper's "Lizard Tail" Buy Scan

This scan finds short-term reversal opportunities with “a target of 5% in 5 days.” Looks for stocks setting a 10-day low and yet having an open and a close within the top 25% of today's range. Named after one of Jeff Cooper's favorite reversal patterns.

  [type = stock] 
  and [today's close > today's open]
  and [today's low < yesterday's min(9, low)]
  and [today's open >= [[today's range*0.75]+today's low]]
  and [today's close >= [[today's range*0.75]+today's low]]

Linda Raschke's "Holy Grail" Long Scan

This is a “buy the dips” scan from Linda Raschke's book Street Smarts. The scan uses Welles Wilder's ADX indicator to find stocks that have dipped in price while still remaining in a strong uptrend.

  [type = stock]
  and [today's adx line(14) > 30]
  and [5 days ago adx line(14) > 30]
  and [4 days ago adx line(14) > 5 days ago adx line(14)]
  and [today's low <= today's ema(20, close)]
  and [yesterday's low > yesterday's ema(20, close)]

Larry Connors' "RSI(2)" Scan

This is a “mean-reversion trading strategy designed to buy or sell securities after a corrective period.” See our ChartSchool article on this trading strategy for more information.

  [type = stock]
  and [today's SMA(20,volume) > 40000]
  and [today's SMA(60,close) > 20]
  and [today's close > today's SMA(200,close)]
  and [5 x today's rsi(2)]

Stochastic Pop and Drop

Developed by Jake Bernstein, modified by David Steckler and tweaked at StockCharts, here is a scan that uses the Stochastic Oscillator to idenfity price pops and price drops.

Bullish Stochastic Pop

The bullish Stochastic Pop looks for stocks with a long-term Stochastic Oscillator above 50, an ADX value below 20 and a short-term Stochastic Oscillator surge above 80.

  [type = stock]
  and [SMA(20,volume) > 40000]
  and [SMA(60,close) > 20]
  and [Slow Stoch %K(70,3) > 50] 
  and [ADX Line(14) < 20]
  and [today's Slow Stoch %K(14,3) x 80]

Bearish Stochastic Pop

The bearish Stochastic Pop looks for stocks with a long-term Stochastic Oscillator below 50, an ADX value below 20 and a short-term Stochastic Oscillator plunge below 20.

  [type = stock]
  and [SMA(20,volume) > 40000]
  and [SMA(60,close) > 20]
  and [Slow Stoch %K(70,3) < 50] 
  and [ADX Line(14) < 20]
  and [20 x today's Slow Stoch %K(14,3)]

Pocket Pivot Setup

This scan was developed by Chris Kacher and is explained further on his website, Virtue of Selfish Investing.

  // Only scan leading stocks
  [type = stock] 
  and [SMA(40,volume) > 500000]
  and [SMA(40,close) > 10]
  and [close > SMA(200,close)]
  
  // Today's volume should be larger than the highest down volume day over the prior 10 days
  and [volume > 1 days ago volume * 1 days ago ROC(1) / AbsVal(1 days ago ROC(1)) * -1]
  and [volume > 2 days ago volume * 2 days ago ROC(1) / AbsVal(2 days ago ROC(1)) * -1]
  and [volume > 3 days ago volume * 3 days ago ROC(1) / AbsVal(3 days ago ROC(1)) * -1]
  and [volume > 4 days ago volume * 4 days ago ROC(1) / AbsVal(4 days ago ROC(1)) * -1]
  and [volume > 5 days ago volume * 5 days ago ROC(1) / AbsVal(5 days ago ROC(1)) * -1]
  and [volume > 6 days ago volume * 6 days ago ROC(1) / AbsVal(6 days ago ROC(1)) * -1]
  and [volume > 7 days ago volume * 7 days ago ROC(1) / AbsVal(7 days ago ROC(1)) * -1]
  and [volume > 8 days ago volume * 8 days ago ROC(1) / AbsVal(8 days ago ROC(1)) * -1]
  and [volume > 9 days ago volume * 9 days ago ROC(1) / AbsVal(9 days ago ROC(1)) * -1]
  and [volume > 10 days ago volume*10 days ago ROC(1) / AbsVal(10 days ago ROC(1))* -1]
  
  // Prices just moved above 10 or 50 day SMA
  and [[close x SMA(10,close)] or [close x SMA(50,close)]]

Once you've run this scan, you'll need to visually inspect the candidates. You're looking for either an early buy point within a consolidation or, alternatively, a consolidation buy point for a leading stock already firmly entrenched in a strong uptrend. (This is very easy to do visually, but would be very tough to program into the scan.)

Last updated

Was this helpful?