I recently had a question from a client on how to program and port a scanner from a video they’d seen from another platform and use it in Thinkorswim. So I decided to make a video and share the process and a couple of things I would do to improve the scan.
Here’s the video:
And the Thinkorswim sharing link:
And the code:
input maxWidthPct = 1.0; input minWidthSqueeze = .5; input withinBarsSqueeze = 5; input minWidthPct = 2.0; input withinBarsVolatile = 200; def bbh = reference BollingerBands().UpperBand; def bbl = reference BollingerBands().LowerBand; def bbm = reference BollingerBands().Midline; def width = bbh - bbl; def widthPct = width / bbm * 100; plot scan = highest(widthPct, withinBarsVolatile) >= minWidthPct AND highest(widthPct, withinBarsSqueeze) <= maxWidthPct AND highest(widthPct, withinBarsSqueeze) >= minWidthSqueeze;
And a screenshot: