StockFetcher Forums · Filter Exchange · just another good filter<< 1 2 >>Post Follow-up
120 posts
msg #37950
Ignore shelupinin
9/14/2005 7:16:42 AM

below is just another modification of previous filters, try to see performance for last 1-10 days period, almost all days are GREEN !
Fetcher[set{dif,close - open}
set{diff2,dif / open}
set{prc, diff2 * 100}
set{raz,count(prc is above 4, 30)}
raz > 4
weekly rsi(2) is below 30
rsi(3) is below 30
p/e is above 1
and price is above 1
and volume is above 50000

120 posts
msg #37951
Ignore shelupinin
9/14/2005 7:23:12 AM

for the previous filter, up to 15 days holding period most days are GREEEN

353 posts
msg #37954
Ignore yepher
9/14/2005 11:33:30 AM


Much of those reports are made manually right now. I am using MetaStock, Stockfetcher, and some custom homegrown tools.

As for the "mostly GREEN" part of your previous message. You have to be *really careful* with SF’s "performance" tool. It shows results as if you were to buy the stock on the trigger day. This in my opinion is misleading for an EOD tool like SF. SF is a really GREAT tool which has many strengths (price, speed, simplicity, etc). But they are not perfect at everything and I believe back testing is not yet good. The good thing is they are putting resources on the problem and are getting better.

My Modus operandi is to work with SF to rapidly prototype filters. Convert them to MetaStock for back testing and refinement. Then us SF for day to day stock selection once the filter has been characterized.

To help the situation you can also use a technique originally formed by Cegis and used/refined by RumpledOne. You can find it documented here under the “Back Testing” section. This is one of two items in that document that are user provided. (the other is RumpledOnes logic system).

Incidentally, I would like to add a few more because I see some indicators on this forum that are suffering from copy and past logic errors. Candle Shadow is one of them. Here is an example of the right way to do it:

I hope that helps,
-- Yepher

2,824 posts
msg #37960
Ignore nikoschopen
9/14/2005 2:53:48 PM


With regards to your previous filter, instead of using the days() qualifier, wouldn't it be better to use the count() qualifier? This way you can count how many times a given stock remained above or below an x indicator within the last 100 days. In addition, you've given 3 "if" statement, but left out a "then" clause of the conditional. Whether that is intentional or not, I would think you would be better served by adding a condition like "if 'the first if' is subtracted from 'the second if', show me the babes that are over 21" This way, it's easier to differential between the bull & the bear.

set{E1326a,count(ema(13) is above ema(26),100)}
set{E1326b,count(ema(13) is below ema(26),100)}
set{E13xE26, E1326a - E1326b}
set{E50a,count(close is above ma(50),100)}
set{E50b,count(close is below ma(50),100)}
set{CxM50, E50a - E50b}
set{WRa,count(Williams %R(10) is above Williams %R(10) 1 day ago,100)}
set{WRb,count(Williams %R(10) is below Williams %R(10) 1 day ago,100)}
set{WRxWR, WRa - WRb}

/*then" part of the conditional
E13xE26 is above 5
CxM50 is above 5
WRxWR is above 5*/

set{dif,close - open}
set{dif2,dif / open}
set{prc, dif2 * 100}
set{tim,count(prc is above 3, 40)}
tim > 2
rsi(3) is below 3
and cxm50 is below 20
and wrxwr is above -20
and e13xe26 is below -20
and price is above 1
and volume is above 50000

But here's what I find to be the most troublesome aspect about this type of filter. Suppose, for example, you get 4 days of "ema(13) is above ema(26)" & 4 days of "ema(13) is below ema(26)". You would think "hey, up 4 days followed by 4 down days, so it must go down" and vice versa. Even if the stock is above the MA, it doesn't necessarily imply that it's an up day; here I'm using it for simplicity sake) But upon closer scrutiny, you see that the stock is up 2 days, followed by 2 down days, followed by yet another 2 up days, only to tumble lower the next 2 days. In this case, you're looking at a range-bound stock, & you would think twice before betting your shirt with that hard earned money.

318 posts
msg #38092
Ignore rtucker
9/20/2005 3:51:10 AM


120 posts
msg #38094
Ignore shelupinin
9/20/2005 7:09:30 AM

and just another approach to rsi(3)<3 filter
Fetcher[set{dif, close - open}
set{WentUp, count(dif above 0, 1)}
set{R3LT1, count(rsi(3) 1 day ago is below 3, 1)}
set{R3LT1TOT, count(rsi(3) 1 day ago is below 3, 100)}
set{HIT, WentUp * R3LT1}
set{HITTOTAL, count(HIT above 0, 100)}
set{WinPct, 100 * Win}
ADD Column WinPct
winpct is below 50
R3LT1TOT is above 4
rsi(3) is below 3
volume above 50000
price above 1

P.S. Filter idea - my, filter coding - TheRumpedOne

StockFetcher Forums · Filter Exchange · just another good filter<< 1 2 >>Post Follow-up

*** Disclaimer *** 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. does not recommend particular securities., 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