StockFetcher Forums · Filter Exchange · Range Contraction/Expansion Filter<< 1 ... 3 4 5 6 7 ... 12 >>Post Follow-up
TheRumpledOne
6,411 posts
msg #46707
Ignore TheRumpledOne
8/31/2006 10:00:51 PM

How many columns?

And you guys say I have BELLS AND WHISTLES!! lol




alf44
2,025 posts
msg #46709
Ignore alf44
8/31/2006 10:50:21 PM

LOL !

They say that the true gift of a great artist is knowing when to stop painting !

Sadly, I haven't learned WHEN to "stop painting" !

:8^/


Regards,

alf44



Stocksight
33 posts
msg #46793
Ignore Stocksight
9/8/2006 5:09:36 AM

Just seeing these additions would be valuable:

* Gaps

* One Day Reversals

* Shark-32 (this is a tweak of the "Shark" that is currently included)

* ROC(2) Divergence



alf44
2,025 posts
msg #51872
Ignore alf44
modified
5/29/2007 11:27:31 PM

This is my current rendition of the Range Contraction/Expansion Filter.

This NEWEST Range Contraction/Expansion Filter, with a few NEW patterns added, NOW has...count'em...13...that's THIRTEEN different Contraction/Expansion patterns ! LOL

Actually, some of the "scanned for patterns"...Gaps, Dojis, ODRs (one day reversals) and ROC Divergence...are NOT true "Contraction/Expansion" Patterns...but I have included them into the mix of 13 "patterns".

I realize this scan will be practically useless to most who read this...and that is why I have been reluctant to even post it.

I knocked around the idea of trying to post a sort of..."how to" guide along with it...but...never really found the time OR the inclination.

So...here it is !

If anyone has questions...feel free to ask them...I will try to answer them as time permits.

Lastly, if you ARE NOT a premium StockFetcher sub...you prolly WON'T be able to see ALL the columns that the filter displays. I believe...counting the default columns...there are a total of 35 columns displayed !!! fwiw

ENJOY !!!

----------------------------------

Fetcher[/* NEW Range Contraction/Expansion Scan Filter */

/* Shark-32 Pattern (2 Consecutive Inside Days) */
set{IDhi_2, count(High 1 day ago is below High 2 days ago, 1)}
set{IDlo_2, count(Low 1 day ago is above Low 2 days ago, 1)}
set{IDhilo_2, IDhi_2 * IDlo_2}

set{IDhi_1, count(High is below High 1 day ago, 1)}
set{IDlo_1, count(Low is above Low 1 day ago, 1)}
set{IDhilo_1, IDhi_1 * IDlo_1}

set{ID21, IDhilo_2 * IDhilo_1}

/* IDs (Inside Days -> H/L Range inside H/L Range 1 day ago) */
set{IDhi, count(High below High 1 day ago, 1)}
set{IDlo, count(Low above Low 1 day ago, 1)}
set{ID, IDhi * IDlo}

/* NR7s (Narrowist Range of the last 7 days) */
set{NR7, count(Day Point Range reached a new 7 day Low, 1)}

/* NR4s (Narrowist Range of the last 4 days) */
set{NR4, count(Day Point Range reached a new 4 day Low, 1)}

/* Gaps (unfilled) */
set{Gapup, count(Low is above High 1 day ago, 1)}
set{Gapdwn, count(High is below Low 1 day ago, 1)}
set{GapupORGapdwn, Gapup + Gapdwn}

/* Doji (H/L Rng above .20 w/Candle Body less than 30% of H/L Rng) */
set{HiLoRng, High - Low}
set{ClOpRng, abs(Close minus Open)}
set{ClOp_HiLo_ratio, ClOpRng / HiLoRng}
set{Range, count(HiLoRng is above .20, 1)}
set{Body, count(ClOp_HiLo_ratio is less than .30, 1)}
set{doji, Range * Body}

/* Historical Volatility Ratio Calculation (compare a 6 day to a 100 day Historical Volatility) */
set{HistVol6, Historical Volatility(6,1)}
set{HistVol100, Historical Volatility(100,1)}
set{HistVolRatio, HistVol6 / HistVol100}

set{HVRatio, count(HistVolRatio is less than .51, 1)}

/* Day Position Calculations for 85/15 Days */
set{Range1, High - Low}
set{CloLodiff, Close - Low}
set{OpLodiff, Open - Low}
set{dayposcl, CloLodiff / Range1}
set{dayposop, OpLodiff / Range1}

/* 85/15 Day with an UP Close */
set{dpCloUp, count(dayposcl is above .85, 1)}
set{dpOpUp, count(dayposop is below .15, 1)}
set{Up8515, dpCloUp * dpOpUp}

/* 85/15 Day with a DOWN Close */
set{dpOpDwn, count(dayposop is above .85, 1)}
set{dpCloDwn, count(dayposcl is below .15, 1)}
set{Dwn8515, dpOpDwn * dpCloDwn}

/* 8515 UP or DOWN Close */
set{8515upORdwn, Up8515 + Dwn8515}

/* One Day Reversal ("ODR") --> 5 Day H/L w/Up or Down Close Above/Below 50% Day Position */
/* "ODR" 50% Day Position Calculation */
set{HLrng, High - Low}
set{HLrng50, HLrng * .50}
set{DP50, Low + HLrng50}

/* "ODR" UP */
set{5daylo, count(Low reached a new 5 day Low, 1)}
set{ODR_UpClo, count(Close is above DP50, 1)}
set{ODR_Up, 5daylo * ODR_UpClo}

/* "ODR" DOWN */
set{5dayhi, count(High reached a new 5 day High, 1 )}
set{ODR_DwnClo, count(Close is below DP50, 1)}
set{ODR_Dwn, 5dayhi * ODR_DwnClo}

/* "ODR" UP or DOWN */
set{ODR_upORdwn, ODR_Up + ODR_Dwn}

/* ROC(2) Bullish Divergence */
set{3daylo, count(Low reached a new 3 day Low, 1)}
set{ROCdivpos1, count(ROC(2) above ROC(2) 1 day ago, 1)}
set{ROCdivpos2, count(ROC(2) 1 day ago below ROC(2) 2 days ago, 1)}
set{ROCbulldiv1, 3daylo * ROCdivpos1}
set{ROCbulldiv2, ROCbulldiv1 * ROCdivpos2}

/* ROC(2) Bearish Divergence */
set{3dayhi, count(High reached a new 3 day High, 1)}
set{ROCdivneg1, count(ROC(2) below ROC(2) 1 day ago, 1)}
set{ROCdivneg2, count(ROC(2) 1 day ago above ROC(2) 2 days ago, 1)}
set{ROCbeardiv1, 3dayhi * ROCdivneg1}
set{ROCbeardiv2, ROCbeardiv1 * ROCdivneg2}

/* ROC(2) Bullish OR Bearish Divergence */
set{ROCbullORbeardiv, ROCbulldiv2 + ROCbeardiv2}

/* WR4s (Widest Range of the last 4 days) */
set{WR4, count(Day Point Range reached a new 4 day High, 1)}

/* WR7s (Widest Range of the last 7 days) */
set{WR7, count(Day Point Range reached a new 7 day High, 1)}

/* ODs (Outside Days -> H/L Range outside H/L Range 1 day ago) */
set{ODhi, count(High above High 1 day ago, 1)}
set{ODlo, count(Low below Low 1 day ago, 1)}
set{OD, ODhi * ODlo}

/* Windups (Outside Day followed by an Inside Day) */
set{WUp_ODhi, count(High 1 day ago above High 2 days ago, 1)}
set{WUp_ODlo, count(Low 1 day ago below Low 2 days ago, 1)}
set{WUp_ODhilo, WUp_ODhi * WUp_ODlo}

set{WUp_IDhi, count(High below High 1 day ago, 1)}
set{WUp_IDlo, count(Low above Low 1 day ago, 1)}
set{WUp_IDhilo, WUp_IDhi * WUp_IDlo}
set{WUp, WUp_ODhilo * WUp_IDhilo}

/* PatternFetcher */
set{Shrk_32, ID21 * 1}
set{I_Day, ID * 1}
set{NR_7, NR7 * 1}
set{NR_4, NR4 * 1}
set{Gap_UD, GapupORGapdwn * 1}
set{Do_Ji, doji * 1}
set{85_15, 8515upORdwn * 1}
set{ODR_UD, ODR_upORdwn * 1}
set{WR_4, WR4 * 1}
set{WR_7, WR7 * 1}
set{O_Day, OD * 1}
set{W_Up, WUp * 1}

set{A1, Shrk_32 + I_Day}
set{A2, A1 + NR_7}
set{A3, A2 + NR_4}
set{A4, A3 + Gap_UD}
set{A5, A4 + Do_Ji}
set{A6, A5 + 85_15}
set{A7, A6 + ODR_UD}
set{A8, A7 + WR_4}
set{A9, A8 + WR_7}
set{A10, A9 + O_Day}
set{A11, A10 + W_Up}

/* ROC Pivot Calculation */
set{ROCpivA, Close - Close 2 days ago}
set{ROCpiv, ROCpivA + Close 1 day ago}

/* Momentum (short-term) -> Days ROC2 either Up(+) or Down(-) */
set{daysROCup, days(ROC(2) below ROC(2) 1 day ago,100)}
set{daysROCdwn, days(ROC(2) above ROC(2) 1 day ago,100)}
set{dayscurdir, daysROCup - daysROCdwn}

/* Defining "myOSC(3,10)" Indicator */
set{myOSC, EMA(3) - EMA(10)}

/* Defining "trend(16) of myOSC(3,10)" Indicator */
set{myOSCtrend, CEMA(myOSC,16)}

/* Momentum (310 intermed-term) -> Days Price Osc(3,10) either Up(+) or Down(-) */
set{daysmyOSCup, days(myOSC below myOSC 1 day ago, 100)}
set{daysmyOSCdwn, days(myOSC above myOSC 1 day ago, 100)}
set{daysmyOSCcurdir, daysmyOSCup - daysmyOSCdwn}

/* Trend of (310 intermed-term) Momentum -> Days CMA(myOSC,16) either Up(+) or Down(-) */
set{daysmyOSCtrendup, days(myOSCtrend below myOSCtrend 1 day ago, 100)}
set{daysmyOSCtrenddwn, days(myOSCtrend above myOSCtrend 1 day ago, 100)}
set{daysmyOSCtrendcurdir, daysmyOSCtrendup - daysmyOSCtrenddwn}

/* Trend (short/intermediate/long-term) */
set{T10_30, count(EMA(10) above EMA(30), 1)}
set{T10_150, count(EMA(10) above EMA(150), 1)}
set{T30_150, count(EMA(30) above EMA(150), 1)}
set{T1, T10_30 * 1}
set{T2, T10_150 * 10}
set{T3, T30_150 * 100}
set{Trend12, T1 + T2}
set{Trend123, Trend12 + T3}

/* Day Position Calculation */
set{Range1a, High - Low}
set{CloLodiffa, Close - Low}
set{dayposcla, CloLodiffa / Range1a}

/* 20 Day High/Low Breakout Check */
set{ High20, high 20 day high}
set{ Low20, low 20 day low}

set{ New20High, count( high above High20 1 day ago , 1 ) }
set{ New20Low, count( low below Low20 1 day ago , 1 ) }

/* Defining "my ROC(2)" Indicator */
set{myROC, ROC(2)}

Show all stocks where A11 is above 0 and

Market is NASDAQ 100


/* Columns Trend Strength */
add column separator
add column Trend123 {trend}
add column separator
add column dayposcla {..DP}
add column separator
add column New20High {20Hi}
add column New20Low {20Lo}
add column separator
add column ADX(12) {ADX12}
add column separator
add column Slow Stochastic(7,10) Fast %K {%K.7}
add column separator
add column RSI(2) {rsi2}
add column separator
add column HVRatio {vrat.}

/* Columns (Patterns) */
add column separator
add column separator
add column Shrk_32 {Shark}
add column ID {..id}
add column NR7 {nr.7}
add column NR4 {nr.4}
add column GapupORGapdwn {Gap}
add column doji
add column separator
add column 8515upORdwn {8515}
add column separator
add column ODR_upORdwn {ODR}
add column ROCbullORbeardiv {.DIV}
add column WR4 {wr.4}
add column WR7 {wr.7}
add column OD {..od}
add column WUp
add column separator
add column separator

/* Columns (Momentum and Trend "stuff") */
add column ROCpiv {ROCpiv}
add column dayscurdir {ROC^}
add column separator
add column daysmyOSCcurdir {310^}
add column daysmyOSCtrendcurdir {..16^}

/* Daily Pivot Numbers */
add column separator
add column PP
add column R1
add column R2
add column S1
add column S2
add column separator

/* Indicators MAs */
draw DMA(3,3)
draw EMA(10)
draw EMA(30)
draw EMA(150)

/* Indicators Momentum */
draw myROC
draw myROC line at 0

draw RSI(2)
draw RSI(2) line at 10
draw RSI(2) line at 90

draw myOSC
draw myOSC line at 0
draw CEMA(myOSC,16)

draw Slow Stochastic(7,10) Fast %K
draw Slow Stochastic(7,10) Fast %K line at 20
draw Slow Stochastic(7,10) Fast %K line at 80
draw Slow Stochastic(7,10) Slow %D

/* draw CCI(10) */
draw CCI(10) line at 0
draw CCI(10) line at -200
draw CCI(10) line at +200

draw ADX(12) line at 20

do not draw A11

sort column 6 descending

chart-time is 44 days
]



