StockFetcher Forums · Filter Exchange · Excellent Breakout Warning Filter!<< 1 2 3 >>Post Follow-up
AntNet
36 posts
msg #32303
Ignore AntNet
6/9/2004 12:16:26 AM

Here's a filter that usually finds an equity in or at the end of consolidation, just before it breaks out. Use your own methods to determine which direction it will go.

I've found a close above / below the breakout bar with a buy / sell at the CWMA(PP,13) and a confirming CWMA(PP,30) works very well.

Most any method can be applied once you get a candidate to put on your watch list from this filter.

I call it "RAW BREAKOUT"

Fetcher[high above CWMA(PP,60,1) and low below CWMA(PP,60,1)
and high above CWMA(PP,30,1) and Low below CWMA(PP,30,1)
and high above CWMA(PP,20,1) and Low below CWMA(PP,20,1)
and high above CWMA(PP,12,1) and Low below CWMA(PP,12,1)
and high above CWMA(PP,6,1) and Low below CWMA(PP,6,1)
and high above CWMA(PP,4,1) and Low below CWMA(PP,4,1)
and Not OTCBB and volume above 250,000
and average volume(20) above 250,000
]



Technically, it should be "high above OR equal" and "low below OR equal" but SF does have its limitations. Perhaps one of you more skilled than I can update it so the "OR" condition is applied. I recall seeing something about that a while back but it's beyond me.

Obviously, you can change some parameters and filter to include OTCBB, only Optionables, price range, volume, etc.

Do a "WEEKLY" version and you will see some very significant results!

Enjoy, and good trading.

Opa.


cegis
235 posts
msg #32306
Ignore cegis
6/9/2004 9:42:38 AM

AntNet,

You can get "greater than or equal" by doing something like this:

set{GE60,1 - count(high below CWMA(PP,60,1),1)}

The count() will return a 1 if the high is below the CWMA, or 0 otherwise. Subtracting it from 1 will give the opposite results: 1 if high is greater than or equal CWMA, 0 otherwise - which is what you are looking for. You then check for GE60 equals 1, instead of high above CWMA(PP,60,1).

(Actually, you don't really need to subtract the count() from 1. You can just test for GE60 equals 0. [You might want to call it LT60 instead...] Personally, though, I like "logical variables" to equal 1 for true, and [generally] like to state my conditions the way I would normally think of them. In this case, that means I'd want GE60 equal to 1. Each to their own preference...)

It may seem a bit awkward and convoluted, but it gets the job done!

HTH,

C


AntNet
36 posts
msg #32307
Ignore AntNet
6/9/2004 12:08:07 PM

Thanks C,

Could I ask you to indulge an old man with a little more info?

set{GE60,1 - count(high below CWMA(PP,60,1),1)}

Am I understanding this corectly?

GE60 = varriable name when CWMA(PP,60,1) is >= high

Can't you define the true condition with a 0 rather than having to do the subtraction?
Like ...... ,60,1),0} Doesn't the zero at the end define the True condition? or is it only the default condition?

I agree it seems more logical for True = 1 and False = 0.

Once I do all the "set{....}" statements, are the filter statements then just "varriable name = 1" ???

Perhaps you could clear it up for me with an example on just one complete CWMA filter and I can take it from there.

Thanks again,
Opa.





cegis
235 posts
msg #32308
Ignore cegis
6/9/2004 3:43:53 PM

AntNet,

Almost: GE60 is a veriable whose value is 1 when "high is greater than or equal to CWMA(PP,60,1)". (You had CWMA >= high.)

Actually, the "comma 1" at the end of the set{} command is a parameter to count(). It tells count() how many days back to look. count() returns the NUMBER OF DAYS the condition is true. Since you're only looking at one day, count() will return 1 or 0, depending on if the condition is true or not. See the Announcements Forum, New Feature: Occurrences thread for a full description. So, basically, what my count() function is doing is counting the number of times the condition ("high below CQMA(PP,60,1)") was true over the past 1 day. If the condition is false, "1 - count()" will be 1 if (and only if) "high is greater than or equal to CWMA(PP,60,1)". Like I said in my original post, you can do this without the "1 -" subtraction.

