ThinkorSwim "custom expression subscription limit exceeded"

Lambert58

New member
ThinkorSwim watchlist column is showing me the following error "custom expression subscription limit exceeded." Has anyone encountered this on their custom watchlist? Any insight or direction would be very appreciated. I have 4 custom headers.
 

markos

Well-known member
VIP
The problem lies in that you are calling too much data in your watchlist that is not for a built in column. Sometimes even built in columns can overload the servers if the query is too complex. It's more the complexity of the columns than the quantity of them.

Sometimes it helps to have a single indicator in each column. Start with the S&P100 and work your up from there.

In the end, we all have a subscription limit that we can't go over without MW squawking. For further explanation put "Subscription Limit Exceeded" in the search bar above.
 

dougn

Member
2019 Donor
Not certain if this is discussed anywhere else as the search I ran did not reveal any other conversation on this topic.

The way to run as many "expressions" as you want is to install multiple instances of the Thinkorswim platform and run them simultaneously.

In my setup I have one instance dedicated to charts alone while 4 or 5 others are running unique versions of custom watchlists with multiple custom columns.

Of course you will adjust the number of columns by the size of watchlist or scan you are working on.

Simply download Thinkorswim as many times as you wish (alter the name for each on installation). Set the memory accordingly for each install and you are good to go. I simply rename each shortcut on my desktop to remind me which watchlist (or lists) that instance contains.

I forgot to mention that the user will be limited by the amount of memory installed on their computer. But even lower memory levels should still allow multiple installs.
 

tomsk

Well-known member
VIP
If you reached your user subscription limit that means you have too many custom columns or requests to iData on your platform. According to Mobius in the lounge, the total user subscription limit had been 1500 total requests to iData ACROSS all watchlists and studies. That limit is subject to change without notice and isn't likely to change to a higher limit.

This limit is a throttle TOS puts on it's clients for calls to it's data stream. You can hit that wall by too many watch lists (the most common way) or too many programs / charts running. Once you exceed that limit it doesn't mean your programs quit working. All it means is that there's a cascade of data calls rejected. So you never know what's working or not

All the best
 

usahu

New member
I have created few custom column and added to the watch list. after adding I see cells of a column showing the result and some cells in the same column showing error saying "custom expression subscription limit exceeded". How to fix the problem?
 

RPrado

Member
Lifetime
I noticed as long as my watchlist is up to 10 tickers, it works fine. Anything above 10 it reports "custom expression subscription limit exceeded".
 

mr.10baggers

New member
FYI

Screenshot-20210203-091755-thinkorswim-1.jpg

Screenshot-20210203-181310-thinkorswim-1.jpg

Screen-Shot-2021-02-03-at-6-30-39-PM.png
 

rad14733

Well-known member
VIP
Where did you have to make this change?
Either fewer symbols in your Watchlists or fewer Custom Columns... The combination of the two is what adds up to the 1500 or 1100 limit currently in place... And that total is for ALL Watchlists, Scans, Option Chain Custom Columns, etc. that are currently running...
 

pjk

New member
VIP
Thanks for the ' ALL' feedback. I happened to have a 20 symbol watchlist with 4 custom columns but...I had a scan with 3 custom columns for about 1000 stocks open in the background. Once I closed the scan the watchlist worked fine again.
 

gnirs

New member
Thanks for the ' ALL' feedback. I happened to have a 20 symbol watchlist with 4 custom columns but...I had a scan with 3 custom columns for about 1000 stocks open in the background. Once I closed the scan the watchlist worked fine again.
I am also facing the issue, can you please let me know how you stopped the the scan that was running on the background? thanks
 

pjk

New member
VIP
@gnirs, In most scans I add a filter for stock price and I limit that to a 10-50 range to limit the returned results. If I want to turn the scan off I simply select close price min = max (e.g. min=10,max=10) that way the scan will definitely not find anything. You could alternately create a watchlist with one symbol only and just load that to scan on.
 

cabe1332

Active member
I too had encountered the error. And how I fix is I save my current workspace first every time I have to add an indicator, script, or modify a watchlist. I worked with support and the post threads above are what they told me too, deleted watchlist and columns. All did not work for me. But, restoring a previously saved workspace happily did wonders for me. Good luck! @cabe1332
 

Antares66

New member
I wanted to create a watchlist to see which stocks moved most today and how much they changed in the last 5 days.
It was no problem for me to programm a column set for the weekly change
"def change = (close - close[5]) / close[5] * 100;
plot result = change;"
but i always get the message above and not for all stocks the weekly change shows up.
I know TC 2000 very well. In TC 2000 it´s no problem to look at the weekly percent change rate for all stocks in the entire market.
TOS shows some limitation or i haven´t find out how to solve this problem. I am afraid to miss some stocks since not all show up in my scanner.
Can someone help? Thanks
 

