TTM Squeeze Clouds Indicator for ThinkorSwim

The TTM_Squeeze_Clouds code provided below was originally intended to be for informational purposes only to demonstrate what a TTM_Squeeze means... However, I have found it so helpful that I have been using it on some of my charts because I find it more helpful than using the TTM_Squeeze lower indicator and frees up space for alternate lower indicators... On some charts I actually turn off all of the plots and rely solely on the clouds and vertical Squeeze On/Off lines... Let me know if you find this Study useful...

For anyone who doesn't understand exactly what a TTM_Squeeze is, it is when a Bollinger Bands studies upper and lower bands "squeeze" down to fit inside accompanying Keltner Channel upper and lower bands...

The first image shows the Bollinger Band Study, the Keltner Channels Study, and the TTM_Squeeze_Clouds Study portions of the script... The Second image shows just the TTM_Squeeze_Clouds Study portion of the script... The third image shows just the TTM_Squeeze_Clouds, my 8, 21, 55 EMA Study with breakout and breakdown arrows which, combined, where the clouds would have kept me from taking the indicated potential trades...

Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off
# 2021-01-10 v1.2 Added toggle setting to allow vertical lines to be turned off


input showBBs = yes;
input showKCs = yes;
input showVerticalLines = yes;


# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(showVerticalLines and bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(showVerticalLines and bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds

TOF9XZf.jpg



PFTu3oT.jpg



wUGUV06.jpg


Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off

input showBBs = yes;
input showKCs = yes;

# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds
 
Last edited:
Very cool , I got a question i use 21 length i wanted to edit that but cant seem to find the length in edit sources . and I set up a scan to let know when squeeze off happens but its not able to do that . Squeeze off isnt an option setting up a scan .
 
Very cool , I got a question i use 21 length i wanted to edit that but cant seem to find the length in edit sources . and I set up a scan to let know when squeeze off happens but its not able to do that . Squeeze off isnt an option setting up a scan .
Both the Bollinger Bands and Keltner Channels Studies are using the default length of 20... I also normally use 21 instead of 20 for length... Like I stated above, this was originally intended to be used for example/tutorial purposes only... I'll post the code to allow settings changes shortly...
 
I have updated the Thinkscript code listing in the first post by adding toggle settings to allow Bollinger Band's and/or Keltner Channel's to be turned on or off from within the Study Settings Panel so that only the clouds are painted... Much of the code has changed so the entirety of the new code should replace the original study...

Edited to add: I added another setting to allow the vertical lines to be turned on or off...

# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off
# 2021-01-10 v1.2 Added toggle setting to allow vertical lines to be turned off
 
Last edited:
  • Like
Reactions: xad
The TTM_Squeeze_Clouds code provided below was originally intended to be for informational purposes only to demonstrate what a TTM_Squeeze means... However, I have found it so helpful that I have been using it on some of my charts because I find it more helpful than using the TTM_Squeeze lower indicator and frees up space for alternate lower indicators... On some charts I actually turn off all of the plots and rely solely on the clouds and vertical Squeeze On/Off lines... Let me know if you find this Study useful...

For anyone who doesn't understand exactly what a TTM_Squeeze is, it is when a Bollinger Bands studies upper and lower bands "squeeze" down to fit inside accompanying Keltner Channel upper and lower bands...

The first image shows the Bollinger Band Study, the Keltner Channels Study, and the TTM_Squeeze_Clouds Study portions of the script... The Second image shows just the TTM_Squeeze_Clouds Study portion of the script... The third image shows just the TTM_Squeeze_Clouds, my 8, 21, 55 EMA Study with breakout and breakdown arrows which, combined, where the clouds would have kept me from taking the indicated potential trades...

Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off
# 2021-01-10 v1.2 Added toggle setting to allow vertical lines to be turned off


input showBBs = yes;
input showKCs = yes;
input showVerticalLines = yes;


# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(showVerticalLines and bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(showVerticalLines and bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds

TOF9XZf.jpg



PFTu3oT.jpg



wUGUV06.jpg


Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off

input showBBs = yes;
input showKCs = yes;

# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds
@rad14733 Is there a way to turn of the green and red dashed lines (Squeeze Off, Squeeze On) in the upper chart
 
@rad14733 @BenTen Hi I'm new here I don't code been trading for over 4 years and with all this info I had a possible indicator that would be useful for an upper study using the( john carter ttm squeeze/ ttm clouds /regular bbands, and bentens trend reversal bbands

1 use bentens trend reversal bbands as primary view of highs and lows marked as grey or optional color

bA2qHWW.jpg


2. using both studies the ttm clouds as secondary view of highs and lows keeping the black to see regular bb shown in #21

3. and if its possible replace the cloud to only show a green cloud or color of choice only when the john carters ttm squeeze negative and up and volcom align showing upward strength as a cloud in the upper study to save space for a lower study that will work with the bens and regular bbands in a cohesive manner.

What are your opinions? as questions to explain further if needed!
 
@SuperAbraham17 The TTM Squeeze indicator was something that I really tried to learn, but unfortunately, found no value in it. Currently, the only indicator that I'm using is BTD. You can read more about my setup here.
 
The TTM_Squeeze_Clouds code provided below was originally intended to be for informational purposes only to demonstrate what a TTM_Squeeze means... However, I have found it so helpful that I have been using it on some of my charts because I find it more helpful than using the TTM_Squeeze lower indicator and frees up space for alternate lower indicators... On some charts I actually turn off all of the plots and rely solely on the clouds and vertical Squeeze On/Off lines... Let me know if you find this Study useful...

For anyone who doesn't understand exactly what a TTM_Squeeze is, it is when a Bollinger Bands studies upper and lower bands "squeeze" down to fit inside accompanying Keltner Channel upper and lower bands...

The first image shows the Bollinger Band Study, the Keltner Channels Study, and the TTM_Squeeze_Clouds Study portions of the script... The Second image shows just the TTM_Squeeze_Clouds Study portion of the script... The third image shows just the TTM_Squeeze_Clouds, my 8, 21, 55 EMA Study with breakout and breakdown arrows which, combined, where the clouds would have kept me from taking the indicated potential trades...

Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off
# 2021-01-10 v1.2 Added toggle setting to allow vertical lines to be turned off


input showBBs = yes;
input showKCs = yes;
input showVerticalLines = yes;


# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(showVerticalLines and bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(showVerticalLines and bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds

TOF9XZf.jpg



PFTu3oT.jpg



wUGUV06.jpg


Ruby:
# TTM_Squeeze_Clouds
# Working example of how TTM_Squeeze works
# Coded by rad14733 for usethinkscript.com
# 2020-12-23 v1.0 Original code created
# 2021-01-10 v1.1 Added toggle settings to allow BB's and/or KC's to be turned off

input showBBs = yes;
input showKCs = yes;

# Use reference calls to TOS BB's and plot midline and bands

def bb_midline_value = BollingerBands().MidLine;
plot bb_midline = if showBBs then bb_midline_value else Double.NaN;
bb_midline.AssignValueColor(Color.CYAN);

def bb_upperband_value = BollingerBands().UpperBand;
plot bb_upperband = if showBBs then bb_upperband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);

def bb_lowerband_value = BollingerBands().LowerBand;
plot bb_lowerband = if showBBs then bb_lowerband_value else Double.NaN;
bb_upperband.AssignValueColor(Color.WHITE);


# Use reference calls to TOS KC's and plot midline and bands

def kc_midline_value = KeltnerChannels().Avg;
plot kc_midline = if showKCs then kc_midline_value else Double.NaN;
kc_midline.AssignValueColor(Color.CYAN);

def kc_upperband_value = KeltnerChannels().Upper_Band;
plot kc_upperband = if showKCs then kc_upperband_value else Double.NaN;
kc_upperband.AssignValueColor(Color.YELLOW);

def kc_lowerband_value = KeltnerChannels().Lower_Band;
plot kc_lowerband = if showKCs then kc_lowerband_value else Double.NaN;
kc_lowerband.AssignValueColor(Color.YELLOW);


# When the BB upper and lower bands cross inside the KC's we are in a Squeeze