Per your request, here's your filter - but only using 60 and 30:

Fetcher[
set{hGE60,1 - count(high below CWMA(PP,60,1),1)}
set{lLE60,1 - count(low above CWMA(PP,60,1),1)}
set{hGE30,1 - count(high below CWMA(PP,30,1),1)}
set{lLE30,1 - count(low above CWMA(PP,30,1),1)}
hGE60 equals 1 and lLE60 equals 1
and hGE30 equals 1 and lLE30 equals 1
and Not OTCBB and volume above 250000
and average volume(20) above 250000
add column high
add column low
add column CWMA(PP,60,1)
add column CWMA(PP,30,1)
add column hGE60
add column lLE60
add column hGE30
add column lLE30
]



(The "add column" statements are for illustration purposes only.)

Without doing the subtraction, you might use something like this:

Fetcher[
set{hLT60,count(high below CWMA(PP,60,1),1)}
set{lGT60,count(low above CWMA(PP,60,1),1)}
set{hLT30,count(high below CWMA(PP,30,1),1)}
set{lGT30,count(low above CWMA(PP,30,1),1)}
hLT60 equals 0 and lGT60 equals 0
and hLT30 equals 0 and lGT30 equals 0
and Not OTCBB and volume above 250000
and average volume(20) above 250000
add column high
add column low
add column CWMA(PP,60,1)
add column CWMA(PP,30,1)
add column hLT60
add column lGT60
add column hLT30
add column lGT30
]



This second filter is equivalent to the first. It's checking for "Not Less Than" (variables equal 0) instead of "Greater Than Or Equal" (variables equaling 1 as in the first filter). I renamed the variables so that they keep the "1 = true" connotation, then checked that they all were false...

HTH,

C


siliconhippy
37 posts
msg #32310
Ignore siliconhippy
6/9/2004 5:47:17 PM

Antnet and cegis,

I added the entire script from AntNet to the cegis filter, and came up with:

Stock
Fetcher[set{hLT60,count(high below CWMA(PP,60,1),1)} set{lGT60,count(low above CWMA(PP,60,1),1)} set{hLT30,count(high below CWMA(PP,30,1),1)} set{lGT30,count(low above CWMA(PP,30,1),1)} set{hLT20,count(high below CWMA(PP,20,1),1)} set{lGT20,count(low above CWMA(PP,20,1),1)} set{hLT12,count(high below CWMA(PP,12,1),1)} set{lGT12,count(low above CWMA(PP,12,1),1)} set{hLT6,count(high below CWMA(PP,6,1),1)} set{lGT6,count(low above CWMA(PP,6,1),1)} set{hLT4,count(high below CWMA(PP,4,1),1)} set{lGT4,count(low above CWMA(PP,4,1),1)} and hLT60 equals 0 and lGT60 equals 0 and hLT30 equals 0 and lGT30 equals 0 and hLT20 equals 0 and lGT20 equals 0 and hLT12 equals 0 and lGT12 equals 0 and hLT6 equals 0 and lGT6 equals 0 and hLT4 equals 0 and lGT4 equals 0 and Not OTCBB and volume is above average volume(20) and average volume(20) is above 250000 and close is above 5 and close is below 50 and add column average volume(20) and add column CWMA(PP,13,1) and add column CWMA(PP,30,1)]



NOTES:

1. This filter gives exactly the same results as the original AntNet filter. In the above case, 35 matches today with my editing of add column, and volume and price tweaks. In the original cases, the matches were 93 in both cases at 5:30pm (so don't know if they included today's close.)

2. Why are a couple of the tickers rows highlighted? Any matching significance? Eg EL (Estee Lauder.)

3. I also built a pseudo-weekly filter from the original AntNet script as below (3 matches at 5:30pm today, no highlights.) Is this the "correct" way? How would you treat volume, daily or weekly, with what weekly tweak if any?

