StockFetcher Forums · Filter Exchange · WARM FILTER CROSSOVERS FOR MPs RSIWRL DISPLAY<< >>Post Follow-up
TheRumpledOne
6,407 posts
msg #38047
Ignore TheRumpledOne
9/18/2005 10:54:19 AM

Fetcher[
/* WARM FILTER 60 days Crossover Report*/

/* NORMALIZE accumulation distribution */

set{adval, INDPOSITION(accumulation distribution, 60) }

/* NORMALIZE momentum(12) */

set{moval, INDPOSITION(momentum(12), 60) }

/* NORMALIZE rsi(2) */

set{rsval, RSI(2) }

/* NORMALIZE williams %r(10) */

set{wrval, INDPOSITION(williams %r(10), 60) }

/* CALCULATE 10/60/200 day trend */
set{T10, count(10 day slope of the close above 0,1)}
set{T60, count(60 day slope of the close above 0,1)}
set{T200, count(200 day slope of the close above 0,1)}

Set{u1, T200 * 1}
Set{u2, T60 * 10}
Set{u3, T10 * 100}

Set{uu, u1 + u2}
Set{TREND, uu + u3}

/* CALCULATE DAILY WEEKLY BOTTOM TAIL SIZE */
set{BTSize, close - low}
set{WBTSize, weekly close - weekly low}

/* PRICE CALCULATIONS */
set{CCb,days(close is above close 1 day ago,100)}
set{CCa,days(close is below close 1 day ago,100)}
set{CLxCL, CCa - CCb}

/* VOLUME CALCULATIONS */
set{v, volume 1 day ago}
set{volinc, volume - v}
set{volpc, volinc / v}
set{volpct, volpc * 100}

set{VolZ, days(volume < 1,100)}
set{VolUp, days(volume is below volume 1 day ago,100)}
set{VolDn, days(volume is above volume 1 day ago,100)}
set{VlXvl, VolUp - VolDn}

set{vck1, volume 1 day ago }
set{vck, volume / vck1 }
set{vdbl, days(vck < 2, 100)}

/* EMA CROSSOVER CALCULATIONS */
set{E1326b,days(ema(13) is above ema(26),100)}
set{E1326a,days(ema(13) is below ema(26),100)}
set{E13xE26, E1326a - E1326b}
/* rsi cross a/d */

set{rab,days(rsval is above adval,100)}
set{rab1, count(rab above -1 , 1)}
set{rab2, rab * rab1}
set{raa,days(rsval is below adval,100)}
set{raa1, count(raa above -1 , 1)}
set{raa2, raa * raa1}
set{rsxad, raa2 - rab2}

/* rsi cross momentum */

set{rmb,days(rsval is above moval,100)}
set{rmb1, count(rmb above -1 , 1)}
set{rmb2, rmb * rmb1}
set{rma,days(rsval is below moval,100)}
set{rma1, count(rma above -1 , 1)}
set{rma2, rma * rma1}
set{rsxmo, rma2 - rmb2}

/* rsi cross williams %r */

set{rwb,days(rsval is above wrval,100)}
set{rwb1, count(rwb above -1 , 1)}
set{rwb2, rwb * rwb1}
set{rwa,days(rsval is below wrval,100)}
set{rwa1, count(rwa above -1 , 1)}
set{rwa2, rwa * rwa1}
set{rsxwr, rwa2 - rwb2}

/* williams %r cross a/d */

set{wab,days(wrval is above adval,100)}
set{wab1, count(wab above -1 , 1)}
set{wab2, wab * wab1}
set{waa,days(wrval is below adval,100)}
set{waa1, count(waa above -1 , 1)}
set{waa2, waa * waa1}
set{wrxad, waa2 - wab2}

/* williams %r cross momentum */

set{wmb,days(wrval is above moval,100)}
set{wmb1, count(wmb above -1 , 1)}
set{wmb2, wmb * wmb1}
set{wma,days(wrval is below moval,100)}
set{wma1, count(wma above -1 , 1)}
set{wma2, wma * wma1}
set{wrxmo, wma2 - wmb2}

/* a/d cross momentum */

set{amb,days(adval is above moval,100)}
set{amb1, count(amb above -1 , 1)}
set{amb2, amb * amb1}
set{ama,days(adval is below moval,100)}
set{ama1, count(ama above -1 , 1)}
set{ama2, ama * ama1}
set{adxmo, ama2 - amb2}



add column rsxad
add column rsxmo
add column rsxwr
add column wrxad
add column wrxmo
add column adxmo

add column trend

add column CLxCL
add column E13xE26
add column VlxVl
add column Vdbl
add column volpct

add column wrval
add column adval
add column rsval
add column moval

/* PRICE/VOLUME SELECTION CRITERIA */
price ABOVE .01
volume above 50000

sort column 6 ascending

/* CROSSOVER SELECTION */

RSXAD ABOVE 0
]



Why didn't I think of this sooner?

The WARM FILTER found stocks hitting bottom but we also want to find stocks bouncing off the bottom and one way to find them is via the crossovers.

This filter finds stocks where the rsi(2) has crossed above a/d but displays all of the crossover columns.

If you remove the last line and run the filter you can then sort on the crossover column that you are interested in.

MAY ALL YOUR FILLS BE COMPLETE.



TheRumpledOne
6,407 posts
msg #38048
Ignore TheRumpledOne
9/18/2005 11:25:42 AM

Whoops!

