Fetching the stocks that may breakout their recent highs is a difficult task when you do not know where to start and what are the best criterias to find them.
With the ease of the ProScreener module, you can find them in a glance. I’ll put you how in this small article with screener examples.
Bullish stocks, where are you?
First, a basic criteria would be that the stock is already evolving in a bullish trend :
- Close is above 50 day EMA (so the current average Close is above the whole recent 50 days Close average)
- Close is above 20 day EMA (so the current average Close is also above the whole recent 20 days Close average)
- The 20 day EMA is above the 50 day EMA (we ensure that the trend is bullish, we got a fast EMA above the 50 day one)
1 2 3 4 5 |
//bullish trend EMA1 = exponentialaverage[20](close) EMA2 = exponentialaverage[50](close) bullish = Close>EMA1 AND Close>EMA2 AND EMA1>EMA2 |
With only these 3 criteria, we will of course find a long list of bullish stocks that may not all be interesting for what we want to achieve here : find potentially stocks that may breakout in a near future.
52 weeks high, the frontier
Breakout stocks mean that they have to break a recent level where the price didn’t pass through. The 52-week high is a common indicator uses in stock trading as a landmark to find the last top of the top price.
To find a great potential of breakout, we have to find this 52 week high and test if the price if near below it, between 0 and 5%.
1 2 3 |
//near 52 week highest price FiftyTwoWeekHigh = highest[250](high) FivePercentBelow = 1-(Close/FiftyTwoWeekHigh)<5/100 |
We’ll find here again a lot of stocks. So they are evolving near their 52 week high but this 52 week ‘frontier’ may have been formed recently if a breakout has already happened, so we do not want to add those kind of stocks to the screener list. We have to add another criteria to test if this 52 week high were created at least 3 days ago.
Near breakout stocks on recent 52 week high
How long ago were created the 52 week high? Let’s find it.
1 2 3 4 5 6 |
//the recent 52 week high were created at least 3 days ago if FiftyTwoWeekHigh = FiftyTwoWeekHigh[1] AND FiftyTwoWeekHigh = FiftyTwoWeekHigh[2] AND FiftyTwoWeekHigh = FiftyTwoWeekHigh[3] THEN AtLeast3DaysAgo = 1 ELSE AtLeast3DaysAgo = 0 ENDIF |
Ok, now we have filtered a lot and we obtain a decent list of potential breakout that we have could easily find by ourself without a screener.. but not in less than 5 seconds like ProScreener can do and with strict conditions.
The whole code for the breakout stock screener
Here is the whole thing :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//bullish trend EMA1 = exponentialaverage[20](close) EMA2 = exponentialaverage[50](close) bullish = Close>EMA1 AND Close>EMA2 AND EMA1>EMA2 //near 52 week highest price FiftyTwoWeekHigh = highest[250](high) FivePercentBelow = 1-(Close/FiftyTwoWeekHigh)<5/100 //the recent 52 week high were created at least 3 days ago if FiftyTwoWeekHigh = FiftyTwoWeekHigh[1] AND FiftyTwoWeekHigh = FiftyTwoWeekHigh[2] AND FiftyTwoWeekHigh = FiftyTwoWeekHigh[3] THEN AtLeast3DaysAgo = 1 ELSE AtLeast3DaysAgo = 0 ENDIF AllConditions = bullish AND FivePercentBelow AND AtLeast3DaysAgo = 1 SCREENER [AllConditions] |
You can play easily with it and add many other filters that you may find useful, such as Volume value, stock price not less than 5$ for instance or use it only for penny stocks. Stock picking is not an easy thing but the ProScreener module and its easy programming language can help a lot.
You can find this stock screener file at the end of this article or in the Library here : http://www.prorealcode.com/prorealtime-market-screeners/breakout-stocks-screener/
If you have any suggestion or modification to add, I’ll be happy to discuss about it.
I coded the bearish side of this stock screener for fetching breakout down stocks, as a request on the forum, right here : http://www.prorealcode.com/topic/breakdown-stocks-fetcher/