Thinkorswim Custom Watchlist Columns Not Recalculating Premarket

ronbla

New member
Plus
Thinkorswim custom watchlist columns not recalculating premarket — quotes update normally

I'm trying to determine whether I'm seeing a Thinkorswim limitation/throttling issue with custom watchlist columns during extended-hours trading.

I have a FAST watchlist with about 29 symbols and four custom thinkScript columns:

  • CONF-15 — 15-minute calculation
  • T-INT F V2 — intraday calculation
  • T-INT-F 5M — 5-minute calculation
  • JOE-F V2 — composite calculation
During yesterday's regular trading session, these columns updated normally and reacted to market movement.

This morning during premarket, however, I noticed something very different.

The Last/Bid/Ask fields continue updating normally, but all four custom thinkScript columns can remain completely unchanged for 30+ minutes.

For example, SOXL remained:

CONF-15 = 54
T-INT F V2 = 17
T-INT-F 5M = 20
JOE-F V2 = 0


Those values stayed identical while SOXL's Bid/Ask moved substantially and multiple 5-minute bars passed.

I tried several things to force recalculation:

  • Switched to another watchlist and back
  • Added a column to the watchlist
  • Detached the watchlist
  • Exported the watchlist to Excel
  • Completely exited and restarted Thinkorswim
None caused the populated custom-column values to recalculate.

Interestingly, when I created a new custom script and then deleted it, several symbols suddenly displayed "loading" across all four custom columns, while Last/Bid/Ask remained populated. Other symbols continued displaying their previous calculated values.

That makes me wonder whether TOS maintains a separate calculation queue/cache for custom quotes and throttles those calculations during extended hours.

Questions:

  1. Are custom watchlist thinkScript columns known to recalculate less frequently or be throttled during premarket/extended-hours sessions?
  2. Is there a command or reliable method to force TOS to recalculate all custom quote columns?
  3. Can a 5-minute custom quote remain unchanged even though several new 5-minute extended-hours bars have completed?
  4. Is there anything specific that must be included in thinkScript code to ensure custom quote calculations use and refresh from extended-hours data?
  5. Could having four custom columns across roughly 29 symbols be enough to trigger TOS calculation throttling?
The especially puzzling part is that the same watchlist and scripts worked normally during the regular market session yesterday.

I'm trying to determine whether this is expected TOS behavior before changing the scripts themselves.

Any insight from people who have worked extensively with custom watchlist columns and extended-hours data would be appreciated.
 
The limit is on the raw number of active fields, it shows a visible error message when breached. My pre-market scans, and associated columns, both of which numerically exceed that of your situation, work without issue, and have been for yeas. It sounds like TOS may have been experiencing a technical issue or a connectivity issue.

Are you certain that your columns' time frame setups are correct, and with the extended hours checkbox enabled?

Do the columns make reference to a secondary symbol, which is perhaps not updating along with the root symbol of the columns?

Is there an excessive historical offset in the columns?

Post the code to at least one of them. It'll be far easier for me to diagnose on my own end.
 
The limit is on the raw number of active fields, it shows a visible error message when breached. My pre-market scans, and associated columns, both of which numerically exceed that of your situation, work without issue, and have been for yeas. It sounds like TOS may have been experiencing a technical issue or a connectivity issue.

Are you certain that your columns' time frame setups are correct, and with the extended hours checkbox enabled?

Do the columns make reference to a secondary symbol, which is perhaps not updating along with the root symbol of the columns?

Is there an excessive historical offset in the columns?

Post the code to at least one of them. It'll be far easier for me to diagnose on my own end.
Joshua thanks for responding. After some experimenting what I have done is to do most development using SQL server and C# within Visual Studio as it has far more horsepower. What I would like to do though is to execute a series of custom scripts that are then captured in EXCEL and I have a SQL process that captures that data every 3 minutes. The problem I am having is even tough I moved over to a dynamic stock list it seems that if i don't babysit the process it stops capturing the data to EXCEL. I have a VB script that let's me know what is happening and I can see that the data is reloading rather then staying fixed. I have tried using Auto Hotkey , a .ahk process that pings TOS to keep it alive but had limited success. Any thoughts would be appreciated.
 

Attachments

  • SampleScript.txt
    5.5 KB · Views: 12
  • SampleView.jpg
    SampleView.jpg
    98 KB · Views: 12
The sample column script provided is currently updating during extended hours on my end. I don't see any obvious problems in the script itself. Again, if it's still not updating for you during extended hours, the problem is most likely with the external setup, like the column-specific time frame settings for example.

Although, your question seems to have now shifted. I am not sure what you mean by pinging TOS to keep it alive, but from the sound of it, you'd might be better off going directly through the Windows API instead of AHK. Can you provide more detail?
 
Last edited:
The sample column script provided is currently updating during extended hours on my end. I don't see any obvious problems in the script itself. Again, if it's still not updating for you during extended hours, the problem is most likely with the external setup, like the column-specific time frame settings for example.

Although, your question seems to have now shifted. I am not sure what you mean by pinging TOS to keep it alive, but from the sound of it, you'd might be better off going directly through the Windows API instead of AHK. Can you provide more detail?
Hello again.
By “pinging TOS,” I mean that an AutoHotkey script clicks the green Scan button in thinkorswim, currently about every three minutes. It’s a visible mouse click, not a network ping or an API call.

