Thinkorswim Condition Wizard Watchlist 45

Build Custom Watchlist Columns Using Thinkorswim Condition Wizard

Build your own customized color-coded watchlists in Thinkorswim using the Condition Wizard. Color the background and values in your watchlist based on your favorite

Thinkorswim Condition Wizard Watchlist chart studies. Review hundreds of stocks at a glance. After mastering Thinkorswim Condition Wizard Watchlist, no more thumbing through endless charts to find your “needle in the haystack”.

The Condition Wizard in Thinkorswim does all the hard work for you. Just a few clicks of the mouse and the Thinkorswim Condition Wizard creates your code for you.

Learn how to write a very small amount of code to dynamically set the colors of the background and text in your custom watchlist columns. I walk you through it step-by-step. Several examples included. By the end of the video your mind will be exploding with new ideas on how to apply these techniques.


Examples included in this video:

  • Stochastic FullK above FullD
  • Price above or below VWAP
  • RSI overbought or oversold
  • TTM Wave
  • Mystery Bonus!

Want to learn more?

View videos from the Thinkorswim Watchlist category to learn more advanced methods of customizing the watchlist. Download free code with each of our free tutorial videos. See how easy it is to add custom columns for multiple time frames. Drastically reduce the amount of time spent searching for that perfect setup. Be sure to visit this link to the thinkorswim Watchlist category on the Hahn-Tech website: TOS Watchlists

*Thinkorswim is a chart analysis platform offered by TD Ameritrade:

TD Ameritrade provides financial services including the trading of Stocks, Futures, Options and Forex.


Please be sure to share this page with your friends and colleagues. Leaving comments below is the best way to help make the content of this site even better.

Watch the video, Thinkorswim Condition Wizard Watchlist below:

About Pete Hahn

For those trying to contact me about our professional services you will find all those details here: Any questions not related to our professional services or premium indicators should be directed to the comment section of the applicable video or you may post a question in our Q&A Forum:

Questions? Comments? Post a review?