4. What tips can you give regarding identification of "top" candidates since the list can be long?

Stock
Fetcher[high above weekly CWMA(PP,60,1) and low below weekly CWMA(PP,60,1) and high above weekly CWMA(PP,30,1) and Low below weekly CWMA(PP,30,1) and high above weekly CWMA(PP,20,1) and Low below weekly CWMA(PP,20,1) and high above weekly CWMA(PP,12,1) and Low below weekly CWMA(PP,12,1) and high above weekly CWMA(PP,6,1) and Low below weekly CWMA(PP,6,1) and high above weekly CWMA(PP,4,1) and Low below weekly CWMA(PP,4,1) and Not OTCBB and volume above average volume(20) and average volume(20) above 250,000 and close above 5 and close below 50 and add column average volume(20) and add column weekly CWMA(PP,13,1) and add column weekly CWMA(PP,30,1) ]




Cheers,

siliconhippy








AntNet
36 posts
msg #32311
Ignore AntNet
6/9/2004 10:26:57 PM

Here are the 2 REVISED basic "Raw Breakout" filters.
The first is DAILY, the second is WEEKLY.
I think I got them correct.
(We need to Double Check before using!)
More comments / questions for SF Support below.

Raw Breakout (Daily)
Fetcher[
set{hd60,count(high below CWMA(PP,60,1),1)}
set{ld60,count(low above CWMA(PP,60,1),1)}
set{hd30,count(high below CWMA(PP,30,1),1)}
set{ld30,count(low above CWMA(PP,30,1),1)}
set{hd20,count(high below CWMA(PP,20,1),1)}
set{ld20,count(low above CWMA(PP,20,1),1)}
set{hd12,count(high below CWMA(PP,12,1),1)}
set{ld12,count(low above CWMA(PP,12,1),1)}
set{hd10,count(high below CWMA(PP,10,1),1)}
set{ld10,count(low above CWMA(PP,10,1),1)}
set{hd6,count(high below CWMA(PP,6,1),1)}
set{ld6,count(low above CWMA(PP,6,1),1)}
set{hd4,count(high below CWMA(PP,4,1),1)}
set{ld4,count(low above CWMA(PP,4,1),1)}

hd60 equals 0 and ld60 equals 0
and hd30 equals 0 and ld30 equals 0
and hd20 equals 0 and ld20 equals 0
and hd12 equals 0 and ld12 equals 0
and hd10 equals 0 and ld10 equals 0
and hd6 equals 0 and ld6 equals 0
and hd4 equals 0 and ld4 equals 0

and Not OTCBB and volume above 250000
and average volume(20) above 250000

add column high
add column low
add column CWMA(PP,30,1) {&ma30}
add column CWMA(PP,13,1) {&ma13}
]
---------------------------------------

Raw Breakout (Weekly)
Fetcher[
set{hw60,count(weekly high below CWMA(PP,60,1),1)}
set{lw60,count(weekly low above CWMA(PP,60,1),1)}
set{hw30,count(weekly high below CWMA(PP,30,1),1)}
set{lw30,count(weekly low above CWMA(PP,30,1),1)}
set{hw20,count(weekly high below CWMA(PP,20,1),1)}
set{lw20,count(weekly low above CWMA(PP,20,1),1)}
set{hw12,count(weekly high below CWMA(PP,12,1),1)}
set{lw12,count(weekly low above CWMA(PP,12,1),1)}
set{hw10,count(weekly high below CWMA(PP,10,1),1)}
set{lw10,count(weekly low above CWMA(PP,10,1),1)}
set{hw6,count(weekly high below CWMA(PP,6,1),1)}
set{lw6,count(weekly low above CWMA(PP,6,1),1)}
set{hw4,count(weekly high below CWMA(PP,4,1),1)}
set{lw4,count(weekly low above CWMA(PP,4,1),1)}

hw60 equals 0 and lw60 equals 0
and hw30 equals 0 and lw30 equals 0
and hw20 equals 0 and lw20 equals 0
and hw12 equals 0 and lw12 equals 0
and hw10 equals 0 and lw10 equals 0
and hw6 equals 0 and lw6 equals 0
and hw4 equals 0 and lw4 equals 0

and Not OTCBB and volume above 250000
and average volume(20) above 250000

add column weekly high {w high}
add column weekly low {w low}
add column weekly CWMA(PP,30,1) {&ma30}
add column weekly CWMA(PP,13,1) {&ma13}
]

