New Members: Be sure to confirm your email address by clicking on the link that was sent to your email inbox. You will not be able to post messages until you click that link.
How to Scan for Average Daily Range % - Better than ATR

in Scanning
I think this ADR% scan is better than the standard ATR scan (explanation below). First, the scan:
[SMA(nPeriods,Range) > Close/x] where x=ADR%
For example, if I want to scan for stocks with an average daily range greater than 2% of the price of the stock over the last 20 days, I would calculate that 100/2=50, and then scan as follows:
[SMA(20,Range) > Close/50]
Background
Here is the default ATR scan: [ATR(nPeriods) > x] where x is an absolute value. For example, I could enter '2' and see stocks with an average true range greater than 2. If Blackberry is trading at $15, Apple at $150, and Alphabet at $1,500, how is that helpful to me? I'd have to scan within a price range to get meaningful results, and even then the results would be heavily weighted toward stocks that are priced in the upper end of my range.
Second, average true range includes inter-day data (gaps) in its calculation. I imagine that a stock that has been gapping significantly could continue to do so, but I don't see a strategy there. It's hugely risky to take a position ahead of a catalyst such as earnings, guidance, or data/clinical trials release. I'd rather pick up stocks that are in the act of breaking out. This is where Average Daily Range comes in. I want to select for stocks that have a habit of moving intraday, because this is the foundation upon which momentum is built.
Still unconvinced? Please tell me why. And use this scan code for ATR% if you if you prefer:
[SMA(nPeriods,ATR) > close/x] where x=100/ATR%
[SMA(nPeriods,Range) > Close/x] where x=ADR%
For example, if I want to scan for stocks with an average daily range greater than 2% of the price of the stock over the last 20 days, I would calculate that 100/2=50, and then scan as follows:
[SMA(20,Range) > Close/50]
Background
Here is the default ATR scan: [ATR(nPeriods) > x] where x is an absolute value. For example, I could enter '2' and see stocks with an average true range greater than 2. If Blackberry is trading at $15, Apple at $150, and Alphabet at $1,500, how is that helpful to me? I'd have to scan within a price range to get meaningful results, and even then the results would be heavily weighted toward stocks that are priced in the upper end of my range.
Second, average true range includes inter-day data (gaps) in its calculation. I imagine that a stock that has been gapping significantly could continue to do so, but I don't see a strategy there. It's hugely risky to take a position ahead of a catalyst such as earnings, guidance, or data/clinical trials release. I'd rather pick up stocks that are in the act of breaking out. This is where Average Daily Range comes in. I want to select for stocks that have a habit of moving intraday, because this is the foundation upon which momentum is built.
Still unconvinced? Please tell me why. And use this scan code for ATR% if you if you prefer:
[SMA(nPeriods,ATR) > close/x] where x=100/ATR%
0
Comments
-
Oh wait, these formulas could be much easier:
ADR% Scan: [SMA(nPeriods,Range)/Close > ADR%]
i.e. to scan for stocks with an average daily range over 2% for the last 20 days, I would write: [SMA(20,Range)/Close > 2]
ATR% Scan: [ATR(nPeriods)/Close > ATR%]
i.e. to scan for stocks with an average true range over 2% for the last 20 days, I would write: [ATR(20/Close >2]0 -
actually, those 'easier' formulas don't work, and I'm not sure why. use the original ones if this is interesting to you0
-
Move your decimal. The ATR, or ADR, is a much smaller number (usually) than the price.
Much smaller number divided by larger number can rarely be >20 -
yup. 2% would be .02 - thanks0
-
It might be worth investigating a scan that looks for ROC making new highs (e.g. max in 10 days, or whatever) and price breaking an upper price channel (close > 1 day ago Upper Price Channel) that has been flat for a while (e.g. 1 day ago upper price channel = 20 days ago upper price channel).
It's likely range would be expanding, if that's what you want, but you wouldn't have to test for it if ROC shows the momentum is there.0
Categories
- All Categories
- 2.3K StockCharts
- 395 SharpCharts
- 146 Other Charting Tools
- 69 Saved Charts and ChartLists
- 1.5K Scanning
- 73 Data Issues
- 177 Other StockCharts Questions
- 218 Technical Analysis
- 155 Using Technical Analysis
- 2 InterMarket and International
- 19 Market and Breadth Indicators
- 42 Market Analysis
- 109 Trading
- 109 Trading Strategies
- 163 S.C.A.N the StockCharts Answer Network forum
- 65 Using this StockCharts Answer Network forum
- 98 s.c.a.n. archives
- 5 Off-Topic
- 6 The Cogitation & Rumination Emporium
- Forum Test Area