Published Scans

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

Important Note: For the sake of brevity, we are only adding "[type=stock]" to the top of each of these scans. There are several other commonly used "global filters" that people typically use at the top of their scans. These include any combination of the following:

and [country = us]   (or 'canada')
and [exchange = nyse]   (or 'nasdaq' or 'tsx' or 'pink' or 'venture')
and [sma(20,close) > 1.00]  (or whatever price threshold suits you)
and [sma(20,volume) > 100000]  (or whatever volume threshold suits you)
and [group is etf]  (to just scan ETFs)
and [optionable is true]  (to eliminate non-stocks)

See the Advanced Scan Workbench documentation for additional "global filters" that you might want to use.

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 [todays' close < yesterday's low]

Note: Remove either of the '#' characters to enable each of the variations. Do not enable both variations or you will get zero results since they are mutually exclusive.


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 (approximately 4%) 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 (approximately 4%).

[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 4 days earlier.

# Thomas DeMark's "Sequential" Buy Setup
#  from "The New Science of Technical Analysis" p.140-145
[type = stock]
and [todays 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 and their volume is above its 60-day moving average.

[type = stock]
and [today's sma(50,volume) > 50000]
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 one where 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]

Note: Cole's original scan ignored so-called Inside and Outside days. This version is stricter.


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]

Notes: This scan is meant to be run shortly after the market opens.


Jeff Cooper's Expansion Breakout

This scan finds stocks that are setting new 45-day highs with a range (high-low) that is the biggest 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

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." It 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 Conner's "RSI2" Scan

This is a "mean-reversion trading strategy designed to buy or sell securities after a corrective period." More info

[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 Berstein, modified by David Steckler and tweaked at StockCharts, here is a scan that uses the Stochastic Oscillator to idenfity price pops and price drops. 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 [today's sma(20,volume) > 40000]
and [today's 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]

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 [today's sma(20,volume) > 40000]
and [today's 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

Developed by Chris Kacher and explained on his website.

// Only scan leading stocks
[type = stock] and 
[sma(40,volume) > 500000] and
[sma(40,close) > 10] and
[close > sma(200,close)] and

// Today's volume should be larger than the highest down volume day over the prior 10 days
[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] and

// Prices just moved above 10 or 50 day SMA
[[close x sma(10,close)] or [close x sma(50,close)]]

Once you've run this scan, then you'll need to visually inspect the candidates. You're looking for either an early buy point within a consolidation or 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.)