ThinkOrSwim 52-week Highs/Lows Scanner and Watchlist Column


New member
52-week high/low is the highest and lowest price at which a stock has traded during the previous year. It is a technical indicator used by some traders and investors who view the 52-week high or low as an important factor in determining a stock's current value and predicting future price movement.

"Paris: Here's a watchlist you can use for percentage off 52 week high. For 52 week low, you can modify this."

# Percentage Off 52 Week High Watchlist
# Nick Name NAG®
# 11.02.2015

# This assumes a daily aggregation.  You will need to use
# daily or higher, adjust the 252 length as needed.

Round((close / Highest(high, 252) - 1) * 100)
Last edited:


I want to build a scan and not sure how to get the below conditions to work. I checked the price performance study but couldn't find anything I can find to get the below one.

1. 52W high was hit in the last 60 days
2. The current price is 50% below 52W high.


Well-known member

52 Week ( One Year) high has happened within past "Specified" Days (Bars)

#52 Week high has happened within past XYZ Days (bars);
#Default setting is 52 Week high has happened within past 60 Days
# By XeoNoX via
#Set Scan Aggregation to Day
declare lower;
input DaysWithin = 60;
#252 days represent one trading year
def YearHigh = Highest(high, 252);
def RecentHigh = Highest(high, DaysWithin);
plot scan = RecentHigh == YearHigh;

@lowtrade the 2nd part of your request can be found in default TOS or on this forum somewhere.
Last edited:

Similar threads