----------------------------------------
Observation # 1. (EOD 6/9/04)
My Un-Revised Daily filter (see prior post) found 92 stocks.
The Revised Daily filter also found 92 BUT each list differs by one stock.
Un-Revised missed UNP and Revised missed GNLB.
I determined this by doing a "Match List" comparison.

In effect, the Revised List should have ALL the stocks found in the Un-Rev list PLUS possibly more because the parameters INCLUDE "and equals" due to the revision. Therefore, the Rev List should contain 93 stocks. (assuming it picked up 1 more than the basic un-Rev list)

Bug Question for SF: Why the Difference? Is there an error in the code?

Observation # 2. (EOD 6/9/04)
I also noticed that several stocks were checked and highlighted in the results when the filter was run. I do not know why.

Bug Question for SF: What is causing certain stocks to be checked and highlighted when the filter is run? What is the significance?

Observation # 3. (EOD 6/9/04)
When doing a "Match List" comparing the Daily vs Weekly filter ALL Daily are reported. There were 92 stocks in the Rev Daily and 322 in the Rev Weekly. This means a maximum of 92 EXACT matches were possible. (BUT UNLIKELY!)
I find it very hard to believe that EVERY Daily Matched EXACTLY with the Weekly.

Bug Question for SF: On a separate charting program I double checked and found my suspicions were correct. NOT ALL DAILY picks correspond with a WEEKLY Match. Please review to determine why we get this reporting error. ???

Something seems to be amiss in the processing of these SF filters. I know the concept is accurate because I use the filters as an indicator (playing an Alert Sound) in my charting program with a live data feed. When I get the Alert I know something is about to happen that requires my attention to Buy or Sell. (The parameter selection makes this filter / indicator very fractal.)

Opa.




AntNet
36 posts
msg #32312
Ignore AntNet
6/9/2004 10:32:49 PM

Hmmmm,
Why didn't the filters get picked up with
Fetcher[
]


Opa


AntNet
36 posts
msg #32314
Ignore AntNet
6/10/2004 12:57:00 AM

I think I figured out some of the problem.

Intuitively I knew there had to be LESS Weekly picks vs Daily.
Getting 322 weekly and 92 daily didn't make sense.
When I ran Siliconhippy's version of the weekly, I only got 4 picks and it was supose to be the same filter! Hummmmm....... It just didn't make sense.

Comparing the code I noticed the "weekly" preface was in different places.
Each filter was making a different search. My weekly was using the DAILY CWMA's against the WEEKLY high and low. So obviously the number of picks would be greater. Siliconhippy was doing the opposite using Weekly CWMA's against the Daily high and low. Thus getting far less picks. But they should be VERY GOOD candidates for a breakout given the much tighter requirements. So we learned something.

As far as the other issues / observations, they still need to be resolved, but we're making progress!

Opa.