45 thoughts on “Thinkorswim Condition Wizard Watchlist

  • Erwin

    Hi Peter,

    I am look for a study to add to my watchlist where the VWAP indicator crosses over the lower linear regression band. Is that something you can help with please?

    Kind regards,

    • Pete Hahn Post author

      The best place to search for solutions of this type is in our Q&A Forum. We have an entire topic dedicated to custom watchlist solutions. You will find that topic located here:
      As for the specific item you have requested, this is certainly an item which can be created using the condition wizard. So take some time to practice, building the examples demonstrated in this video. And once you learn how to build those examples you should be able to build what you have described.

      • Erwin

        Hi Pete,

        I created a customer study as follows and added that as a filter in my scanning criteria:

        reference VWAP(“num dev dn” = 0.0, “num dev up” = 0.5).”VWAP” crosses above LinearRegCh50(“price” = VWAP).”LowerLR” within 10 bars.

        Ideally this should be within the first 10 bars after market open but since I look at this scanner only in the first 10 mins, I think that should do.

        I think I need to set the “num dev up” to zero as well because anytime the VWAP crosses over the linear regression lower band, I would like that stock to be shown in the scanner list. Do you agree that is the way to go about this?

      • Pete Hahn Post author

        That’s a very good attempt. Nice work. But there is something about that LinearRegCh50 which makes it incompatible with custom scans. Something you would not recognize unless you were a developer. You can only use the LinearRegChVar in a custom scan. And you must set the “full range” to no and adjust the length to however many bars you want included in the channel length. Something like this:
        LinearRegChVar(“width of channel” = 50.0, “full range” = No, “length” = 100).”LowerLR”

        Notice that on this version, the “width of channel” is set to a value of 50.0,and is the value you need to use to get it to match the channel width used by LinearRegCh50.

        Also note that you have mistakenly assigned the VWAP study as the price source for your linear regression channel. You should have left that parameter as “close”.

        All of this is much more simple to address in our Q&A Forum. Sorry but this is the best assistance I can provide in the comments section of a video. This is far too limited to fully explain everything you need know.

  • Chung ho

    Hi Peter, Would you please help me to write the code for the column watch list from the scan code below. I try to put in the watch list and modify but it not working right. Please help.

    Thank you

  • James M Lima

    Conditional watchlists seem to peter out after a certain point. (The ADX) Anything beyond a stock beginning w/S I get a cust..cust.cust. error. It’s not the amount of companies bkz even smaller watchlists do the same. What am I missing. Thanks for all u do. Keep up the good work.

    • Pete Hahn Post author

      Expand the width of one of your columns and you should be able to read the entire error message. Which will answer your question. The error message probably says the following: ‘custom expression subscription limit exceeded’.

      The “limit” is not based on the number of stocks in a given watchlist. The limit is based on the total number of custom quotes applied to ALL watchlist gadgets multiplied by the total number of rows in each of those watchlist gadgets.

      So yes, even a watchlist with only a handful of stocks can exceed the limit, if you have a very larger number of custom quote columns. There is no “fix” for this. You must reduce the number of custom quotes applied to open watchlists until the error disappears.

  • Byculla

    Mr. Hahn, Have you considered writing a book covering TOS software or even booklets covering sub-sections in depth ie. “Thinkorswim Condition Wizard Watchlist” and selling them. Put your vast knowledge into paper for the benifit of us mere motals.

    • Pete Hahn Post author

      I have considered this however I have been so busy building custom solutions for individual retail traders that I can’t even find time to publish the many videos I have in the pipeline. I wasn’t able to publish a single new video in the past 18 months. Gotta focus on that before I consider publishing books.

  • Robert Farrell

    Hello, I have a question concerning the thinkscript Editor for the watchlist column. I have a script where I am looking for a certain color condition but the assignbackground script only appears to work the way I want it is by writing the script backwards. I have a EHMA length =14; (exponential) and the Midline from the Bollinger Band script length 20; (simple) I am looking for a green background color to turn green when “FastLenth” is greater than Midline and background color to be red when the Fastlength is less than the Midline. Thank you!

    [Edit: The website moderator has removed the code that was included with this comment]

    • Pete Hahn Post author

      1. The place to post a question to request assistance with code is in our Q&A Forum and not within the comments section of a video.
      2. If your code is working when you write the condition statement backwards, what is the problem?

  • krahsloop

    Hi Pete, you sent me to this video a couple weeks ago and I was able to add two conditional watchlist columns that have been awesome, thank you again! This may be elementary, but I’m trying to figure out how to add these as chart labels. For reference below is the code for an entry signal I created by following the video, and also a MACD watchlist column. I’d simply like for what happens in the watchlist column, to happen on a label on my chart(s), but not sure how to adapt the code to view on a chart rather than in the watchlist. I hope that makes sense, and thank you for your time and consideration!

    • Pete Hahn Post author

      Your comment has been edited to remove the code you included. The comment section of a video is not the place to seek solutions of this complexity. This is why we have a Q&A Forum on this website. Please search and browse existing solutions in the Q&A Forum and if you do not find a solution you may consider posting a new question in the forum.

  • Tim Slattery

    Nice, clear tutorial. Unfortunately it doesn’t help with what I’d like to do. I trade options, and one of the columns I put in my watchlist is “Probability OTM”. That is a “built-in” of the watchlist. I’d like to change the background color if the value is less than a setpoint. Unfortunately it looks like “Probability OTM” is not available in the Condition Wizard, or at least I couldn’t find it. Is there any way to get the effect I want?

  • JP

    Hi Pete, is there a way to remove the numerical value in the column? I tried signal.sethiding(1); signal.hide(); #(signal being the name of my plot) but it still shows the 1s and 0s

    • Pete Hahn Post author

      The column must display a value of some kind. You can adjust the color of the plot variable to match the background color. But the value will still be present. HINT: the numeric value means that column can be sorted to group like signals together.

      • JP

        Thank you Pete I suspected as much and it is actually useful sorting, would’ve been cleaner though if it was hidden – I guess I’ll try your idea and color the values dynamically to match the background.

      • JP

        Pete, is it also true that you cannot call on a defined global color within the watchlist formula or am I just crazy?

        This below just gives me black and white
        defineglobalcolor(“above”, color.light_green);
        defineglobalcolor(“below”, color.light_red);
        assignBackgroundColor(if value==1 then globalcolor(“above”) else if value==2 then globalcolor(“below”) else
        signal.assignValueColor (if value==1 then globalcolor(“above”) else if value==2 then globalcolor(“below”) else

        it works well if I specify the colors

      • Pete Hahn Post author

        Yes, that is correct. We cannot define global colors in a custom watchlist column. Which makes complete sense once you understand there is no graphical interface from which to adjust those global colors. As we can do with a chart study.

      • JP

        Pete, thanks so much for your help and your quick replies. I’ve e been stalking this site for a while. In reference to the global color, Being able to define a variable for color would still have purpose eliminating the need to specify it at each instance while being able to change it universally, from I gathered there’s no workaround? I guess tos doesn’t allow referencing definitions like that?

      • Pete Hahn Post author

        Correct, Thinkorswim does not support Global Colors within custom watchlist columns. I have no idea for their reasoning behind this limitation. It may simply be an oversight or they may have a specific reason for disabling it.

        However you can still use the DefineColor() statement on the plot for the custom watchlist column. It works very much like the Global Color definition. Details here:—Feel/DefineColor