----------------------------------

I personally have a Watch List that I scan...every day !

I applied this filter HERE...to scan the NASDAQ 100 (for illustrative purposes only) !


Regards,

alf44


Arooj
15 posts
msg #52028
Ignore Arooj
6/6/2007 5:33:03 PM

dear alf44,

many thanks for posting this. In my saved filters I simply renamed this "alfworkofart," then realized the pun ;-).

I have every excuse now to get the new 30" monitor I've been lusting after. On a more serious note, this is really a tremendous undertaking and what SF is all about.

alf44
2,025 posts
msg #52043
Ignore alf44
6/7/2007 10:57:45 AM

Thanks Arooj !

I appreciate the nice words !


Regards,

alf44

alf44
2,025 posts
msg #52344
Ignore alf44
modified
6/20/2007 12:40:29 AM

>>>>> "FILTER" UNDER CONSTRUCTION <<<<<

>>> Significant Change In Approach And Application <<<

>>>>>>>>> More To Come <<<<<<<<<

alf44
2,025 posts
msg #52727
Ignore alf44
modified
7/1/2007 1:29:20 AM

On the rare chance that anyone actually cares, I have made some changes to this "filter"...both in the way I "approach" AND "apply" it.

I have always intended it to be...and...have always tried to use it more as...a Daily Trading Worksheet. One that I work from every night after the Markets close and it updates...and one I have up on my screen that I can refer to the next trading day.

