Repaints Trend Reversal Questions

Repaints

MerryDay

Administrative
Staff member
Staff
VIP
Lifetime
Trend Reversal Indicator:
Read through this thread for answers to everything that you ever wanted to know about the Trend Reversal Indicator
https://usethinkscript.com/threads/trend-reversal-indicator-with-signals-for-thinkorswim.183/

PLEASE NOTE: THIS INDICATOR REPAINTS
Repainters use to be the FASTEST way to find and be alerted to tops and bottoms which make them the preferred indicators for shorter timeframes.
BUT
The Trend Reversal uses the function: HighestAll which ToS broke in the last update and has no plans on fixing. This function no longer calculates in real time, which will cause scripts that use it to lag to the point of being un-usable.

Also, because repainters are such prolific liars, these studies should ONLY be used to make entry by traders proficient in using them in correlation with price action, candlestick patterns, a disciplined stop-loss plan, and the fortitude to weather the losses that come with the false signals.
Read more:
https://usethinkscript.com/threads/answers-to-commonly-asked-questions.6006/#post-57833

Continue reading for answers to your most pressing questions.
 
Last edited:
Trend Reversal Indicator: WatchList
Please note there is NO WatchList code. All attempts so far to create a watchlist column have resulted in a 'too complex' error.
 
Last edited:
Trend Reversal Indicator: Scanner

Caveat
: Scripts that repaint should NOT be used in Scans, Watchlists, Alerts, Conditional Orders or Backtesting Strategies.
a. The script will fire on a false signal. The signal will then disappear. You will think the script is broken.
b. The script didn't fire on the signal. That is because it wasn't there at that time! It was painted on afterward. You will think the script is broken.

Scalpers on less than 5min, do not scan for the reversal. They scan for one of the other indicators in their tool box
read more:
https://usethinkscript.com/threads/price-action-toolbox-for-thinkorswim.10747/
https://usethinkscript.com/threads/answers-to-commonly-asked-questions.6006/#post-57833

Day traders use momentum and trend indicators to find reversals.
Yes, all the momentum and trend indicators are scannable for day trading.


AGAIN: Scanning using with this Trend Reversal script is not always successful.
It works best when run against a smaller selection of stocks (for example: S&P100 or one of your watchlists)

If you insist:
Copy the code from here --> https://usethinkscript.com/threads/...signals-for-thinkorswim.183/page-18#post-8617 and paste into the Studies Tab
or
Copy Shared Scanner Link: https://tos.mx/vlVadom Click here for --> Easiest way to load shared links

Click on the scanner.
  1. Click on +Add filter
  2. Click on the pencil icon next to the filter you just added
  3. Click edit
  4. In the left column, click on the 1st pull-down window, click study
  5. Type in the name of your study
  6. Under Plot, click on the pull-down window, choose upArrow
  7. In the middle column, choose is true
  8. Save
 
Last edited:
Maybe this can help - it removes a lot of unnecessary fluff from the indicator. The EMAs (the 9, 14, and 21) and fib retracements are extra for the indicator and are not shown. For instance, the three EMAs are only used for the color of the reversal bubbles, and the fib code itself is just dead weight, nothing is even plotted from the calculations. There are also a lot of bubbles and labels in the code that are turned off by default in the original indicator. There's a bunch of stuff that isnt being used in the original. I uncovered a few plots and added a bit to make the visuals easier. Not an expert, but hope this helps

Code:
# used to switch between "zigzag based on high/low of price" and "zigzag based on then high/low of moving averages"
input method = {default average, high_low};

# data for the built-in zigzag indicator which is referenced in the study. To see the ZigZagHighLow() code, look for it in the built-in TOS studies
def bubbleoffset = .0005;
def percentamount = .01;
def revAmount = .05;
def atrreversal = 2.0;
def atrlength = 5;

# data for the moving averages
def pricehigh = high;
def pricelow = low;
def averagelength = 5;
def averagetype = AverageType.EXPONENTIAL;

