Channel/Consolidation Examples

StockFetcher offers a number of pre-built channel screens. These include:

  • Donchian Channels
  • Keltner Channels
  • Linear Regression Channels
  • Trading in a "Channel"

    While these are often all thats needed to find stocks trading in a channel or consolidation phase, it is also useful to construct channel/consolidations screens from scratch.

    Before doing this you'll need to ask yourself some of these questions:
    - How long is the channel?
    - How far apart is the upper and lower channel?
    - Is the channel defined by closing prices or the high and low values of each trading day?
    - Is the channel sloping in some direction or is it horizontal.
    - Are you looking for a breakout condition?

    Starting off with a simple scenario, say the channel you're looking for is defined as follows:
    - Channel based on 30 trading days
    - the Upper/lower channel is defined by the daily high and low values
    - The top of the channel is no more than 5 percent above the lower channel
    - Horizontal trading
    - No breakout condition

    First define the top and bottom of the channel by the 30 day low and high:

    set{channeltop,high 30 day high}
    set{channelbottom,low 30 day low}


    Now define the difference of today's high and the high 30 days ago:

    set{tchg, channeltop minus channeltop 30 days ago }


    Do the same for the low:

    set{bchg, channelbottom minus channelbottom 30 days ago}


    Now calculate the absolute difference (ie we don't care if it's above or below at the moment:

    set{atchg, abs(tchg)}
    set{abchg, abs(bchg)}


    Next, determine the ratio of the difference. In other words, a small value of say 0.01 (or 1 percent) indicates a small change.


    set{channeltopchange, atchg / channeltop}
    set{channelbottomchange, atchg / channeltop}


    Now to the actual screen. First, limit to stocks closing above 5 dollars and draw the "channel" lines on the price plot.

    show stocks where close above 5
    and draw channeltop on plot price
    and draw channelbottom on plot price


    Now limit the distance of the top and bottom of the channel to less than 5 percent (read: top is lees than 5 percent above the bottom).


    and channeltop < 5 percent above channelbottom


    Now define the horizontal attribute of the channel by indicating that the top as changed less than .5 % from where it was 30 days ago. and the same goes for the bottom


    and channeltopchange < 0.005
    and channelbottomchange < 0.005



    All combined:



    set{channeltop,high 30 day high}
    set{channelbottom,low 30 day low}
    set{tchg, channeltop minus channeltop 30 days ago }
    set{bchg, channelbottom minus channelbottom 30 days ago}
    set{atchg, abs(tchg)}
    set{abchg, abs(bchg)}
    set{channeltopchange, atchg / channeltop}
    set{channelbottomchange, atchg / channeltop}
    show stocks where close above 5
    and draw channeltop on plot price
    and draw channelbottom on plot price
    and channeltop < 5 percent above channelbottom
    and channeltopchange < 0.005
    and channelbottomchange < 0.005






    Break out!
    Now say you're looking for a case where the price breaks out from a channel. Taking the example above and reuse the same setup statements:


    set{channeltop,high 30 day high}
    set{channelbottom,low 30 day low}
    set{tchg, channeltop minus channeltop 30 days ago }
    set{bchg, channelbottom minus channelbottom 30 days ago}
    set{atchg, abs(tchg)}
    set{abchg, abs(bchg)}
    set{channeltopchange, atchg / channeltop}
    set{channelbottomchange, atchg / channeltop}
    show stocks where close above 5
    and draw channeltop on plot price
    and draw channelbottom on plot price


    Next, change your channel conditions to the prior day (since we'll be looking for a breakout on the latest day:

    and channeltop 1 day ago < 5 percent above channelbottom 1 day ago
    and channeltopchange 1 day ago < 0.005
    and channelbottomchange 1 day ago < 0.005


    Finally, find stocks where the latest closing value is above yesterday's channel top:


    and close above channeltop 1 day ago


    All together:


    set{channeltop,high 30 day high}
    set{channelbottom,low 30 day low}
    set{tchg, channeltop minus channeltop 30 days ago }
    set{bchg, channelbottom minus channelbottom 30 days ago}
    set{atchg, abs(tchg)}
    set{abchg, abs(bchg)}
    set{channeltopchange, atchg / channeltop}
    set{channelbottomchange, atchg / channeltop}
    show stocks where close above 5
    and draw channeltop on plot price
    and draw channelbottom on plot price
    and channeltop 1 day ago < 5 percent above channelbottom 1 day ago
    and channeltopchange 1 day ago < 0.005
    and channelbottomchange 1 day ago < 0.005
    and close above channeltop 1 day ago












    Still need help? 


  • *** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.


    Copyright 2016 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
    EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus