Pre-market Gap from Previous Close Scanner for ThinkorSwim

BenTen

BenTen

Administrative
Staff
VIP
Warehouse
Here is a pre-market gap scanner for ThinkorSwim that looks for stocks with a 1% gap up or down from the previous close. Mobius shared this in the thinkScript lounge.

Code:
# Scan PreMarket: Scan for 1 Percent gap from Previous Close
# Scan at 5 min aggregation or less
# Mobius
# Chat Room Request

def PrevClose = if SecondsTillTime(1555) == 0 and
                   SecondsFromTime(1555) == 0
                then close
                else PrevClose[1];
def ScanActive = if SecondsTillTime(0930) >= 0 and
                    SecondsFromTime(0730) > 0
                 then 1
                 else 0;
def ll = if ScanActive and !ScanActive[1]
         then low
         else if !ScanActive
         then double.nan
         else if ScanActive and low < ll[1]
         then low
         else ll[1];
def hh = if ScanActive and !ScanActive[1]
         then high
         else if !ScanActive
         then double.nan
         else if ScanActive and high > hh[1]
         then high
         else hh[1];
# Comment out (#) Plot NOT wanted
plot gapUP = if ScanActive and ll > PrevClose * 1.01
             then 1
             else 0;
#plot gapDN = if ScanActive and hh < PrevClose * .99
#             then 1
#             else 0;
 
Texan57

Texan57

New member
VIP
I can't seem to get this sucker to work, are there any other configurations I need to set?
 
BenTen

BenTen

Administrative
Staff
VIP
Warehouse
No configurations needed. Pay attention to the following lines:

Code:
plot gapUP = if ScanActive and ll > PrevClose * 1.01
             then 1
             else 0;
#plot gapDN = if ScanActive and hh < PrevClose * .99
#             then 1
#             else 0;
By default this is scanning for gap ups. If you want to scan for gap downs then add # in front of the plot gapUp and remove the # for plot gapDN.

Something like this:

Code:
#plot gapUP = if ScanActive and ll > PrevClose * 1.01
#             then 1
#             else 0;
plot gapDN = if ScanActive and hh < PrevClose * .99
             then 1
             else 0;
 
wilmanv

wilmanv

New member
Warehouse
How Add scan script to scan options on ThinkorSwim, thanks
 
Last edited by a moderator:
BenTen

BenTen

Administrative
Staff
VIP
Warehouse
@wilmanv Switch over to your Scanner tab, select a filter, under the thinkScript Editor, paste the code above in there.

 
T

Trismagistus

New member
I get "no matching symbols" when I run this script (as is) in a custom scanner. I'm not clear on the effects of the PrevClose and ScanActive variables. Does this script need to be run before/after US market hours? Or are there any other environmental conditions that need to be set (or need to be true/false) in order for this script to produce output?

I have a screenshot of what I'm seeing, if it'd help. Thanks in advance. -- Tris
 
T

tomsk

Well-known member
VIP
Warehouse
@Trismagistus The scan code that @BenTen posted at the beginning of this thread does work
All you need to do is to run this before the market opens at aggregations of 5 minutes or less
Pay attention as to whether you want to scan for gap up or gap down
The code is configured for both.

Since the scanner only accepts a single plot statement you'll need to comment out the scan you do not wish
I have written some instructions on how to best manage this.
Read this for further info

 
R

RPrado

Member
Warehouse
Guys, I am having trouble getting this scanner to work. I tried during pre-mkt hours today, right after 7:30 but nothing was shown. Can anyone help me out? Thanks.
 
T

tomsk

Well-known member
VIP
Warehouse
@RPrado Try running the scan again tomorrow premarket hours
According to the notes in the scan code scan this at aggregation period of 5 min or less,
 
R

RPrado

Member
Warehouse
Will try again on 5 min time-frame @tomsk. Thanks,
 

Top