DefineGlobalColor("Squeeze", Color.RED);
DefineGlobalColor("UnSqueezed", Color.CURRENT);

AddCloud(kc_upperband_value, bb_upperband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));
AddCloud(bb_lowerband_value, kc_lowerband_value, GlobalColor("Squeeze"), GlobalColor("UnSqueezed"));


# Add vertical lines to further demarcate start and end of Squeeze

AddVerticalLine(bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Color.RED);
AddVerticalLine(bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value, "Squeeze Off", Color.GREEN);

# END - TTM_Squeeze_Clouds
To replicate your great study, I copied thread 21 into my TOS study. But when choose to turn off BB, KC and vertical line individually, unlike yours, it didn’t seems to work well on my charts. Any reason?
 
I really like this study and prefer using it instead of the lower TTM indicator.
And that’s why i was wondering if there’s a way build a scan to identify when a squueze cloud starting to appear on chart?

Would be really useful IMO.
 
To replicate your great study, I copied thread 21 into my TOS study. But when choose to turn off BB, KC and vertical line individually, unlike yours, it didn’t seems to work well on my charts. Any reason?

Without seeing your code it would be impossible to come up with discrepancies...
 
I really like this study and prefer using it instead of the lower TTM indicator.
And that’s why i was wondering if there’s a way build a scan to identify when a squueze cloud starting to appear on chart?

Would be really useful IMO.

I'm fairly certain there are scans posted here in the forums... I know that members, myself included, have written them... Checkt eh following topic... https://usethinkscript.com/threads/communitys-guides-to-utilizing-the-squeeze-indicator.5361/
 
Unfortunately i don´t have access to the topic linked above so if anyone here could post the code for the scan when price is between squeeze clouds, i would appreciate it very much.

I am also very interested to know if there is a watchlist column avaliable for same condition above?

This study is now one of my personal favorites and have been able to catch some really nice moves lately thanks to this :)
 
Any way to create a code to plot red squeeze dots on candles versus the oscillator? I want to use this indicator with Bollinger bands on the chart and would love to see red dots in the middle of the candles when price is squeezing. Thanks!
 
Any way to create a code to plot red squeeze dots on candles versus the oscillator? I want to use this indicator with Bollinger bands on the chart and would love to see red dots in the middle of the candles when price is squeezing. Thanks!

That could possibly be done based on my TTM_Squeeze_PriceLine script... Instead of painting a PriceLine you could have it only paint Red dots at hl2 instead...
 
anyone know the code to add that will allow for a sound alert whenever the "squeeze on" and "squeeze off" vertical lines appear?
 
anyone know the code to add that will allow for a sound alert whenever the "squeeze on" and "squeeze off" vertical lines appear?
Add the following to the bottom of your script:
Ruby:
# Alert
Alert(bb_upperband_value crosses below kc_upperband_value and bb_lowerband_value crosses above kc_lowerband_value, "Squeeze On", Alert.Bar, Sound.Chimes);
Alert(bb_upperband_value crosses above kc_upperband_value and bb_lowerband_value crosses below kc_lowerband_value,  "Squeeze Off", Alert.Bar, Sound.Chimes);


For future reference, members couldn't reply to your post because the Original Post had no vertical lines to alert on. In the future include the script or a link to the script that you are referring to.
How to create alerts:
https://usethinkscript.com/resources/how-to-add-alert-script-to-thinkorswim-indicators.9/
 
@Welkin I am playing with the first code shared at the top of this page. I am wondering if there is a way to add aggregation for daily and weekly and monthly? I do know how to open and paste/edit code- but I do not know how to write/edit the thinkscript myself YET! TY very much for sharing.
 
@Welkin I am playing with the first code shared at the top of this page. I am wondering if there is a way to add aggregation for daily and weekly and monthly? I do know how to open and paste/edit code- but I do not know how to write/edit the thinkscript myself YET! TY very much for sharing.
Did you know that clicking on a member's avatar will allow you to see when a member was last seen on the uTS forum? @Welkin has not been seen in a while. :(

Without having the OP's input, it is unlikely that an MTF indicator can be created.
 

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
431 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