LogoLogo
Return to StockChartsCharts & ToolsArticlesChartSchoolYour Dashboard
  • Support Center
  • Finding Your Way Around
    • Intro to StockCharts
    • Navigating the Website
    • Logging In for the First Time
    • Members Dashboard
  • data and ticker symbols
    • Data Availability
      • Markets We Cover
      • Real-Time Data
        • BATS Real-Time Data
      • Extended Hours Data
      • Data Bar Periods
      • Price Data Adjustments
      • Historical Data
        • How Do I Download Data to Excel?
        • StockCharts Historical Sector Data
    • Ticker Symbols
      • Ticker Symbol Conventions
      • How to Find a Ticker Symbol
      • Using the Index Catalog
      • Ratio and Difference Symbols
      • Pseudo-Symbols
      • User-Defined Indexes
  • Charts & Tools
    • SharpCharts
      • SharpCharts Workbench
        • Creating and Viewing SharpCharts
        • Printing and Sharing SharpCharts
        • Editing SharpCharts
          • Using the SharpCharts Interactive Date Slider
          • Charting Market Breadth Indicators
          • SharpCharts Parameter Reference
        • Saving SharpCharts
        • Additional SharpCharts Workbench Tools
          • Viewing ChartLists on the SharpCharts Workbench
          • Viewing Alerts on the SharpCharts Workbench
          • Viewing Options Data on the SharpCharts Workbench
      • ChartStyles & StyleButtons
        • Working with ChartStyles and StyleButtons
        • Using the ChartStyle Library
        • Tool-Specific ChartStyles
      • ChartNotes
        • Annotating SharpCharts with ChartNotes
        • ChartNotes Annotation Tool Reference
          • Line Tools
          • Text Annotation Tools
          • Shape Tools
          • Line Study Tools
      • ChartLists
        • Summary View
        • ChartList View
        • ChartBook View
        • Performance View
        • Correlation View
        • Edit View
        • ChartList Reports
        • ChartPacks
      • Classic SharpCharts Workbench
      • StockCharts Mobile App
    • StockChartsACP
      • Creating ACP Charts
      • Multi-Chart Layouts in StockChartsACP
      • Viewing ACP Charts
      • Printing and Sharing ACP Charts
      • Editing ACP Charts
      • Applying Chart Templates to ACP Charts
      • Annotating ACP Charts
        • StockChartsACP Line Tools
        • StockChartsACP Text Annotation Tools
        • StockChartACP Shape Tools
        • StockChartsACP Line Study Tools
      • Working with Saved ACP Charts
      • StockChartsACP Plug-Ins
        • Chaikin Power Gauge Plug-In
        • GoNoGo Charts Plug-In
        • Larry Williams Stock Trading Starter Pack Plug-In
        • MarketGauge Plug-Ins
        • Simpler Trading Moxie Indicator Plug-In
        • Trading Simplified by Dave Landry
        • Trend Investor Pro Indicator Edge
    • Other Charting Tools
      • P&F Charts
      • GalleryView
      • Seasonality Charts
      • CandleGlance Charts
      • MarketCarpets
      • Interactive PerfCharts
      • RRG Charts
      • Dynamic Yield Curve
    • Research Tools
      • Symbol Summary
      • Options Summary
        • OptionsPlay Explorer
      • OptionsPlay Strategy Center
      • Market Summary
      • Sector Summary
      • Industry Summary
      • Index Members
      • StockCharts Technical Rank (SCTR) Reports
      • Earnings Calendar
      • Cryptocurrency Summary
    • Reports and Galleries
      • The Ticker Cloud
      • Historical Chart Gallery
      • Predefined Scan Results
        • Customizing Predefined Scans
      • Predefined Technical Alerts
      • DecisionPoint Chart Gallery
      • Public ChartLists
        • Becoming a Public ChartList Author
      • SharpCharts Voyeur
  • Scanning & Alerts
    • Technical Scans
      • Scanning for Stocks: The Basics
      • Advanced Scan Workbench
      • Standard Scan Workbench
      • Working With Scan Results
    • Scan Writing Resource Center
      • Planning Scans
      • Writing Scans
      • Scanning Tutorials
        • Scan Workbench Tutorial
        • Scan Results Tutorial 1
        • Scan Results Tutorial 2
        • Writing Scans Tutorial 1
        • Writing Scans Tutorial 2
        • Creating Scan Templates Tutorial
        • Troubleshooting Scans Tutorial 1
        • Troubleshooting Scans Tutorial 2
        • Troubleshooting Scans Tutorial 3
      • Scanning Case Studies
        • Scanning for Crossovers
        • Scanning for "Near Crosses"
        • Scanning for Divergences
        • Scanning for Relative Strength
        • Scanning for Consolidation and Breakouts
        • Scanning for Selling Climaxes
        • Scanning for SCTRs
        • Scanning Ichimoku Clouds
        • Scanning for P&F Chart Patterns
        • Scanning Your ChartLists
        • Scanning for an Overlay of an Indicator
        • Writing Min/Max Scans
        • Writing Percent Change Scans
        • Scanning Over a Range of Dates
        • Writing Scans With OR Clauses
      • Troubleshooting Scans
        • Troubleshooting Equality Scans
      • Getting Help With Scans
      • Scan Syntax Reference
        • Scan Syntax: Ticker Properties
        • Scan Syntax: Price, Volume, and SCTRs
        • Scan Syntax: Technical Indicators
        • Scan Syntax: Technical Functions
        • Scan Syntax: Predefined Patterns
        • Scan Syntax: Groups
      • Advanced Scan Library
        • Sample Scans
        • Predefined Scans
        • Published Scans
        • User-Contributed Scans
        • Gord Greer's Scan Building Blocks
    • Technical Alerts
      • Technical Alert Workbench
      • Your Alerts
  • Your Account
    • Subscribing to StockCharts
    • Service Levels & Data Plans
    • Login & Passwords
    • Your Account Settings
    • Managing Your Subscription
      • Cancelling Your Account
    • StockCharts Add-Ons
      • OptionsPlay Add-On
  • Learning More
    • Market Commentary
      • Blogs
      • ChartWatchers Newsletter
      • StockCharts TV
    • Educational Resources
    • Frequently Asked Questions (FAQs)
    • Step-By-Step Instructions
      • SharpCharts How-Tos
        • SharpCharts Workbench How-Tos
          • How to Print a SharpChart
          • How to Share a SharpChart on Social Media
          • How to Email a SharpChart
          • How to Insert a SharpChart in a Document or Presentation
          • How to View Indicator and Overlay Values for Specific Days
          • How to Save a SharpChart
        • SharpChart Editing How-Tos
          • How To Use The Interactive Date Slider
          • How to Display More than One Symbol on a SharpChart
          • How to Create Overlaid Charts
          • How to Add an Overlay to an Indicator
          • How to Add a Moving Average to the Volume Bars on a Chart
        • ChartNotes How-Tos
          • How to Pin an Annotation on a SharpChart
          • How to Save a Chart from a Blog Article with the Author's Annotations
        • ChartList How-Tos
          • How to Use the ChartList Summary
          • How to Search for a Saved Chart in Your ChartLists
          • How to Share a ChartList with Another Member
        • ChartList Editing How-Tos
          • How to Create a New ChartList
          • How to Add Predefined Symbol Groups to a New ChartList
          • How to Add Predefined Groups into an Existing ChartList
          • How to Upload Symbols to a ChartList from a Spreadsheet
          • How to Rearrange Charts in a ChartList
          • How to Delete a Saved Chart from a ChartList
      • StockChartsACP How-Tos
        • Setting Period, Type And, Range
        • Chart Attributes
          • Part One
          • Part Two
        • Sharing And Printing
        • Saving Charts
          • Saving A New Chart
          • Saving An Existing Chart As New
        • Chart Templates
          • Applying Predefined Chart Templates
          • Saving A New Chart Template
        • Using ChartLists
          • Creating A New ChartList
        • Chart Layouts
          • Accessing Chart Layouts
          • Creating A New Custom Layout
        • Additional Tools
          • Accessing Research Tools
    • Troubleshooting
      • Unable to Log In
      • Website Slow or Down
        • Using OpenDNS
      • Website Functionality Issues
    • Customer Support
    • Policies & Limitations
      • Terms of Service
      • Privacy Statement
      • No Service Level Guarantees
      • Data Policies
      • Usage Limitations
      • Reprint Permission Policies
      • Billing Policies
      • Membership Policies
      • Public ChartList Policies
      • Customer Support Policies