rad14733

Well-known member
VIP
@Antares66 The error you described has to do with how many custom calculations your TOS install can perform... The limit is either the standard 1500, or 1100 which it may have been changed to in recent months... This means that the total custom calculations for all watchlists, scanner results, etc, cannot exceed 1500 calculated cells...

This has been discussed many times here in the forums and you could have found those topics and/or posts by using the search feature... The solution is to use less custom watchlist columns and custom option chain columns, or reduce the number of symbols in watchlists, or reduce the number of results in scans, or add more filtering criteria to scans, or any combination thereof...

You are only licensed to calculate whichever amount mentioned above that is currently in place... I think at one time it was possible to extend that limit for a fee but I'm not sure if that option is currently available nor what such a fee might be... You would need to contact Thinkorswim to check on that...
 

Antares66

New member
@Antares66 The error you described has to do with how many custom calculations your TOS install can perform... The limit is either the standard 1500, or 1100 which it may have been changed to in recent months... This means that the total custom calculations for all watchlists, scanner results, etc, cannot exceed 1500 calculated cells...

This has been discussed many times here in the forums and you could have found those topics and/or posts by using the search feature... The solution is to use less custom watchlist columns and custom option chain columns, or reduce the number of symbols in watchlists, or reduce the number of results in scans, or add more filtering criteria to scans, or any combination thereof...

You are only licensed to calculate whichever amount mentioned above that is currently in place... I think at one time it was possible to extend that limit for a fee but I'm not sure if that option is currently available nor what such a fee might be... You would need to contact Thinkorswim to check on that...
Thank you.
 

cabe1332

Active member
I wanted to create a watchlist to see which stocks moved most today and how much they changed in the last 5 days.
It was no problem for me to programm a column set for the weekly change
"def change = (close - close[5]) / close[5] * 100;
plot result = change;"
but i always get the message above and not for all stocks the weekly change shows up.
I know TC 2000 very well. In TC 2000 it´s no problem to look at the weekly percent change rate for all stocks in the entire market.
TOS shows some limitation or i haven´t find out how to solve this problem. I am afraid to miss some stocks since not all show up in my scanner.
Can someone help? Thanks
Hey @Antares66,

So, the rate of change for 5 days is "def change = (close - close[5]) / close[5] * 100; I guess then for today is "def change = (close - close[1]) / close[1] * 100;? Has this been working for you on MTF? The TOS study has a different formula. I used your and have them as labels. Does the following script look OK for today and week ROC? Can someone confirm, please? TIA. @cabe1332

#### Rate of change for the day
def priceday = close(period = AggregationPeriod.day);
def changeday = round((priceday - priceday[1]) / priceday[1] * 100,0);
def rcday = changeday;
AddLabel (yes, "ROCtoday: " + rcday + "%", if rcday > 0 then color.green else color.red);

#### Rate of change for the week
def pricewk = close(period = AggregationPeriod.week);
def changewk = round((pricewk - pricewk[5]) / pricewk[5] * 100,0);
def rcwk = changewk;
AddLabel (yes, "ROCwk: " + rcwk + "%", if rcwk > 0 then color.green else color.red);
 

cabe1332

Active member
Hey @Antares66,

So, the rate of change for 5 days is "def change = (close - close[5]) / close[5] * 100; I guess then for today is "def change = (close - close[1]) / close[1] * 100;? Has this been working for you on MTF? The TOS study has a different formula. I used your and have them as labels. Does the following script look OK for today and week ROC? Can someone confirm, please? TIA. @cabe1332

#### Rate of change for the day
def priceday = close(period = AggregationPeriod.day);
def changeday = round((priceday - priceday[1]) / priceday[1] * 100,0);
def rcday = changeday;
AddLabel (yes, "ROCtoday: " + rcday + "%", if rcday > 0 then color.green else color.red);

#### Rate of change for the week
def pricewk = close(period = AggregationPeriod.week);
def changewk = round((pricewk - pricewk[5]) / pricewk[5] * 100,0);
def rcwk = changewk;
AddLabel (yes, "ROCwk: " + rcwk + "%", if rcwk > 0 then color.green else color.red);
This ROC really helps to find a strong stock to trade. The higher the value the stronger upside the stock. I was listening to Theo Rayner podcast the other day, ROC was mentioned and I thought of @Antares66 post. I then added a column on my watchlist and chart label (script above). You can also use the above script to scan for strong stocks. I wanted to post in case others may have use of it. The screenshot below of SEAC and GTII with the strong move today and the last 5 days. Good luck! @cabe1332

971fcoc.png


yeu1z2w.png


rbC8s2N.png
 
Last edited:

Similar threads

Top