How to Use the TOS Scanner



@mcfaul100 Take a look at the first thread on this page and also the video :)


I don't know why I don't get how to use it but how do you make a scanner that will just scan stocks that either closed above or below 1 moving average. Like for example, how do I scan stocks that closed or below an EMA set to 200? All I see in the scanner is crossover of two moving averages. Can anybody assit me on how to do this?


Active member
2019 Donor
Guys I need some help, I need some basic info on how to set up a scan, like where to put the code and all, etc please thanks a bunch.


New member
Hey everyone, I am totally drawing a blank. I cannot for the life of me figure out how to load a scan or watchlist after I upload the TOS code into TOS. Can anyone help?

Sorry, I am sure this is remedial, but cant figure it out


New member
You should use the "True" statement when there is an arrow or an indication on the chart. For example, if there is a function in the code that plot an arrow every time the price crosses above or below the moving average, then in the Scanner, you would want to use the "True" option. If there isn't such a thing, you will have to use "crosses," "crosses above," or "crosses below" in the Scanner.

Looking at the source code, it already include the scan snippet for you.

As far as delay time, it's between 5-10 mins; it doesn't matter which timeframe you're using.
Hey ben, I'm creating a WilliamsAD with a moving average crossover Watchlist, but the issue is that it is not plotting correctly, in the chart the indicator is bullish but in the watchlist still shows bearish and so on, could you please help me?
script WilliamsADThinkscropt {
plot Data = close;
# Williams AD
# tomsk
# 11.26.2019

declare lower;

input MAlength = 57;

plot WAD = AccumDistBuyPr();
plot ZeroLine = 0;

plot SMA = Average(WAD, MAlength) ;
SMA.AssignValueColor(if SMA > WAD then Color.Red else Color.Green);

AddVerticalLine(WAD crosses above SMA, "Cross Up", Color.Green, Curve.Points);
AddVerticalLine(WAD crosses below SMA, "Cross Down", Color.Red, Curve.Points);
# End Williams AD

plot bullish = WilliamsADThinkscropt("m alength" = 8)."WAD" is greater than WilliamsADThinkscropt("m alength" = 8)."SMA" or WilliamsADThinkscropt("m alength" = 8)."WAD" crosses above WilliamsADThinkscropt("m alength" = 8)."SMA";
AssignBackgroundColor(if bullish then color.dark_green else;