Favorite ThinkorSwim Scanners?


What is your best results scan?I Personally like SlimRibbons or MACD Crossover. You have one that’s gangbusters? Spill your guts! 🤞
Last edited:


scan adx(5,wilders) crossing above 25
scan DI+(5,wilders) HIGHER THAN DI-(5,wilders) for breakouts
scan DI- higher than DI+ for breakdowns

once you picked ur candidates, see if price has crossed either support or resistance for more probability.
also, you can preselect your stocks that are in a squeeze mode before their move by scanning the fe gamma of the rsilaguerre.
scan fe gamma(10)>=.6.
eventually the fe gamma will go under .6 once the price starts to move in either direction.
please, if u have any addition or tweaks, feel free to comment.


Well-known member
Interesting scan, in a good way! What size stocks do you scan? S&P 500 crossed with Pennywide Option Stocks works well for me.
Feel free to take the Gamma all the way down to 5 for a fast Gamma. No higher than 14 on a daily or weekly chart. Best of luck!

Scanner for the Ichimoku Cloud - I don't follow what rice farmers invented 3-500 years ago, just put it here for interest. :)

# Scan - Comment out (#) the one you don't want
Ichimoku()."Kijun" crosses above MAX(Ichimoku()."Span A", Ichimoku()."Span B")
# Ichimoku()."Kijun" crosses below Min(Ichimoku()."Span A", Ichimoku()."Span B")


Well-known member
2019 Donor
Oops, that's not the whole code.:) No Problem, I look forward to seeing what you find!

Whoops, this is paired with the Hull watchlist, this momentum indicator

input length = 14;
input calcLength = 5;
input smoothLength = 3;

def o = open;
def c = close;
def data = fold i = 0 to length
           with s
           do s + (if c > getValue(o, i)
                   then 1
                   else if c < getValue(o, i)
                        then - 1
                        else 0);
def EMA5 = ExpAverage(data, calcLength);
def Main = ExpAverage(EMA5, smoothLength);
def Signal = ExpAverage(Main, smoothLength);
plot isTrue = if Main > Signal then 1 else 0;
AssignBackgroundColor(if Main > Signal
                           then color.green
                           else color.red);
Last edited:


Well-known member
2019 Donor
Man I don't know about that momentum indicator it never goes above one lol. But I put a 12/26 cross on this morning and its catching shorts where the Hull has not. Maybe the hull will at least confirm the 12/26 at some point. Still looking for a non-existant rainbow I put on a smami laguerre for kicks. I do have a hull/laguerre confirmed bear GLD with laguerre showing -0.56 also F at -97. I think the 12/26 cross is most accurate in finding Bull/Bear tickers.

Iit possible to color code the 12/26 cross and or improve this?

# Billy Bob's Better Gap Indicator for Column alert

# Cumulative Volume During An Active Period

# Mobius

# Chat Room Request 05.01.2018

declare lower;

def MACD_Calc = expAverage(close, 12)-expAverage(close, 26);

def SIGNAL = average(MACD_Calc, 9);

def OSMAc = MACD_Calc - SIGNAL;

def OSMAh = Highest(OSMAc,52);

def OSMAl = Lowest(OSMAc,52);

plot OSMA = (OSMAc-OSMAl)/(OSMAh-OSMAl)*100;


AssignBackgroundColor(if OSMA >= 50 then Color.UPTICK else Color.DOWNTICK);
Last edited:


Well-known member
@BenTen please delete if it's a duplicate:
# Premarket Gap-Up Scan
# Run Scan at premarket on one minute aggregation.
# Will not be accurate after hours or prior to midnight
# Mobius

def MarketClosePrice = if getTime() crosses RegularTradingEnd(getYYYYMMDD())
                       then close
                       else MarketClosePrice[1];

plot PreMarketScan = getTime() < RegularTradingStart(getYYYYMMDD()) and
close(priceType = "LAST") > MarketClosePrice * 1.01;
# End Scan Code
From TSL 9-23-19 I don't use this.


What is the squeeZe scan you use?
I used to use the bollinger/keltner channel squeeze but i realized it kicks in way behind price movement and more than likely you are missing the move. Then i started to use the laguerre with fractal energy to indicate whipsaw/sideways phases. The rule is as long as fe>0.6, then sideways move and as soon as fe<0.6 and going lower, the move is vertical either way until it cools off around fe<.3. That’s how i determine squeeze v. Move


New member
could someone please help me with code for bollinger band with Keltner channel squeeze scanner script which I can scan for trades and add to watchlist.? I am new to thinkscript .. thanks in advance


New member
This is a question about scanners. I often find myself wasting time looking for a good stocks to trade either intraday or swing. I literally spend hours and hours every night looking at charts for the right setup, but still end up trading the wrong ones. Does anyone have any suggestions on a good scanner setup that I can run to narrow my search? It can be for either intraday or swing trade. I have like 20 scans loaded on my mobile tos (anything from candle formation to rsi ob/os), but it's to hard to scan and check them all before the trade is gone. Any help would be great appreciated.