Fetcher[
/* WARM FILTER 60 days Crossover Report*/

/* NORMALIZE accumulation distribution */

set{adval, INDPOSITION(accumulation distribution, 60) }

/* NORMALIZE momentum(12) */

set{moval, INDPOSITION(momentum(12), 60) }

/* NORMALIZE rsi(2) */

set{rsval, RSI(2) / 100}

/* NORMALIZE williams %r(10) */

set{wrval, INDPOSITION(williams %r(10), 60) }

/* CALCULATE 10/60/200 day trend */
set{T10, count(10 day slope of the close above 0,1)}
set{T60, count(60 day slope of the close above 0,1)}
set{T200, count(200 day slope of the close above 0,1)}

Set{u1, T200 * 1}
Set{u2, T60 * 10}
Set{u3, T10 * 100}

Set{uu, u1 + u2}
Set{TREND, uu + u3}

/* CALCULATE DAILY WEEKLY BOTTOM TAIL SIZE */
set{BTSize, close - low}
set{WBTSize, weekly close - weekly low}

/* PRICE CALCULATIONS */
set{CCb,days(close is above close 1 day ago,100)}
set{CCa,days(close is below close 1 day ago,100)}
set{CLxCL, CCa - CCb}

/* VOLUME CALCULATIONS */
set{v, volume 1 day ago}
set{volinc, volume - v}
set{volpc, volinc / v}
set{volpct, volpc * 100}

set{VolZ, days(volume < 1,100)}
set{VolUp, days(volume is below volume 1 day ago,100)}
set{VolDn, days(volume is above volume 1 day ago,100)}
set{VlXvl, VolUp - VolDn}

set{vck1, volume 1 day ago }
set{vck, volume / vck1 }
set{vdbl, days(vck < 2, 100)}

/* EMA CROSSOVER CALCULATIONS */
set{E1326b,days(ema(13) is above ema(26),100)}
set{E1326a,days(ema(13) is below ema(26),100)}
set{E13xE26, E1326a - E1326b}
/* rsi cross a/d */

set{rab,days(rsval is above adval,100)}
set{rab1, count(rab above -1 , 1)}
set{rab2, rab * rab1}
set{raa,days(rsval is below adval,100)}
set{raa1, count(raa above -1 , 1)}
set{raa2, raa * raa1}
set{rsxad, raa2 - rab2}

/* rsi cross momentum */

set{rmb,days(rsval is above moval,100)}
set{rmb1, count(rmb above -1 , 1)}
set{rmb2, rmb * rmb1}
set{rma,days(rsval is below moval,100)}
set{rma1, count(rma above -1 , 1)}
set{rma2, rma * rma1}
set{rsxmo, rma2 - rmb2}

/* rsi cross williams %r */

set{rwb,days(rsval is above wrval,100)}
set{rwb1, count(rwb above -1 , 1)}
set{rwb2, rwb * rwb1}
set{rwa,days(rsval is below wrval,100)}
set{rwa1, count(rwa above -1 , 1)}
set{rwa2, rwa * rwa1}
set{rsxwr, rwa2 - rwb2}

/* williams %r cross a/d */

set{wab,days(wrval is above adval,100)}
set{wab1, count(wab above -1 , 1)}
set{wab2, wab * wab1}
set{waa,days(wrval is below adval,100)}
set{waa1, count(waa above -1 , 1)}
set{waa2, waa * waa1}
set{wrxad, waa2 - wab2}

/* williams %r cross momentum */

set{wmb,days(wrval is above moval,100)}
set{wmb1, count(wmb above -1 , 1)}
set{wmb2, wmb * wmb1}
set{wma,days(wrval is below moval,100)}
set{wma1, count(wma above -1 , 1)}
set{wma2, wma * wma1}
set{wrxmo, wma2 - wmb2}

/* a/d cross momentum */

set{amb,days(adval is above moval,100)}
set{amb1, count(amb above -1 , 1)}
set{amb2, amb * amb1}
set{ama,days(adval is below moval,100)}
set{ama1, count(ama above -1 , 1)}
set{ama2, ama * ama1}
set{adxmo, ama2 - amb2}



add column rsxad
add column rsxmo
add column rsxwr
add column wrxad
add column wrxmo
add column adxmo

add column trend

add column CLxCL
add column E13xE26
add column VlxVl
add column Vdbl
add column volpct

add column wrval
add column adval
add column rsval
add column moval

/* PRICE/VOLUME SELECTION CRITERIA */
price ABOVE .01
volume above 50000

sort column 11 descending

/* CROSSOVER SELECTION */

RSXAD EQUAL 1
ADVAL BELOW .20
rsi(2) above rsi(2) 1 day ago

]



I forgot that I had to adjust RSVAL because indposition gives results from 0 - 1. Sure wish we could edit or delete our posts.

This version actually displays the stocks that just crossed over. The first version displayed all stocks that had a crossover from 1 - 100 days ago.

This filter allows you to focus on the stocks that have just moved off the bottom.

I hope someone backtests this filter. Then change RSXAD EQUAL 1 to RSXMO, RSXWR, etc.. and tests all 6 possibilities. You may also prove that if more than one crossover occurs that is even better!

The reason for:

rsi(2) above rsi(2) 1 day ago

is because A/D can cross below RSI(2) and they both can be heading south but it would show the RSI(2) crossed ABOVE A/D.

The reason for:

ADVAL BELOW .20

Is to limit the number of stocks returned.

MAY ALL YOUR FILLS BE COMPLETE.


alf44
2,025 posts
msg #38050
Ignore alf44
9/18/2005 12:16:30 PM

RumpledOne,

The link on that filter doesn't appear to be working. I can't click on it.


alf44





alf44
2,025 posts
msg #38051
Ignore alf44
9/18/2005 12:22:43 PM

Nevermind.

I copied/pasted it into a "create filter" window.


alf44





StockFetcher Forums · Filter Exchange · WARM FILTER CROSSOVERS FOR MPs RSIWRL DISPLAY<< >>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.