Powered by GitBook
LogoLogo

ON STOCKCHARTS

  • Charts & Tools
  • Articles
  • StockCharts TV
  • ChartSchool

MEMBERS

  • Your Dashboard
  • Your ChartLists
  • Advanced Scans
  • Technical Alerts

HELP

  • Support Center
  • FAQs
  • Contact Us
  • Pricing

COMPANY

  • About Us
  • What's New
  • Careers
  • StockCharts Store

© StockCharts.com, Inc. All Rights Reserved.

On this page
  • Gord's Building Blocks
  • General Layout
  • Universe Definition
  • Conditions and Signals
  • Conclusions
  • Additional Resources

Was this helpful?

Export as PDF
  1. Scanning & Alerts
  2. Scan Writing Resource Center
  3. Advanced Scan Library

Gord Greer's Scan Building Blocks

PreviousUser-Contributed ScansNextTechnical Alerts

Last updated 8 months ago

Was this helpful?

Gord Greer is a long-time StockCharts.com member and an experienced Scan Engine user who has been helping people with their scanning questions for many years. In this page, we present a set of scan building blocks that he uses to create new scans.

Scan building blocks are just what they sound like—little snippets of scan syntax that you can plug into new scans as you build them. If you have a standard set of scan clauses that you use over and over in many scans, you can even create a “scan template” with your own building blocks and use it as a starting point for new scans you create.

