StockFetcher Forums · Filter Exchange · Breakout Trading Filter - GREAT RESULTS!<< 1 2 3 4 5 >>Post Follow-up
wilson
15 posts
msg #132859
Ignore wilson
11/28/2016 12:53:46 PM

HI All

For the past many years I have been working on and tweaking breakout filters, and I would like to share it with all of you. The one I am currently using takes into account tight Moving Averages very close to one another for the last 240 days (although this length of time can be played around with). The average of the 2 200 MAs, (EMA 200and MA 200) is within 15% of the MA(80) and 25% of the MA(400). (these values can be adjusted as well) The stock must have reached an 80 day high, candle must be white, price is between .25 and 12, and close must above MA(400). It is a fairly simple filter that pulls up stocks ready to breakout. I have had great success using this filter (and ones similar) paper trading. This past year I have made roughly 32,000 trading with a margin account of 50,000 (PAPER trading).

PLEASE backtest this filter so you can see for yourself the awesome gains and possibilities that this filter can bring.

I would love for anyone to feel free to use this filter, ask me questions, or to help tweak this filter to make it even better and/or tell me what I can do to make it even more powerful. Much thanks and luck to all of you.

here it is:





and Close is between .25 and 12.0
and Close reached a new 80 day high

and close above open

and close above ma(400)

set{xmsum, ema(200) + ma(200)}
set{xema_avg, xmsum / 2}

set{matop5, max(MA(400), xema_avg)}
set{mabot5, min(MA(400), xema_avg)}
set{v1a, count(matop5 less than 25 percent above mabot5, 80)}
set{v2a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v3a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v4a, v1a + v2a}
set{v5a, v3a + v4a}
show stocks where v5a equals 240


set{matop6, max(MA(80), xema_avg)}
set{mabot6, min(MA(80), xema_avg)}
set{v1b, count(matop6 less than 15 percent above mabot6, 80)}
set{v2b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v3b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v4b, v1b + v2b}
set{v5b, v3b + v4b}
show stocks where v5b equals 240


show stocks where count(high equals low, 60) < 15

johnpaulca
12,036 posts
msg #132860
Ignore johnpaulca
11/28/2016 1:03:52 PM

Clickable....can this be modified for folks in the cheap seats?

Fetcher[
and Close is between .25 and 12.0
and Close reached a new 80 day high

and close above open

and close above ma(400)

set{xmsum, ema(200) + ma(200)}
set{xema_avg, xmsum / 2}

set{matop5, max(MA(400), xema_avg)}
set{mabot5, min(MA(400), xema_avg)}
set{v1a, count(matop5 less than 25 percent above mabot5, 80)}
set{v2a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v3a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v4a, v1a + v2a}
set{v5a, v3a + v4a}
show stocks where v5a equals 240


set{matop6, max(MA(80), xema_avg)}
set{mabot6, min(MA(80), xema_avg)}
set{v1b, count(matop6 less than 15 percent above mabot6, 80)}
set{v2b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v3b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v4b, v1b + v2b}
set{v5b, v3b + v4b}
show stocks where v5b equals 240


show stocks where count(high equals low, 60) < 15
]



tugga82
12 posts
msg #132866
Ignore tugga82
11/28/2016 10:23:24 PM

Thanks for posting this filter Wilson. Question when it comes to how you trade them?

The filter did retrieve a number of stocks with low volume. Do you use a minimum volume to trade some of these stocks from this list?

Do you pick the top 3 stocks from this list or what strategies do you use to trade them?
Also, any pointers in terms of the number of days you hold these?

Anything you can do to help will be appreciated.

Thanks,
Tugga

wilson
15 posts
msg #132879
Ignore wilson
11/29/2016 12:14:57 PM

HI !

So I meant to add that you should take away the line :

" close is above MA(400)"

you will get many more results with that criteria omitted.

wilson
15 posts
msg #132880
Ignore wilson
11/29/2016 12:30:31 PM

I am so happy to help you all.

So In terms of volume, I do not use volume as a criteria in these filters because I have found that for these stocks it is not a strong enough indicator. Meaning, yes the filter does of course pull up lots of low volume stocks, however i doesn't mean much. Obviously a stock that has higher volume (especially) towards the most recent days of trading is going to have an stronger impact on the way the way the stock is about to trade, however I have found through LOTS of backtesting that to limit the volume would be to limit too many winners. If a stock comes up that has low volume, then I can watch it and see if the volume increases over the next few days... lots of times however, low volume will not make a difference at all.

In terms of how I trade these stocks, well, l have gotten pretty good at knowing an immediate buy based on the chart alone. I am not very good at looking at fundamentals. this is something that I am looking for help with. Having said that, due to the nature of the stocks this filter pulls up, fundamentals don't carry that much weight. Its a momentum based trading system. I usually will enter a stock within 1-3 days that it comes up, OR, continue to look back at the stocks that were pulled up in the days preceding to look for an entry.

I apologize if I am too wordy. Please ask me anything.

this is the better version of the filter that I am using:




count(close above ma(20), 60) > 30

and Close is between .25 and 12.0
and Close reached a new 80 day high

and close above open

stocks where count(high equals low, 60) < 15

set{xmsum, ema(200) + ma(200)}
set{xema_avg, xmsum / 2}

set{matop5, max(MA(400), xema_avg)}
set{mabot5, min(MA(400), xema_avg)}
set{v1a, count(matop5 less than 25 percent above mabot5, 80)}
set{v2a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v3a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v4a, v1a + v2a}
set{v5a, v3a + v4a}
show stocks where v5a equals 240