For ME...it has never been purely a scan or filter in the normal sense. I have always applied it to a small watchlist of stocks and NOT to the entire stock universe...and...in a continuing effort to keep things simple, that watchlist has become smaller and smaller...currently just 25 stocks. That said, the way the "filter" was originally designed...it DID filter out those stocks (in the watchlist) that did NOT display any of the 13 patterns that were at the heart of the filter. Since the "filter/worksheet" also conveys lots of other useful information, in addition to the 13 scanned for patterns, I decided that rather than have it filter out some stocks (and valuable info about those stocks as well)...I would instead have it NOT filter out ANY of the stocks in the watchlist. By doing this it becomes a TRUE worksheet...one that displays ALL the stocks...AND...all the information I like to see about each and every stock in the watchlist.

This is a pretty significant change in approach and application and it works so much better for my nightly homework and routine. I can now run the filter...assess the column info of EVERY stock for trend, momentum, volatility, contraction/expansion patterns, ROC pivots, daily pivots...etc...

...AND...

...I've also changed the 20 day High/Low portion of the filter...and in the process...ADDED 3 NEW features. These are great additions and are proving to be potentially profitable. At a glance, I can see when a stock has made a number of :

* Consecutive UP/DOWN Closes

* Consecutive UP/DOWN Lows

* Consecutive UP/DOWN Highs

The 20 day High/Low check NOW is consolidated into one column (the previous rendition had two separate columns) that shows if a 20 day High OR 20 day Low was made. Then...a quick glance at the Consecutive UP/DOWN Lows and Highs columns indicates whether it was a 20 day High or 20 day Low that was made.

Example:

If there is a "1" in the 20 day High/Low column I know that the stock has made EITHER a 20 day High or Low.

Then...

...if the Consecutive UP/DOWN Highs column is showing positive numbers...I know that a 20 day High has been made.

...or...

...if the Consecutive UP/DOWN Lows column is showing negative numbers...I know that a 20 day Low has been made.

I like looking at these 20 day Highs and Lows for possible indications of breakouts OR reversals.

The idea behind "Consecutive UP/DOWN Closes, Lows and Highs" was borrowed from Larry Connors. Here I'm looking for stocks that have closed DOWN (or made lower lows) for 3, 4, 5 or more days and are in uptrends...OR...that have closed UP (or made higher highs) 3, 4, 5 or more days and are in downtrends.

These things...often combined with some of the other patterns in the "worksheet" can point to some nice trade setups. When these setups do develop you are "buying weakness (LONG) in an uptrend"...and..."selling strength (SHORT) in a downtrend" ! That's a good way to trade. imo

That's all for now...here's the NEWEST NEW rendition of the...

Range Contraction/Expansion "Worksheet"