Learn More.

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


Gord's Building Blocks

General Layout

This building block contains multiple clauses connected with “and” and “or” operators to help define the general layout of a scan. Of course, you would need to insert your actual scan clauses into this framework when you use it to build your own scan.

// Sample scan layout
[type = stock]
and [1st criteria]
and [2nd criteria]
and [ [3rd criteria] or [4th criteria] ]

Universe Definition

Most people use the same one or two universe definitions over and over again, so these building blocks are great candidates for a scan template. Universe-defining clauses can cover everything from security type to country to exchange to even simple liquidity requirements using average price and/or volume. Here are Gord's building blocks that fall in this category. (Your building blocks should define the universe of securities that you are interested in trading.)

Type

[type = stock]
[type = index]
[type = fund]

Country

and [country = us]
and [country = canada]

Exchange

and [exchange = NASDAQ]
and [exchange = NYSE]
and [exchange = AMEX]
and [exchange = PINK]
and [exchange = TSE]
and [exchange = CDNX]

Group

// S&P 500
and [group is SP500]

// S&P 1500
and [ [group is SP500] or [group is SP400] or [group is SP600] ]

ChartLists

// "Watch list" ChartLists grouped together with OR clauses
and [ 
  [chartlist is 13] 
  or [chartlist is 24]
  or [chartlist is 63]
  or [chartlist is 67]
  or [chartlist is 71]
]

Liquidity

// Liquidity: average dollars traded per day > $500,000
and [SMA(50,close) * SMA(50,volume) > 500000] 

Note: Price and volume criteria can be added in separate clauses. In this building block, they are combined to scan for an average liquidity (dollars traded per day) of more than $500,000.

Scan Development Clauses

// Price Bracket: $10-$20 (used during scan development)
and [close >= 10] and [close <= 20]

Note: It is often helpful to artificially limit the scan results while developing a scan. Gord likes to use a price bracket like the above building block to temporarily limit the results returned by the scan. These temporary development clauses will need to be removed once you have finished developing the scan.

Conditions and Signals

While conditions and signals vary from scan to scan, some criteria are used so frequently in scans that it is worthwhile to create a building block. Here are Gord's building blocks for his most commonly-used conditions and signals. You may want to change the parameters used in these building blocks, or even change entire scan clauses, to better suit your trading style.

Uptrends and Downtrends

The scan below finds securities where the RSI(14) values for the last 75 days are above 40.

// Uptrend: RSI Above 40
and [min(75,RSI(14)) >= 40.0]

The scan below finds securities where the RSI(14) values for the last 75 days are all below 60.

// Downtrend:  RSI Below 60
and [max(75,RSI(14)) <= 60.0]

The scan below finds securities where the MACD values for the last 130 days (approx. 6 months) are all above zero.