StockFetcher[set{hw60,count(weekly high below weekly CWMA(PP,60,1),1)}
set{lw60,count(weekly low above weekly CWMA(PP,60,1),1)}
set{hw30,count(weekly high below weekly CWMA(PP,30,1),1)}
set{lw30,count(weekly low above weekly CWMA(PP,30,1),1)}
set{hw20,count(weekly high below weekly CWMA(PP,20,1),1)}
set{lw20,count(weekly low above weekly CWMA(PP,20,1),1)}
set{hw12,count(weekly high below weekly CWMA(PP,12,1),1)}
set{lw12,count(weekly low above weekly CWMA(PP,12,1),1)}
set{hw10,count(weekly high below weekly CWMA(PP,10,1),1)}
set{lw10,count(weekly low above weekly CWMA(PP,10,1),1)}
set{hw6,count(weekly high below weekly CWMA(PP,6,1),1)}
set{lw6,count(weekly low above weekly CWMA(PP,6,1),1)}
set{hw4,count(weekly high below weekly CWMA(PP,4,1),1)}
set{lw4,count(weekly low above weekly CWMA(PP,4,1),1)}
hw60 equals 0 and lw60 equals 0 and
hw30 equals 0 and lw30 equals 0 and
hw20 equals 0 and lw20 equals 0 and
hw12 equals 0 and lw12 equals 0 and
hw10 equals 0 and lw10 equals 0 and
hw6 equals 0 and lw6 equals 0 and
hw4 equals 0 and lw4 equals 0 and
Not OTCBB and volume above 250000 and
average volume(20) above 250000 and
add column weekly high {W high} and
add column weekly low {W low} and
add column weekly CWMA(PP,30,1) {&ma30} and
add column weekly CWMA(PP,13,1) {&ma13}]


cegis
235 posts
msg #32315
Ignore cegis
6/10/2004 11:01:13 AM

Here's my take on your questions:

- The highlighting indicates that the stock is on one of your watch lists. There's no indication as to which list it's on, so I personally find it less than useful. (JMHO)

- A post with "Fetcher[ <filter> ]" SHOULD make the filter a link that opens another window with the filter run. However, if SF has trouble interpreting the filter for any reason, the link is not made. I know for a fact that using "<" or ">" prevents the link from being made (at least as of a few weeks ago). So, my guess is that there's something in the filter that is causing SF some grief. My initial guess would be either the andpersand (&) in the column names, or the column naming itself. These are just hunches, but nothing else sticks out to me as being different than any filters I've posted that successfully became links.

That's about all I can offer on this.

HTH,

C


siliconhippy
37 posts
msg #32318
Ignore siliconhippy
6/10/2004 12:25:36 PM

I agree with cegis on Fetcher[] linking issues: changing &ma to cwma solves the problem. See below.

Interesting stuff about weekly v Daily between my twaek and AntNet's filters !


Stock
Fetcher[set{hw60,count(weekly high below weekly CWMA(PP,60,1),1)}
set{lw60,count(weekly low above weekly CWMA(PP,60,1),1)}
set{hw30,count(weekly high below weekly CWMA(PP,30,1),1)}
set{lw30,count(weekly low above weekly CWMA(PP,30,1),1)}
set{hw20,count(weekly high below weekly CWMA(PP,20,1),1)}
set{lw20,count(weekly low above weekly CWMA(PP,20,1),1)}
set{hw12,count(weekly high below weekly CWMA(PP,12,1),1)}
set{lw12,count(weekly low above weekly CWMA(PP,12,1),1)}
set{hw10,count(weekly high below weekly CWMA(PP,10,1),1)}
set{lw10,count(weekly low above weekly CWMA(PP,10,1),1)}
set{hw6,count(weekly high below weekly CWMA(PP,6,1),1)}
set{lw6,count(weekly low above weekly CWMA(PP,6,1),1)}
set{hw4,count(weekly high below weekly CWMA(PP,4,1),1)}
set{lw4,count(weekly low above weekly CWMA(PP,4,1),1)}
hw60 equals 0 and lw60 equals 0 and
hw30 equals 0 and lw30 equals 0 and
hw20 equals 0 and lw20 equals 0 and
hw12 equals 0 and lw12 equals 0 and
hw10 equals 0 and lw10 equals 0 and
hw6 equals 0 and lw6 equals 0 and
hw4 equals 0 and lw4 equals 0 and
Not OTCBB and volume above 250000 and
average volume(20) above 250000 and
add column weekly high {W high} and
add column weekly low {W low} and
add column weekly CWMA(PP,30,1) {cwma30} and
add column weekly CWMA(PP,13,1) {cwma13}
]





StockFetcher Forums · Filter Exchange · Excellent Breakout Warning Filter!<< 1 2 3 >>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.