Fetcher[/* NEW Range Contraction/Expansion Scan Filter */

/* Shark-32 Pattern (2 Consecutive Inside Days) */
set{IDhi_2, count(High 1 day ago is below High 2 days ago, 1)}
set{IDlo_2, count(Low 1 day ago is above Low 2 days ago, 1)}
set{IDhilo_2, IDhi_2 * IDlo_2}

set{IDhi_1, count(High is below High 1 day ago, 1)}
set{IDlo_1, count(Low is above Low 1 day ago, 1)}
set{IDhilo_1, IDhi_1 * IDlo_1}

set{ID21, IDhilo_2 * IDhilo_1}

/* IDs (Inside Days -> H/L Range inside H/L Range 1 day ago) */
set{IDhi, count(High below High 1 day ago, 1)}
set{IDlo, count(Low above Low 1 day ago, 1)}
set{ID, IDhi * IDlo}

/* NR7s (Narrowist Range of the last 7 days) */
set{NR7, count(Day Point Range reached a new 7 day Low, 1)}

/* NR4s (Narrowist Range of the last 4 days) */
set{NR4, count(Day Point Range reached a new 4 day Low, 1)}

/* Gaps (unfilled) */
set{Gapup, count(Low is above High 1 day ago, 1)}
set{Gapdwn, count(High is below Low 1 day ago, 1)}
set{GapupORGapdwn, Gapup + Gapdwn}

/* Doji (H/L Rng above .20 w/Candle Body less than 30% of H/L Rng) */
set{HiLoRng, High - Low}
set{ClOpRng, abs(Close minus Open)}
set{ClOp_HiLo_ratio, ClOpRng / HiLoRng}
set{Range, count(HiLoRng is above .20, 1)}
set{Body, count(ClOp_HiLo_ratio is less than .30, 1)}
set{doji, Range * Body}

/* Historical Volatility Ratio Calculation (compare a 6 day to a 100 day Historical Volatility) */
set{HistVol6, Historical Volatility(6,1)}
set{HistVol100, Historical Volatility(100,1)}
set{HistVolRatio, HistVol6 / HistVol100}

set{HVRatio, count(HistVolRatio is less than .51, 1)}

/* Day Position Calculations for 85/15 Days */
set{Range1, High - Low}
set{CloLodiff, Close - Low}
set{OpLodiff, Open - Low}
set{dayposcl, CloLodiff / Range1}
set{dayposop, OpLodiff / Range1}

/* 85/15 Day with an UP Close */
set{dpCloUp, count(dayposcl is above .85, 1)}
set{dpOpUp, count(dayposop is below .15, 1)}
set{Up8515, dpCloUp * dpOpUp}

/* 85/15 Day with a DOWN Close */
set{dpOpDwn, count(dayposop is above .85, 1)}
set{dpCloDwn, count(dayposcl is below .15, 1)}
set{Dwn8515, dpOpDwn * dpCloDwn}
set{8515upORdwn, Up8515 + Dwn8515}

/* One Day Reversal ("ODR") --> 5 Day H/L w/Up or Down Close Above/Below 50% Day Position */
/* "ODR" 50% Day Position Calculation */
set{HLrng, High - Low}
set{HLrng50, HLrng * .50}
set{DP50, Low + HLrng50}

/* "ODR" UP */
set{5daylo, count(Low reached a new 5 day Low, 1)}
set{ODR_UpClo, count(Close is above DP50, 1)}
set{ODR_Up, 5daylo * ODR_UpClo}

/* "ODR" DOWN */
set{5dayhi, count(High reached a new 5 day High, 1 )}
set{ODR_DwnClo, count(Close is below DP50, 1)}
set{ODR_Dwn, 5dayhi * ODR_DwnClo}

/* "ODR" UP or DOWN */
set{ODR_upORdwn, ODR_Up + ODR_Dwn}

/* ROC(2) Bullish Divergence */
set{3daylo, count(Low reached a new 3 day Low, 1)}
set{ROCdivpos1, count(ROC(2) above ROC(2) 1 day ago, 1)}
set{ROCdivpos2, count(ROC(2) 1 day ago below ROC(2) 2 days ago, 1)}
set{ROCbulldiv1, 3daylo * ROCdivpos1}
set{ROCbulldiv2, ROCbulldiv1 * ROCdivpos2}

/* ROC(2) Bearish Divergence */
set{3dayhi, count(High reached a new 3 day High, 1)}
set{ROCdivneg1, count(ROC(2) below ROC(2) 1 day ago, 1)}
set{ROCdivneg2, count(ROC(2) 1 day ago above ROC(2) 2 days ago, 1)}
set{ROCbeardiv1, 3dayhi * ROCdivneg1}
set{ROCbeardiv2, ROCbeardiv1 * ROCdivneg2}

/* ROC(2) Bullish OR Bearish Divergence */
set{ROCbullORbeardiv, ROCbulldiv2 + ROCbeardiv2}

/* WR4s (Widest Range of the last 4 days) */
set{WR4, count(Day Point Range reached a new 4 day High, 1)}

/* WR7s (Widest Range of the last 7 days) */
set{WR7, count(Day Point Range reached a new 7 day High, 1)}

/* ODs (Outside Days -> H/L Range outside H/L Range 1 day ago) */
set{ODhi, count(High above High 1 day ago, 1)}
set{ODlo, count(Low below Low 1 day ago, 1)}
set{OD, ODhi * ODlo}

/* Windups (Outside Day followed by an Inside Day) */
set{WUp_ODhi, count(High 1 day ago above High 2 days ago, 1)}
set{WUp_ODlo, count(Low 1 day ago below Low 2 days ago, 1)}
set{WUp_ODhilo, WUp_ODhi * WUp_ODlo}

set{WUp_IDhi, count(High below High 1 day ago, 1)}
set{WUp_IDlo, count(Low above Low 1 day ago, 1)}
set{WUp_IDhilo, WUp_IDhi * WUp_IDlo}
set{WUp, WUp_ODhilo * WUp_IDhilo}

/* PatternFetcher */
set{Shrk_32, ID21 * 1}
set{I_Day, ID * 1}
set{NR_7, NR7 * 1}
set{NR_4, NR4 * 1}
set{Gap_UD, GapupORGapdwn * 1}
set{Do_Ji, doji * 1}
set{85_15, 8515upORdwn * 1}
set{ODR_UD, ODR_upORdwn * 1}
set{WR_4, WR4 * 1}
set{WR_7, WR7 * 1}
set{O_Day, OD * 1}
set{W_Up, WUp * 1}

/* ROC Pivot Calculation */
set{ROCpivA, Close - Close 2 days ago}
set{ROCpiv, ROCpivA + Close 1 day ago}

/* Momentum (short-term) -> Days ROC2 either Up(+) or Down(-) */
set{daysROCup, days(ROC(2) below ROC(2) 1 day ago,100)}
set{daysROCdwn, days(ROC(2) above ROC(2) 1 day ago,100)}
set{dayscurdir, daysROCup - daysROCdwn}


/* 20 Day High/Low Breakout Check */

/* 20 day HIGH */
set{20dayhi, count(High reached a new 20 day High, 1 )}
/* 20 day LOW */
set{20daylo, count(Low reached a new 20 day Low, 1)}

/* 20 day HIGH or LOW */
set{20day_hiORlo, 20dayhi + 20daylo }

/* Consecutive days Close either Up(+) or Down(-) */
set{daysCloseUp, days(Close below Close 1 day ago,100)}
set{daysCloseDown, days(Close above Close 1 day ago,100)}
set{daysClosecurdir, daysCloseUp - daysCloseDown}

/* Consecutive days LOWS either Up(+) or Down(-) */
set{daysLOWSUp, days(Low below Low 1 day ago,100)}
set{daysLOWSDown, days(Low above Low 1 day ago,100)}
set{daysLOWScurdir, daysLOWSUp - daysLOWSDown}

/* Consecutive days HIGHS either Up(+) or Down(-) */
set{daysHIGHSUp, days(High below High 1 day ago,100)}
set{daysHIGHSDown, days(High above High 1 day ago,100)}
set{daysHIGHScurdir, daysHIGHSUp - daysHIGHSDown}

/* Trend (short/intermediate/long-term) */
set{T10_30, count(EMA(10) above EMA(30), 1)}
set{T10_150, count(EMA(10) above EMA(150), 1)}
set{T30_150, count(EMA(30) above EMA(150), 1)}
set{T1, T10_30 * 1}
set{T2, T10_150 * 10}
set{T3, T30_150 * 100}
set{Trend12, T1 + T2}
set{Trend123, Trend12 + T3}

/* Day Position Calculation */
set{Range1a, High - Low}
set{CloLodiffa, Close - Low}
set{dayposcla, CloLodiffa / Range1a}

/* Defining "my ROC(2)" Indicator */
set{myROC, ROC(2)}

/* Defining "myOSC(3,10)" Indicator */
set{myOSC, EMA(3) - EMA(10)}

/* Defining "trend(16) of myOSC(3,10)" Indicator */
set{myOSCtrend, CEMA(myOSC,16)}

Market is NASDAQ 100

/* Columns Trend Strength */
add column separator
add column Trend123 {trend}
add column separator
add column 20day_hiORlo {20hilo}
add column daysClosecurdir {..clo^}
add column daysLOWScurdir {..lo^}
add column daysHIGHScurdir {..hi^}
add column separator
add column dayposcla {..dp}
add column separator
add column separator
add column ADX(12) {adx12}
add column separator
add column Slow Stochastic(7,10) Fast %K {%K.7}
add column separator
add column RSI(2) {rsi2}
add column separator
add column HVRatio {vrat.}

/* Columns (Patterns) */
add column separator
add column separator
add column Shrk_32 {Shark}
add column ID {...id}
add column NR7 {nr.7}
add column NR4 {nr.4}
add column GapupORGapdwn {Gap}
add column doji
add column separator
add column 8515upORdwn {8515}
add column separator
add column ODR_upORdwn {ODR}
add column ROCbullORbeardiv {.DIV}
add column WR4 {wr.4}
add column WR7 {wr.7}
add column OD {..od}
add column WUp
add column separator
add column separator

/* Columns (Momentum and Trend "stuff") */
add column ROCpiv {ROCpiv}
add column dayscurdir {ROC^}

/* Daily Pivot Numbers */
add column separator
add column PP
add column R1
add column R2
add column S1
add column S2
add column separator

/* Indicators MAs */
draw DMA(3,3)
draw EMA(10)
draw EMA(30)
draw EMA(150)

/* Indicators Momentum */
draw myROC
draw myROC line at 0

draw RSI(2)
draw RSI(2) line at 10
draw RSI(2) line at 65
draw RSI(2) line at 90

draw myOSC
draw myOSC line at 0
draw CEMA(myOSC,16)

draw Slow Stochastic(7,10) Fast %K
draw Slow Stochastic(7,10) Fast %K line at 20
draw Slow Stochastic(7,10) Fast %K line at 80
draw Slow Stochastic(7,10) Slow %D

/* draw CCI(10) */
draw CCI(10) line at 0
draw CCI(10) line at -200
draw CCI(10) line at +200

draw ADX(12) line at 20

sort column 6 descending

chart-time is 44 days
]



