Lab Experiments

TOS Fastest Movers Column

This guide will walk you through adding a custom Thinkorswim watchlist column that shows the fastest-moving stocks over the last minute, with color coding to easily highlight the top movers. I am currently working on this, so expect some tweaks afterwards

fasted mover watchlist column

Why it’s helpful:

  • Quickly identifies stocks with strong short-term momentum.

  • Color coding allows you to see top movers at a glance.

  • Ideal for day traders and active traders.

How it works:

  • Updates at the close of each 1-minute bar.

  • Positive momentum is shown in green shades, negative in red/pink shades.

Designed to save time and enhance situational awareness in fast-moving markets.

Step 1: Open Your Watchlist in Thinkorswim

  1. Launch Thinkorswim and log in.

  2. Open your watchlist gadget from the left-hand sidebar.

Step 2: Open Custom Column Settings

  1. Click the gear icon at the top of the watchlist → select Customize…

  2. Scroll to Custom Quotes (Custom 1, Custom 2, etc.)

  3. Select a Custom # column → click Add Item(s) to move it to your watchlist.

⚠️ Make sure exactly one Custom column is highlighted.

Step 3: Open the ThinkScript Editor

  1. Highlight the Custom column → click ThinkScript Editor at the bottom left. (Depending on your version of TOS you may need to click on the script symbol next to the ‘custom’ name e.g. 📜custom6

  2. Delete any existing text.

Step 4: Copy and Paste the Script


// Fast Movers - 1 Minute % Change
// Watchlist-optimized, visible text

def priceNow = close;
def price1MinAgo = if !IsNaN(close[1]) then close[1] else close;
def pctChange = if price1MinAgo != 0 
                then (priceNow - price1MinAgo) / price1MinAgo * 100
                else 0;

plot Change1Min = Round(pctChange, 2);

Change1Min.AssignValueColor(
    if pctChange >= 1 then Color.WHITE
    else if pctChange > 0 then Color.BLACK
    else if pctChange <= -1 then Color.WHITE
    else if pctChange < 0 then Color.BLACK
    else Color.BLACK
);

AssignBackgroundColor(
    if pctChange >= 1 then Color.DARK_GREEN
    else if pctChange > 0 then Color.LIGHT_GREEN
    else if pctChange <= -1 then Color.DARK_RED
    else if pctChange < 0 then Color.PINK
    else Color.GRAY
);

AddLabel(yes, Concat(Round(pctChange, 2), "%"),
    if pctChange >= 1 then Color.WHITE
    else if pctChange > 0 then Color.BLACK
    else if pctChange <= -1 then Color.WHITE
    else if pctChange < 0 then Color.BLACK
    else Color.BLACK
);
  

Step 5: Save the Script

  1. Click Apply in ThinkScript Editor.

Step 6: Set Aggregation Period

  • Next to the column name, select 1 Minute (1m).

  • Click OK again to close the Customize Watchlist window.
how the script should look

How it should look

Step 7: Sort the Column

  1. Click the column header → sort descending.

  2. Fastest-moving stocks appear at the top.

  3. The column updates automatically every minute.

Step 8: Adjust Column Width (Optional)

  • Hover the right edge of the column header → drag to widen for full visibility.

Tips

  • Green shades → positive movement
  • Red/Pink shades → negative movement
  • Text color automatically adjusts for readability

  • Works best with watchlists under ~50 symbols

  • The column updates every 1 minute because it relies on 1-minute bars; Thinkorswim does not support watchlist columns updating faster than this.

Disclaimer:
This study is for educational and experimental purposes only. It is not a buy or sell signal, and I’m not responsible for any losses. None of what I say constitutes financial advice. Always do your own research and trade carefully. Use at your own risk; past performance is not indicative of future results