# here are the moving averages used for the signals - changed to plots and given colors
plot mah = MovingAverage(averagetype, pricehigh, averagelength);
plot mal = MovingAverage(averagetype, pricelow, averagelength);
mah.setdefaultcolor(color.cyan);
mal.setdefaultcolor(color.cyan);

# continues the switch between the two different zigzag data points
def priceh = if method == method.high_low then pricehigh else mah;
def pricel = if method == method.high_low then pricelow else mal;

# references the built-in zigzag indicator
def EI = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = percentamount, "absolute reversal" = revAmount, "atr length" = atrlength, "atr reversal" = atrreversal);

# not very clear on how this exactly works - but the end result is to plot the zigzag lines
def reversalAmount = if (close * percentamount / 100) > Max(revAmount < atrreversal * reference ATR(atrlength), revAmount) then (close * percentamount / 100) else if revAmount < atrreversal * reference ATR(atrlength) then atrreversal * reference ATR(atrlength) else revAmount;
rec EISave = if !IsNaN(EI) then EI else GetValue(EISave, 1);
def chg = (if EISave == priceh then priceh else pricel) - GetValue(EISave, 1);
def isUp = chg >= 0;
rec isConf = AbsValue(chg) >= reversalAmount or (IsNaN(GetValue(EI, 1)) and GetValue(isConf, 1));
def EId = if isUp then 1 else 0;

# zigzag plot and colors
plot EnhancedLines = if EId <= 1 then EI else Double.NaN;
EnhancedLines.AssignValueColor(if EId == 1 then Color.GREEN else if EId == 0 then Color.RED else Color.DARK_ORANGE);
EnhancedLines.SetStyle(Curve.FIRM);
EnhancedLines.EnableApproximation();
EnhancedLines.HideBubble();

# calculates and plots the arrows
def EIL = if !IsNaN(EI) and !isUp then pricel else GetValue(EIL, 1);
def EIH = if !IsNaN(EI) and isUp then priceh else GetValue(EIH, 1);
def dir = CompoundValue(1, if EIL != EIL[1] or pricel == EIL[1] and pricel == EISave then 1 else if EIH != EIH[1] or priceh == EIH[1] and priceh == EISave then -1 else dir[1], 0);
def signal = CompoundValue(1, if dir > 0 and pricel > EIL then if signal[1] <= 0 then 1 else signal[1] else if dir < 0 and priceh < EIH then if signal[1] >= 0 then -1 else signal[1] else signal[1], 0);
def showarrows = yes;
plot U1 = showarrows and signal > 0 and signal[1] <= 0;
U1.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
U1.SetDefaultColor(Color.GREEN);
U1.SetLineWeight(4);
plot D1 = showarrows and signal < 0 and signal[1] >= 0;
D1.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
D1.SetDefaultColor(Color.RED);
D1.SetLineWeight(4);

As you can see, the 9, 14, and 21 EMAs are not even needed.

Edit: If you look at the code I posted, you can see the line def showarrows = yes;. The original code is full of these "defs" that probably were originally meant to be inputs instead. Someone has either changed the original code a lot before @BenTen found and posted it here in the forum, or its just a incomplete mish-mash of different codes. I have no idea

example-pic.png
 
Last edited by a moderator:
Hey all, I need help creating a scanner using info from the trend reversal indicator that I'm using. I believe the indicator is one I found on this site. What I am looking for is a way to scan for stocks based on the "buy" trend. Once the buy trend has been identified by the indicator I would like the scanner to alert me when the SMA1 crosses over the SMA3 after the "buy" trend.
 
Last edited by a moderator:
Hi tenacity, can you share a copy of your trend reversal
Ruby:
# Trend Reversal Scanner
# Scanner by https://usethinkscript.com/u/theelderwand
# Discuss https://usethinkscript.com/d/183-trend-reversal-indicator-with-signals-for-thinkorswim

def price = close;
def superfast_length = 9;
def fast_length = 14;
def slow_length = 21;
def displace = 0;