-----------------------------------

I applied the "filter" HERE...to scan the NASDAQ 100 (for illustrative purposes only) !


Regards,

alf44


conyeuchua
83 posts
msg #52728
Ignore conyeuchua
7/1/2007 2:39:10 AM

Alf44, thank you very much for sharing this carefully annotated "work of art".

When you review the filter results, do you start with MyRoc and ADX(12) first? or how do you approach it?



Arooj
15 posts
msg #52735
Ignore Arooj
modified
7/1/2007 5:15:22 PM

hi alf44,

I DID get my 30" Dell just to see the results of your filter!! I didn't think it would make such a difference, but wowsa!

This is the equivalent of a Manhattan 4-star French restaurant meal being fed to a pauper, so I will partake of it gently, but many thanks again for a fantastic contribution.

Why can't we have a "sticky" panel here on SF (like on other sites) where we can have a bunch of valuable posts at the very top of the forum lists? This would save a lot of time, and can help newbies and pros alike.

The dynamics of price action that you've introduced me too are extraordinarily important, and they expand what a filter is capable of. Experienced chart readers can distinguish areas of accumulation/distribution and the accompanying range contraction, which occur before eventual expansion. This filter helps me to quantitatively "see" this.

Many filters could be improved IMO by a subtle appreciation of these dynamics, as (for example) simply witnessing an increase in volume may not do justice to what's on the chart.

StockFetcher Forums · Filter Exchange · Range Contraction/Expansion Filter<< 1 ... 3 4 5 6 7 ... 12 >>Post Follow-up

*** 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 2022 - 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


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.