The problem is that the scan results and custom study columns sometimes stop updating when I leave that TOS screen unattended. Some cells show “Loading…” instead of calculated values. When I return to the scanner and click Scan, the results come back to life. The AHK script has helped keep them updating while I’m away.

Those values feed an Excel/VBA capture that runs roughly every 15 minutes and writes the watchlist data to SQL Server. If the columns are still loading at capture time, the data is incomplete, so the capture checks how many symbols are ready before writing.

I’d like to understand what TOS is actually doing here: does it suspend or defer scan and custom-column calculations when that screen isn’t active, or is this a separate refresh issue? If you think a Windows API approach would be more reliable, which action would it perform to make TOS recalculate? I’m open to replacing the mouse click, but the goal is to get fresh, fully calculated column values before each capture.\\Thanks
 
A bit of both. Custom columns have a certain degree of unreliability in general. You're looking for a deeper mechanic, but custom columns are often just being janky.

And yes, they appear to stop updating after some time when that window is inactive. Its deliberate. Although, I've never really bothered with this stuff nor investigated it until now.

Minimizing, and switching to other tabs within the platform are major culprits. Although, z-order visibility with other applications, and caret focus, don't seem to play a role.

A detached window, in duplicate, where the detach is active but the base window isn't, seems to keep the base window's column data active as well. The same column on the same symbol just needs to be active somewhere. Putting in the sidebar might work too, didn't check.
 
Last edited:
@ronbla This sounds like something that you could accomplish more easily than your current method... Are you familiar with RTD exports...??? With RTD you could:

  • Create a Scan that would return a maximum of X number of rows
  • Export as Watchlist that will auto-update when the scan runs, adding new rows and removing old so only rows in the Scan remain
  • Export the Watchlist to Excel (Your RTD)
  • From within Excel you can tweak the RTD calls to TOS
  • Massage the results to your needs

I am currently running an Excel spreadsheet that calculates GEX, DEX, and other calculations based on Option Chain data in real time. It generates a 50 row Option Chain, has a custom Dashboard, Call and Put contract filtering and selection sheets, and renders multiple Charts... It's stable and can run 24/7... Oh, and I never need to Export from TOS after the first RTD has been exported...

This would eliminate your need to use AHK which may well be your problem...

All that said, I have seen other Scans fail to refresh in premarket hours... My SPY Option Scans no longer run until the markets open at 9:30 but used to run pretty much anytime...
 
Last edited:
A bit of both. Custom columns have a certain degree of unreliability in general. You're looking for a deeper mechanic, but custom columns are often just being janky.

And yes, they appear to stop updating after some time when that window is inactive. Its deliberate. Although, I've never really bothered with this stuff nor investigated it until now.

Minimizing, and switching to other tabs within the platform are major culprits. Although, z-order visibility with other applications, and caret focus, don't seem to play a role.

A detached window, in duplicate, where the detach is active but the base window isn't, seems to keep the base window's column data active as well. The same column on the same symbol just needs to be active somewhere. Putting in the sidebar might work too, didn't check.
Thanks again. The detached window may be the answer as so far i am not getting the constant reload.
 
@ronbla This sounds like something that you could accomplish more easily than your current method... Are you familiar with RTD exports...??? With RTD you could:

  • Create a Scan that would return a maximum of X number of rows
  • Export as Watchlist that will auto-update when the scan runs, adding new rows and removing old so only rows in the Scan remain
  • Export the Watchlist to Excel (Your RTD)
  • From within Excel you can tweak the RTD calls to TOS
  • Massage the results to your needs

I am currently running an Excel spreadsheet that calculates GEX, DEX, and other calculations based on Option Chain data in real time. It generates a 50 row Option Chain, has a custom Dashboard, Call and Put contract filtering and selection sheets, and renders multiple Charts... It's stable and can run 24/7... Oh, and I never need to Export from TOS after the first RTD has been exported...

This would eliminate your need to use AHK which may well be your problem...

All that said, I have seen other Scans fail to refresh in premarket hours... My SPY Option Scans no longer run until the markets open at 9:30 but used to run pretty much anytime...
Tanks you rad butit does not fully solve my particular problem. We are already effectively using TOS-to-Excel live data. RTD may provide built-in fields such as price, bid, ask, and volume very reliably, but our problem is that FAST, TINT, and JOE are custom ThinkScript columns. If TOS stops calculating those columns because the scan is inactive, changing the Excel connection will not necessarily restart their calculations.
 
Tanks you rad butit does not fully solve my particular problem. We are already effectively using TOS-to-Excel live data. RTD may provide built-in fields such as price, bid, ask, and volume very reliably, but our problem is that FAST, TINT, and JOE are custom ThinkScript columns. If TOS stops calculating those columns because the scan is inactive, changing the Excel connection will not necessarily restart their calculations.

Couldn't those be calculated in Excel after pulled via RTD into Excel...??? I do all of my calculations in Excel as it is a better tool for the job and doesn't bog down TOS resources...
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
2735 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top