def mov_avg9 = ExpAverage(price[-displace], superfast_length);
def mov_avg14 = ExpAverage(price[-displace], fast_length);
def mov_avg21 = ExpAverage(price[-displace], slow_length);

#moving averages
def Superfast = mov_avg9;
def Fast = mov_avg14;
def Slow = mov_avg21;

def buy = mov_avg9 > mov_avg14 and mov_avg14 > mov_avg21 and low > mov_avg9;
def stopbuy = mov_avg9 <= mov_avg14;
def buynow = !buy[1] and buy;
def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1] == 1 and stopbuy then 0 else buysignal[1], 0);

def Buy_Signal = buysignal[1] == 0 and buysignal == 1;
def Momentum_Down = buysignal[1] == 1 and buysignal == 0;

def sell = mov_avg9 < mov_avg14 and mov_avg14 < mov_avg21 and high < mov_avg9;
def stopsell = mov_avg9 >= mov_avg14;
def sellnow = !sell[1] and sell;
def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1] == 1 and stopsell then 0 else sellsignal[1], 0);
def Sell_Signal = sellsignal[1] == 0 and sellsignal;


input method = {default average, high_low};
def bubbleoffset = .0005;
def percentamount = .01;
def revAmount = .05;
def atrreversal = 2.0;
def atrlength = 5;
def pricehigh = high;
def pricelow = low;
def averagelength = 5;
def averagetype = AverageType.EXPONENTIAL;
def mah = MovingAverage(averagetype, pricehigh, averagelength);
def mal = MovingAverage(averagetype, pricelow, averagelength);
def priceh = if method == method.high_low then pricehigh else mah;
def pricel = if method == method.high_low then pricelow else mal;
def EI = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = percentamount, "absolute reversal" = revAmount, "atr length" = atrlength, "atr reversal" = atrreversal);
rec EISave = if !IsNaN(EI) then EI else GetValue(EISave, 1);
def chg = (if EISave == priceh then priceh else pricel) - GetValue(EISave, 1);
def isUp = chg >= 0;
def EIL = if !IsNaN(EI) and !isUp then pricel else GetValue(EIL, 1);
def EIH = if !IsNaN(EI) and isUp then priceh else GetValue(EIH, 1);
def dir = CompoundValue(1, if EIL != EIL[1] or pricel == EIL[1] and pricel == EISave then 1 else if EIH != EIH[1] or priceh == EIH[1] and priceh == EISave then -1 else dir[1], 0);
def signal = CompoundValue(1, if dir > 0 and pricel > EIL then if signal[1] <= 0 then 1 else signal[1] else if dir < 0 and priceh < EIH then if signal[1] >= 0 then -1 else signal[1] else signal[1], 0);

def bullish2 = signal > 0 and signal[1] <= 0;
plot upArrow = bullish2;
upArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
upArrow.SetDefaultColor(color.Green);

def bearish2 = signal < 0 and signal[1] >= 0;
plot downArrow = bearish2;
downArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
downArrow.SetDefaultColor(color.red);
 
Last edited by a moderator:
I don't know if this has been asked before or even a valid question. Is it possible to apply trend reversal to other indicators to study and issues signals based on their actions instead of price? i.e i use it to some rsi candles indicator posted here in forum or macd? This may lessen repainted signals?
 
Thanks for replying. That's different because strategy works when both signals are in agreement. My idea is to make TR does its job for RSI candles or other indicators, not the price
Try to feed it all into the scanner and see what it tells you. Nothing beats personal experience ;) The only way you will know what works best for you is to play with the settings and see how the indicator line up w/ your strategy and with your other indicators. To determine if this idea brings value, analyze it over different timeframes, across history and with multiple instruments.
 
Good Morning & Thanks for all of the assistance you've all have been providing. I've been using this Reversal Script for a few Months and wondered if the Community could take a look over it, to see if there's any tweaks or adjustments that can be made towards IntraDay Trading. Reason being, for the past couple of weeks, I've noticed that the reversal's have been slightly delayed.
 