// Uptrend: MACD Positive for 6 Months
and [min(130, MACD Line(12,26,9)) > 0.0]

Convergence/Consolidation

The scan below finds securities where the 20-day, 100-day, and 200-day simple moving averages (SMAs) are all within +/-1% of the 50-day SMA.

// Long-term SMA convergence
and [SMA(20 ,close) >= SMA(50,close) * 0.99] 
and [SMA(20 ,close) <= SMA(50,close) * 1.01] 
and [SMA(100,close) >= SMA(50,close) * 0.99] 
and [SMA(100,close) <= SMA(50,close) * 1.01] 
and [SMA(200,close) >= SMA(50,close) * 0.99] 
and [SMA(200,close) <= SMA(50,close) * 1.01] 

The scan below finds securities where the 3-day, 10-day and 40-day simple moving averages (SMAs) are all within +/-1% of the 20-day SMA.

// Short-term SMA convergence
and [SMA(3,close) >= SMA(20,close) * 0.99]
and [SMA(3,close) <= SMA(20,close) * 1.01]
and [SMA(10,close) >= SMA(20,close) * 0.99]
and [SMA(10,close) <= SMA(20,close) * 1.01]
and [SMA(40,close) >= SMA(20,close) * 0.99]
and [SMA(40,close) <= SMA(20,close) * 1.01]

The scan below finds securities where the maximum and minimum close for the last 20 days are within +/-2% of today's 20-day simple moving average (SMA).

// Intermediate-term price consolidation
and [max(20,close) <= SMA(20,close) * 1.02] 
and [min(20,close) >= SMA(20,close) * 0.98]

The scan below finds securities where the maximum high and minimum low for the last 10 days are within +/-2% of today's 10-day simple moving average (SMA).

// Short-term price consolidation
and [max(10,high) <= SMA(10,close) * 1.02]
and [min(10,low) >= SMA(10,close) * 0.98]

The scan below finds securities where the maximum and minimum close for the last 20 days are within +/-3% of today's close.

// Price Channel Convergence
and [min(20,close) > close * 0.97] 
and [max(20,close) < close * 1.03]

Signals or Other Unusual Activity

The first two clauses scan for consolidation, as the maximum and minimum close for the 30 days prior to yesterday must be within +/-3% of yesterday's 20-day simple moving average (SMA). The remaining clauses scan for the breakout: today's close must be at least 5% above or below today's 20-day SMA.

// Consolidation Then Breakout
and [1 day ago max(30,close ) <= 1 day ago sma(20,close) * 1.03] 
and [1 day ago min(30,close ) >= 1 day ago sma(20,close) * .97] 
and [ [close > 1 day ago sma(20,close) * 1.05]
          or [close < 1 day ago sma(20,close) *0.95] ]

Note: The OR clause finds stocks that are breaking out in either direction, but you can modify this if you are only interested in bullish breakouts.

In the scan below, the use of the OR clause allows you to simultaneously scan for multiple different kinds of unusual activity that might be of interest, including sudden spikes in volume or price over the last couple of days.

// Scan Universe for Unusual Activity
and
[ [0 days ago volume > 1 day ago sma (60, volume)*1.25]
or [1 days ago volume > 2 days ago sma(60, volume)*1.25]
or [2 days ago volume > 3 days ago sma(60, volume)*1.25]
or [0 days ago close > 1 day ago close * 1.05]
or [1 days ago close > 2 day ago close * 1.05]
or [0 days ago high > 1 days ago close * 1.05]
or [1 days ago high > 2 days ago close * 1.05] ]

Note: This scan is ideal for scanning your watch lists or some other small universe of stocks.

Conclusions

Remember, these are just the scan building blocks that Gord uses. Your investment needs and trading style will be different than his, so use these as inspiration to develop your scan building blocks.

Once you've gathered your most-used building blocks, consider turning them into a scan “template” so you can quickly and easily access your building blocks whenever you create a new scan.

Additional Resources

Support Center Articles

Reference Guides

Note: Your ChartList numbers will be different, of course. Using OR clauses allows you to search multiple ChartLists for a single criterion. Learn more in our article in the Support Center.

Creating Your Own Scan Templates
Scanning Your ChartLists
Creating Your Scan Templates
Planning Scans
Writing Scans
Scan Syntax Reference