set{matop6, max(MA(80), xema_avg)}
set{mabot6, min(MA(80), xema_avg)}
set{v1b, count(matop6 less than 25 percent above mabot6, 80)}
set{v2b, count(matop6 80 days ago less than 25 percent above mabot6 80 days ago, 80)}
set{v3b, count(matop6 80 days ago less than 25 percent above mabot6 80 days ago, 80)}
set{v4b, v1b + v2b}
set{v5b, v3b + v4b}
show stocks where v5b equals 240





wilson
15 posts
msg #132884
Ignore wilson
11/29/2016 1:10:18 PM

The mechanics of holding and position timing is something that depends on many factors.

In regards to length of time to hold is something that is based on % made or lost, price action, (candles, and MACD) and having a greater understanding on why or why not the stock will continue to rise. These are areas where I could use another brain to help me with.

nibor100
835 posts
msg #132911
Ignore nibor100
11/30/2016 11:42:05 AM

Wilson,

In comparing your breakout filter to your description paragraph it appears there might be typos for variables v3a and v3b as they seem to duplicate v2a and v2b making it possible for the totals to hit 240 but it appears the count statements are only covering 160 days of history in total.

Could you verify?

Thanks,
Ed S.

wilson
15 posts
msg #132918
Ignore wilson
11/30/2016 12:54:44 PM

unless I am mistaken, this is how it works:

variable "v1b" is setting it 80 days back, variable "v2b" is setting it back 80 more days more than "v1b", and "v3b" is setting it back 80 more days than variable "v2b". Variable "4vb" is adding v1b and v2b together making it = 160, and "v5b" is adding "v3b" plus "v4b" together making it equal 240.

The final number has to add up correctly to 240 or the filter will not work. Try it an see. Change the 240 to something else and the filter will not return any results. What you can do though is set the days back to however many you want as long as the total at the end equal 3x the value you choose. For example If I wanted to go 300 days back, you would change all the 80s to 100s, and use the value 300 at the end.

you also can change tighten or open the percentages. Currently the filter is using 25% for both sets of MAs, but you might want to change the (MA(80), xema_avg) to 15%, as I have done below. This will of course give you fewer results, but they may be more accurate.

The below is what the total filter would look like:



Fetcher[

and Close is between .25 and 12.0
and Close reached a new 80 day high

and close above open

show stocks where count(high equals low, 60) < 15

set{xmsum, ema(200) + ma(200)}
set{xema_avg, xmsum / 2}

set{matop5, max(MA(400), xema_avg)}
set{mabot5, min(MA(400), xema_avg)}
set{v1a, count(matop5 less than 25 percent above mabot5, 80)}
set{v2a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v3a, count(matop5 80 days ago less than 25 percent above mabot5 80 days ago, 80)}
set{v4a, v1a + v2a}
set{v5a, v3a + v4a}
show stocks where v5a equals 240


set{matop6, max(MA(80), xema_avg)}
set{mabot6, min(MA(80), xema_avg)}
set{v1b, count(matop6 less than 15 percent above mabot6, 80)}
set{v2b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v3b, count(matop6 80 days ago less than 15 percent above mabot6 80 days ago, 80)}
set{v4b, v1b + v2b}
set{v5b, v3b + v4b}
show stocks where v5b equals 240

]



nibor100
835 posts
msg #132931
Ignore nibor100
11/30/2016 2:50:04 PM

Wilson,

I'm fairly certain now that is not the case due to looking at a one year graph of CISG after adding the following 3 lines to your filter

draw ema(200)
draw ma(200)
draw ma(400)

Looking at the 1 year chart in SF 2.0, so I can see the values for every line plotted on the chart for any point by hovering, it appears that on March 17, 2016 the 80 MA was at 10.17 and the avg of the ema200 and ma200 was at 8.14 which is a diff of much more than 15%.

I believe this is because the coding in your filter for v2a is identical to that for v3a, so the lookback period for both is the same duration and starts on the same date as is true for v3a and v3b.

I was going to backtest this in another program I have access to and I want to make sure of all of the parameters of your filter that supported your paper trade results that you posted earlier so I'll have something to compare to.

Thanks,
Ed S.

wilson
15 posts
msg #132947
Ignore wilson
11/30/2016 11:57:53 PM

HI Ed,

Putting the variables aside for the moment (we will get them straightened out), I do not have the same values for CISG on March 17, 2016 that you do.


I pulled up the CISG (CNinsure Inc..... right?) chart on SF 2.0 and by hovering I'm getting values very close to 8.0 for the MA(80) and about 8.13 for the Average of the MA(200) and EMA(200). I am not sure why we would have such a discrepancy. In fact, looking at the chart for the last 2 years I cannot even find any MA that has a value in the 10s. Are you sure about the stock symbol and date? I do not use the "draw" code for my MAs. The MAs that are on my chart are the ones you can select in "settings". I have my charts set to pull up the MAs 20, 80, 200s, and 400.

I just double checked it by adding the draw MAs to my filter and turned off the ones in "my settings" and still have the same values.

Is there a way you or I can I post a screenshot of the charts we are looking at?

I very much appreciate your help. Lets figure this out!

Wilson









StockFetcher Forums · Filter Exchange · Breakout Trading Filter - GREAT RESULTS!<< 1 2 3 4 5 >>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 2021 - 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.