Last edited by a moderator:
Good Morning & Thanks for all of the assistance you've all have been providing. I've been using this Reversal Script for a few Months and wondered if the Community could take a look over it, to see if there's any tweaks or adjustments that can be made towards IntraDay Trading. Reason being, for the past couple of weeks, I've noticed that the reversal's have been slightly delayed. I am not the author of this Script, nor am I efficient in any type of coding. Please see the script below: (BTW-I Love everything about the script, except for it's delay)
Unfortunately, there is a lot to not love about this indicator:
  1. The Trend Reversal repaints. Read more here: https://usethinkscript.com/threads/answers-to-commonly-asked-questions.6006/#post-57833
  2. The Trend Reversal uses the function: HighestAll which ToS broke in the last update and has no plans on fixing. This function no longer calculates in real time, which will cause scripts that use it to lag to the point of being un-usable. Read more here: https://usethinkscript.com/threads/...ing-issues-due-to-tos-update.8794/#post-72936
 
Last edited:
Unfortunately, there is a lot to not love about this indicator:
  1. The Trend Reversal repaints. Read more here: https://usethinkscript.com/threads/answers-to-commonly-asked-questions.6006/#post-57833
  2. The Trend Reversal uses the function: HighestAll which ToS broke in the last update and has no plans on fixing. This function no longer calculates in real time, which will cause scripts that use it to lag to the point of being un-usable. Read more here: https://usethinkscript.com/threads/...ing-issues-due-to-tos-update.8794/#post-72936
Hi @MerryDay & Thanks for the reply. It's disappointing, yet extremely helpful to know that I wasn't losing my mind as I kept noticing a delay and wondered if I Blinked & missed this or did I get distracted, lol. I don't blindly jump into any trades, yet I do rely on my indicators for potential setups. Thanks again, :)
 
Good afternoon all, I have been using this indicator for a while and it works well in combination with other indicators. It is not a for sure winner, just like any other indicator. If that was the case we would all be filthy rich. The reason I am writing is because I would like to see if it is possible to alter the script I have so I can add lets say for example, a 10 minute trend reversal indicator to a 1 minute chart. Thank you in advance for your replies.
 
Last edited by a moderator:
Put repainting MTF code on a repainting indicator, no.

Putting higher timeframes on a lower timeframe means having to wait for the higher timeframe to close. The wait time, wipes out the value that the repainting indicator had.

For example, putting a 10minute higher highs and lower lows indicators on a 1min chart means waiting 10minutes before the 10min candle closes to paint correctly on the 1min chart. This losing any advantage that these indicators have.

For this reason, you will not find a multiple timeframe (MTF) repainting higher highs and lower lows indicator on this forum.
 
Last edited:
Good afternoon all, I have been using this indicator for a while and it works well in combination with other indicators. It is not a for sure winner, just like any other indicator. If that was the case we would all be filthy rich. The reason I am writing is because I would like to see if it is possible to alter the script I have so I can add lets say for example, a 10 minute trend reversal indicator to a 1 minute chart. Thank you in advance for your replies.

This is the script I use:


# Trend Reversal Scanner
# Scanner by https://usethinkscript.com/u/theelderwand
# Discuss https://usethinkscript.com/d/183-trend-reversal-indicator-with-signals-for-thinkorswim

def price = close;
def superfast_length = 5;
def fast_length = 14;
def slow_length = 21;
def displace = 0;


def mov_avg9 = ExpAverage(price[-displace], superfast_length);
def mov_avg14 = ExpAverage(price[-displace], fast_length);
def mov_avg21 = ExpAverage(price[-displace], slow_length);

#moving averages
def Superfast = mov_avg9;
def Fast = mov_avg14;
def Slow = mov_avg21;

def buy = mov_avg9 > mov_avg14 and mov_avg14 > mov_avg21 and low > mov_avg9;
def stopbuy = mov_avg9 <= mov_avg14;
def buynow = !buy[1] and buy;
def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1] == 1 and stopbuy then 0 else buysignal[1], 0);

