Scan for stocks with high ATR?


Hi. I wonder if anyone has a scanner that identifies wide range ATR? The breakout indicator is very good for when I have selected a specific ticker. But I am looking to find stocks in wide range ATR in pre market. Thank you,


New member
I was wondering if theres a scan that searches for stocks that have a high atr? Example shop has an atr of 18$ on the daily chart is there a way to search for one that's say atr 8 and higher? I have the script of it would help


Well-known member
@Brettser16 Here is a scan for 2.5 times the ATR. Place the following code in the scanner.
I just scanned the S&P 500 using a daily aggregation and obtained 6 hits

def factor = 2.5;
plot scan = TrueRange(high[1], close[1], low[1]) >= Average(TrueRange(high[1], close[1], low[1]), 10) * factor;
Last edited:


Staff member
@wilmanv You can set it up using the scanner's condition. Something like this:



@BenTen That should work. Using this in conjunction with the SuperTrend scan. I like stocks that trade with at least a 50 cent ATR. I also use the trend reversal indicator. I know it repaints, but I may have found a visual fix for it that works for me. I've managed 15% to 22% returns on the last several trades I've done over two months. Problem I've had with scanning for the most part is filtering out all the stocks with low ATRs.


New member
ok at first i thought that the AtrHighSMA study was basicly just an average true range study, but that does not seem to be what it is. like the title says its funky as hell. Only works on daiily timeframes, ect, ect, ect. Such a simple basic scan suprising its not built in. So if anyone has a script for a basic Atr scan that i can use on multiple timeframes i would be forever greatful.
ok this is my first time playing with the atrhighsmabreakouts filter and of course the market is closed. Although the scan seems to work fine on the daily chart. Maybe this will get me by ok. Whats the volume limit for? is that to set the max or minimum volume.. Not sure why they put that there dont people usually set their own volume limits. dont see that volume settings on too many of the other indicators.
Last edited:


Well-known member
Running code against pre-market and comparing to averages that include pre-market data is not simple/reliable in TOS. The reason is there is no data for periods when there was no action. It's not that the values are Double.NaN. Those periods actually don't exist. Look at your chart with Ext Hours on for a stock that didn't do anything in ext hours. There's very few candles. I originally assumed the chart was hiding those periods to compress the space with no data. That doesn't seem to be the case. Watchlist columns also get no data for those periods. I'm guessing the same is true for scans. If that's the case then using a lookback index or any computation with a length of candles to look back will get different timestamped candles on different stocks.

Also, the code given as the original answer for this thread has a bug. TrueRange should be calculated using the high, low and previous close. That example uses the high, low and close from the same period. The reason to use the previous close is to account for gaps.