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.
First, a basic criteria would be that the stock is already evolving in a bullish trend :
//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.
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%.
//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.
How long ago were created the 52 week high? Let’s find it.
//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.
Here is the whole thing :
//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.