def Buy_Signal = buysignal[1] == 0 and buysignal == 1;


def Momentum_Down = buysignal[1] == 1 and buysignal == 0;

def sell = mov_avg9 < mov_avg14 and mov_avg14 < mov_avg21 and high < mov_avg9;
def stopsell = mov_avg9 >= mov_avg14;
def sellnow = !sell[1] and sell;
def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1] == 1 and stopsell then 0 else sellsignal[1], 0);
def Sell_Signal = sellsignal[1] == 0 and sellsignal;


input method = {default average, high_low};
def bubbleoffset = .0005;
def percentamount = .01;
def revAmount = .05;
def atrreversal = 2.0;
def atrlength = 5;
def pricehigh = high;
def pricelow = low;
def averagelength = 5;
def averagetype = AverageType.EXPONENTIAL;
def mah = MovingAverage(averagetype, pricehigh, averagelength);
def mal = MovingAverage(averagetype, pricelow, averagelength);
def priceh = if method == method.high_low then pricehigh else mah;
def pricel = if method == method.high_low then pricelow else mal;
def EI = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = percentamount, "absolute reversal" = revAmount, "atr length" = atrlength, "atr reversal" = atrreversal);
rec EISave = if !IsNaN(EI) then EI else GetValue(EISave, 1);
def chg = (if EISave == priceh then priceh else pricel) - GetValue(EISave, 1);
def isUp = chg >= 0;
def EIL = if !IsNaN(EI) and !isUp then pricel else GetValue(EIL, 1);
def EIH = if !IsNaN(EI) and isUp then priceh else GetValue(EIH, 1);
def dir = CompoundValue(1, if EIL != EIL[1] or pricel == EIL[1] and pricel == EISave then 1 else if EIH != EIH[1] or priceh == EIH[1] and priceh == EISave then -1 else dir[1], 0);
def signal = CompoundValue(1, if dir > 0 and pricel > EIL then if signal[1] <= 0 then 1 else signal[1] else if dir < 0 and priceh < EIH then if signal[1] >= 0 then -1 else signal[1] else signal[1], 0);

def bullish2 = signal > 0 and signal[1] <= 0;
plot upArrow = bullish2;
upArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
upArrow.SetDefaultColor(CreateColor(145, 210, 144));

def bearish2 = signal < 0 and signal[1] >= 0;
plot downArrow = bearish2;
downArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
downArrow.SetDefaultColor(CreateColor(255, 15, 10));
Thank you for sharing, does this script has a delay or is it real time? The previous trend reversal script I came across has a delay
 
Thank you for sharing, does this script has a delay or is it real time? The previous trend reversal script I came across has a delay
The reason why scalpers like repainting indicators is that they are real time was because there was no delay.

BUT...
The Trend Reversal uses the function: HighestAll which ToS broke in the last update and has no plans on fixing. This function no longer calculates in real time, which will cause scripts that use it to lag to the point of being un-usable.
 
Last edited:
Trend Reversal Indicator: Questions
This thread will be dedicated to Questions and Answers concerning the Trend Reversal Indicator
found here --> https://usethinkscript.com/threads/trend-reversal-indicator-with-signals-for-thinkorswim.183/

Trend Reversal Indicator provides signals for potential reversals
This indicator has the option to paint candles:
* Green = Bullish​
* Purple = Neutral​
* Red = Bearish​

PLEASE NOTE: THIS INDICATOR REPAINTS
Good afternoon all, I have been using this indicator for a while and it works well in combination with other indicators. It is not a for sure winner, just like any other indicator. If that was the case we would all be filthy rich. The reason I am writing is because I would like to see if it is possible to alter the script I have so I can add lets say for example, a 10 minute trend reversal indicator to a 1 minute chart. Thank you in advance for your replies.

This is the script I use:


# Trend Reversal Scanner
# Scanner by https://usethinkscript.com/u/theelderwand
# Discuss https://usethinkscript.com/d/183-trend-reversal-indicator-with-signals-for-thinkorswim

