Market Internals Labels for Indices/Eminis/Emicros/ETFs In ThinkOrSwim

Carl-not-Karl

Member
VIP
Thinkorswim source: https://tlc.thinkorswim.com/center/release/rel-07-20-2013

The following charts shows labels for 7 Indices with derivatives Eminis, Emicros, ETFs (1x long/short, 2x l/s, 3x l/s) and associated market internals.
Top Down chart (Indices/Eminis etc. listed on top):

qn0AezR.png


Share chart: https://tos.mx/1YcNI4J

Bottom Up chart (Indices/Eminis etc. listed on bottom, my personal preference):

aPcF8Ie.png


Share chart: https://tos.mx/DWT6cEw

Notes:
The labels are placed on a blank chart grid with most Chart Settings turned off and resized to create a vertical stack.
The grid to the immediate right is then allowed to have other drawings/Thinkscripts etc. unencumbered w/o labels. *

* Kudos to uTS member CWparker23 ( https://usethinkscript.com/threads/how-to-stack-labels-in-thinkorswim.16636/ ) on his 'thinking outside of the box' and inspiration to me on this Stacking Labels alternative.

Sample of one of the Thinkscripts:

Code:
# Index Market Internals
# Source: https://tlc.thinkorswim.com/center/release/rel-07-20-2013
# Carl_K | October 2023

def Index = close(symbol = "RUT");
AddLabel(Yes, if Index > Index[1] then
 " RUT                            " else
 "                            RUT ",
 if Index > Index[1] then Color.GREEN else Color.RED);

def Emini = close(symbol = "/RTY");
AddLabel(Yes, if Emini > Emini[1] then
 " RTY                            " else
 "                            RTY ",
 if Emini > Emini[1] then Color.GREEN else Color.RED);

def Emicro = close(symbol = "/M2K");
AddLabel(Yes, if Emicro > Emicro[1] then
 " M2K                           " else
 "                           M2K ",
 if Emicro > Emicro[1] then Color.GREEN else Color.RED);

def ETF = close(symbol = "IWM");
AddLabel(Yes, if ETF > ETF[1] then
 " IWM                          " else
 "                          IWM ",
 if ETF > ETF[1] then Color.GREEN else Color.RED);

def ETFs = 1/(close(symbol = "RWM"));
AddLabel(Yes, if ETFs > ETFs[1] then
 " RWM                         " else
 "                         RWM ",
 if ETFs > ETFs[1] then Color.GREEN else Color.RED);

def ETF2 = close(symbol = "UWM");
AddLabel(Yes, if ETF2 > ETF2[1] then
 " UWM                         " else
 "                         UWM ",
 if ETF2 > ETF2[1] then Color.GREEN else Color.RED);

def ETF2s = 1/(close(symbol = "TWM"));
AddLabel(Yes, if ETF2s > ETF2s[1] then
 " TWM                          " else
 "                          TWM ",
 if ETF2s > ETF2s[1] then Color.GREEN else Color.RED);

def ETF3 = close(symbol = "TNA");
AddLabel(Yes, if ETF3 > ETF3[1] then
 " TNA                           " else
 "                           TNA ",
 if ETF3 > ETF3[1] then Color.GREEN else Color.RED);

def ETF3s = 1/(close(symbol = "TZA"));
AddLabel(Yes, if ETF3s > ETF3s[1] then
 " TZA                            " else
 "                            TZA ",
 if ETF3s > ETF3s[1] then Color.GREEN else Color.RED);

def RVX = 1/(close(symbol = "RVX"));
AddLabel(Yes, if RVX > RVX[1] then
 " RVX                            " else
 "                            RVX ",
 if RVX > RVX[1] then Color.GREEN else Color.RED);

def T = close(symbol = "$TIKRLC");
AddLabel(Yes, if T > T[1] then
 " TIKRLC                      " else
 "                      TIKRLC ",
 if T > T[1] then Color.GREEN else Color.RED);

def TR = 1/(close(symbol = "$TRINRLC"));
AddLabel(Yes, if TR > TR[1] then
 " TRINRLC                   " else
 "                   TRINRLC ",
 if TR > TR[1] then Color.GREEN else Color.RED);

def AV = close(symbol = "$UVOLRLC");
AddLabel(Yes, if AV > AV[1] then
 " UVOLRLC                  " else
 "                  UVOLRLC ",
 if AV > AV[1] then Color.GREEN else Color.RED);

def VD = close(symbol = "$VOLRLDC");
AddLabel(Yes, if VD > VD[1] then
 " VOLRLDC                  " else
 "                  VOLRLDC ",
 if VD > VD[1] then Color.GREEN else Color.RED);

def DV = 1/(close(symbol = "$DVOLRLC"));
AddLabel(Yes, if DV > DV[1] then
 " DVOLRLC                  " else
 "                  DVOLRLC ",
 if DV > DV[1] then Color.GREEN else Color.RED);

def AI = close(symbol = "$ADVRLC");
AddLabel(Yes, if AI > AI[1] then
 " ADVRLC                    " else
 "                    ADVRLC ",
 if AI > AI[1] then Color.GREEN else Color.RED);

def ADD = close(symbol = "$ADRLDC");
AddLabel(Yes, if ADD > ADD[1] then
 " ADRLDC                    " else
 "                    ADRLDC ",
 if ADD > ADD[1] then Color.GREEN else Color.RED);

def DI = 1/(close(symbol = "$DECLRLC"));
AddLabel(Yes, if DI > DI[1] then
 " DECLRLC                   " else
 "                   DECLRLC ",
 if DI > DI[1] then Color.GREEN else Color.RED);
 

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

Modified and updated the 4 codes to include:
Top 10 stock holdings (per Morningstar)
2 related-in-size indices.

Note: ToS does not have a specific Volatility symbol for DJX so $DXY ( U.S. Dollar, inverse) is used.
Edit: At the time of creating this screenshot there was a ToS data glitch (i.e., no quotes for $DXY) and is shown as a blank label in the DJX column.

J3LYSdU.png


Share chart: http://tos.mx/90KGmW3

E4e4h20.png


Share chart: https://tos.mx/LsZLVC9
 
Last edited:

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
435 Online
Create Post

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