def price = close;
def superfast_length = 5;
def fast_length = 14;
def slow_length = 21;
def displace = 0;


def mov_avg9 = ExpAverage(price[-displace], superfast_length);
def mov_avg14 = ExpAverage(price[-displace], fast_length);
def mov_avg21 = ExpAverage(price[-displace], slow_length);

#moving averages
def Superfast = mov_avg9;
def Fast = mov_avg14;
def Slow = mov_avg21;

def buy = mov_avg9 > mov_avg14 and mov_avg14 > mov_avg21 and low > mov_avg9;
def stopbuy = mov_avg9 <= mov_avg14;
def buynow = !buy[1] and buy;
def buysignal = CompoundValue(1, if buynow and !stopbuy then 1 else if buysignal[1] == 1 and stopbuy then 0 else buysignal[1], 0);

def Buy_Signal = buysignal[1] == 0 and buysignal == 1;


def Momentum_Down = buysignal[1] == 1 and buysignal == 0;

def sell = mov_avg9 < mov_avg14 and mov_avg14 < mov_avg21 and high < mov_avg9;
def stopsell = mov_avg9 >= mov_avg14;
def sellnow = !sell[1] and sell;
def sellsignal = CompoundValue(1, if sellnow and !stopsell then 1 else if sellsignal[1] == 1 and stopsell then 0 else sellsignal[1], 0);
def Sell_Signal = sellsignal[1] == 0 and sellsignal;


input method = {default average, high_low};
def bubbleoffset = .0005;
def percentamount = .01;
def revAmount = .05;
def atrreversal = 2.0;
def atrlength = 5;
def pricehigh = high;
def pricelow = low;
def averagelength = 5;
def averagetype = AverageType.EXPONENTIAL;
def mah = MovingAverage(averagetype, pricehigh, averagelength);
def mal = MovingAverage(averagetype, pricelow, averagelength);
def priceh = if method == method.high_low then pricehigh else mah;
def pricel = if method == method.high_low then pricelow else mal;
def EI = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = percentamount, "absolute reversal" = revAmount, "atr length" = atrlength, "atr reversal" = atrreversal);
rec EISave = if !IsNaN(EI) then EI else GetValue(EISave, 1);
def chg = (if EISave == priceh then priceh else pricel) - GetValue(EISave, 1);
def isUp = chg >= 0;
def EIL = if !IsNaN(EI) and !isUp then pricel else GetValue(EIL, 1);
def EIH = if !IsNaN(EI) and isUp then priceh else GetValue(EIH, 1);
def dir = CompoundValue(1, if EIL != EIL[1] or pricel == EIL[1] and pricel == EISave then 1 else if EIH != EIH[1] or priceh == EIH[1] and priceh == EISave then -1 else dir[1], 0);
def signal = CompoundValue(1, if dir > 0 and pricel > EIL then if signal[1] <= 0 then 1 else signal[1] else if dir < 0 and priceh < EIH then if signal[1] >= 0 then -1 else signal[1] else signal[1], 0);

def bullish2 = signal > 0 and signal[1] <= 0;
plot upArrow = bullish2;
upArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
upArrow.SetDefaultColor(CreateColor(145, 210, 144));

def bearish2 = signal < 0 and signal[1] >= 0;
plot downArrow = bearish2;
downArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
downArrow.SetDefaultColor(CreateColor(255, 15, 10));
I changed these two settings and it's amazing on as small as 1 mn, but the 10d 30mn has been great for swing trades. (For example only) Was great with F, DIS, TSLA, AAL, DAL, BRK/B just to name a few. Also works pretty good on 4hr but seems limited to me. It does still repaint but cuts out so many signals that would be false.

def bubbleoffset = .5000;
def percentamount = .35;
 
What is the recommended time frame to use this indicator with? I was using on a 5 min chart and got a few false signals. Anyway to combat that? LIke using a higher time frame or something else?
 

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