Smoothed RSI for ThinkorSwim

Pensar

Expert
VIP
Lifetime
This indicator is a simple modification of the popular RSI, set to 2 periods and using a farther back price value to smooth out much of the chop in the RSI plot. It's been quite helpful to point out dip areas in uptrending stocks; I've yet to find a way to use it on the short side.

Smoothed-RSI2.png

Code:
# Smoothed RSI2
# Pensar
# Created early 2020
# Released 05.18.2021 - V.1.0
# This indicator is an simple variation of the Connors 2-period RSI.
# It uses the third price value back to smooth the RSI plot.

declare lower;

input period = 2;
input over_bought = 90;
input over_sold = 10;
input idata = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, idata - idata[3], period);
def TotChgAvg = MovingAverage(averageType, AbsValue(idata - idata[3]), period);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

plot RSI = 50 * (ChgRatio + 1);
     RSI.DefineColor("OverBought", color.red);
     RSI.DefineColor("Normal", color.gray);
     RSI.DefineColor("OverSold", color.green);
     RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought")
                          else if RSI < over_Sold then RSI.color("OverSold")
                          else RSI.color("Normal"));
plot OverSold = over_Sold;
plot OverBought = over_Bought;
     OverSold.SetDefaultColor(color.green);
     Oversold.setstyle(curve.short_dash);
     Oversold.setlineweight(1);
     OverBought.SetDefaultColor(color.red);
     OverBought.setstyle(curve.short_dash);
     Oversold.setlineweight(1);

AddCloud(if RSI > OverBought then RSI else double.nan, Overbought, color.red,color.red);
AddCloud(if RSI < OverSold then RSI else double.nan, OverSold, color.green,color.green);

# End Code
 
thanks very much for that. i compared it to my go-to of rsi5 and while the readings at the extremes are similar, yours is much better visually and much less taxing on the ol' gray matter. i think i noticed that the smoothing also tends to smooth away the appearances of divergences, though i haven't looked at enough instances to be sure of that. anyway: thanks!
 
I have modified Pensar's code to include an Inverted Williams%R (inverted meaning it plots 0 to100 vs 0 to -100)
The PRIMARY buy signal is when the inverted Williams%R is GREATER THAN 50 and making a cloud... AND, the RSI is below 15 and making a GREEN cloud too

I've been watching it to learn the nuances of how RSI2 behaves near the 9,20,50 ema lines

When the inverted Williams %R is greater than 20 AND the RSI2 line is OVER 15... you have the conditions for continuation, scale out of a scalp and let a little ride for more profits
 
# Smoothed RSI2
# Pensar
# Created early 2020
# Released 05.18.2021 - V.1.0
# This indicator is an simple variation of the Connors 2-period RSI.
# It uses the third price value back to smooth the RSI plot.
# Modified by Iconoclastic 7.12.2021 to include an Inverted Williams%R

declare lower;

input period = 2;
input over_bought = 90;
input over_sold = 10;
input idata = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, idata - idata[3], period);
def TotChgAvg = MovingAverage(averageType, AbsValue(idata - idata[3]), period);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

#
#
#
input WRlength = 28;
# input overBought = 20;
# input overSold = 80;

def mid_line = 50;
def hh = Highest(high, WRlength);
def ll = Lowest(low, WRlength);
def result = if hh == ll then -100 else (hh - close) / (hh - ll) * (-100);
def WR = if result > 0 then 0 else result;
#
plot MidLine = mid_line;
MidLine.SetDefaultColor(Color.WHITE);
MidLine.SetStyle(Curve.LONG_DASH);
#
plot WRmod = WR + 100;
WRmod.SetDefaultColor(GetColor(1));

WRmod.DefineColor("OverBought", Color.RED);
WRmod.DefineColor("Normal", Color.GRAY);
WRmod.DefineColor("BuyRange", Color.GREEN);
WRmod.AssignValueColor(if WRmod > mid_line then WRmod.Color("BuyRange") else
if WRmod < mid_line then WRmod.Color("Normal")
else WRmod.Color("Normal"));

AddCloud(if WRmod > MidLine then WRmod else Double.NaN, MidLine, Color.GREEN, Color.GREEN);
plot WR_OB = 80;
WR_OB.SetDefaultColor(Color.green);
WR_OB.SetStyle(Curve.medium_DASH);

# plot Over_Sold = overSold;
# Over_Sold.SetDefaultColor(GetColor(8));

# plot Over_Bought = overBought;
# Over_Bought.SetDefaultColor(GetColor(8));

plot RSI = 50 * (ChgRatio + 1);
RSI.DefineColor("OverBought", Color.RED);
RSI.DefineColor("Normal", Color.Light_GRAY);
RSI.DefineColor("OverSold", Color.GREEN);
RSI.AssignValueColor(if RSI > over_bought then RSI.Color("OverBought")
else if RSI < over_sold then RSI.Color("OverSold")
else RSI.Color("Normal"));
plot OverSold = over_sold;
plot OverBought = over_bought;
OverSold.SetDefaultColor(Color.GREEN);
OverSold.SetStyle(Curve.SHORT_DASH);
OverSold.SetLineWeight(3);
OverBought.SetDefaultColor(Color.RED);
OverBought.SetStyle(Curve.SHORT_DASH);
OverSold.SetLineWeight(3);

AddCloud(if RSI > OverBought then RSI else Double.NaN, OverBought, Color.RED, Color.RED);
AddCloud(if RSI < OverSold then RSI else Double.NaN, OverSold, Color.GREEN, Color.GREEN);

# End Code
 
# Smoothed RSI2
# Pensar
# Created early 2020
# Released 05.18.2021 - V.1.0
# This indicator is an simple variation of the Connors 2-period RSI.
# It uses the third price value back to smooth the RSI plot.
# modified by Iconoclastic July 13th, 2021 to include an Inverted Willimas %R and RSI8
#

declare lower;

input period = 2;
input period2 = 8;


input over_bought = 90;
input over_sold = 10;
input idata = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, idata - idata[3], period);
def TotChgAvg = MovingAverage(averageType, AbsValue(idata - idata[3]), period);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
#
# Now for RSI2 with period 8
#
def NetChgAvg2 = MovingAverage(averageType, idata - idata[1], period2);
def TotChgAvg2 = MovingAverage(averageType, AbsValue(idata - idata[1]), period2);
def ChgRatio2 = if TotChgAvg2 != 0 then NetChgAvg2 / TotChgAvg2 else 0;

def RSI2_Min = 40;
#
#
#
plot RSI2 = 50 * (ChgRatio2 + 1);
RSI2.SetLineWeight(2);
RSI2.DefineColor("OverBought", color.red);
RSI2.DefineColor("Normal", color.gray);
RSI2.DefineColor("BuyRange", color.cyan);
RSI2.AssignValueColor(if RSI2 > RSI2_Min then RSI2.color("BuyRange")
# else if RSI < over_Sold then RSI.color("OverSold")
else RSI2.color("Normal"));

Plot RSI2Min = RSI2_Min;
RSI2Min.SetDefaultColor(color.light_gray);

Plot RSI2Low = 25;
RSI2Low.SetDefaultColor(color.light_gray);

AddCloud (RSI2Min, RSI2Low,color.cyan, color.cyan);

#
#
#
input WRlength = 28;
# input overBought = 20;
# input overSold = 80;

def mid_line = 50;
def hh = Highest(high, WRlength);
def ll = Lowest(low, WRlength);
def result = if hh == ll then -100 else (hh - close) / (hh - ll) * (-100);
def WR = if result > 0 then 0 else result;
#
#
plot MidLine = mid_line;
MidLine.SetDefaultColor(Color.green);
MidLine.SetStyle(Curve.LONG_DASH);
#

plot WRmod = WR + 100;
WRmod.SetDefaultColor(GetColor(1));
WRmod.SetLineWeight(2);

WRmod.DefineColor("OverBought", Color.RED);
WRmod.DefineColor("Normal", Color.GRAY);
WRmod.DefineColor("BuyRange", Color.green);
WRmod.AssignValueColor(if WRmod > mid_line then WRmod.Color("BuyRange") else
if WRmod < mid_line then WRmod.Color("Normal")
else WRmod.Color("Normal"));


AddCloud(if WRmod > MidLine then WRmod else Double.NaN, MidLine, Color.GREEN, Color.GREEN);
plot WR_OB = 80;
WR_OB.SetDefaultColor(Color.green);
WR_OB.SetStyle(Curve.medium_DASH);
#
#


plot RSI = 50 * (ChgRatio + 1);
RSI.SetLineWeight(3);
RSI.DefineColor("OverBought", color.red);
RSI.DefineColor("Normal", color.gray);
RSI.DefineColor("OverSold", color.green);
RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought")
else if RSI < over_Sold then RSI.color("OverSold")
else RSI.color("Normal"));
#
# Cloud for RSI8
#


plot OverSold = over_Sold;
plot OverBought = over_Bought;
OverSold.SetDefaultColor(color.green);
Oversold.setstyle(curve.short_dash);
Oversold.setlineweight(1);
OverBought.SetDefaultColor(color.red);
OverBought.setstyle(curve.short_dash);
Oversold.setlineweight(1);


AddCloud(if RSI > OverBought then RSI else double.nan, Overbought, color.red,color.red);


# End Code
 
I’m trying to better understand custom orders and hopefully create one that responds to potential patterns and signals I think I’ve seen.

Mostly observed rsi and adx. Tried looking at both indicators on the same chart to see any potential overlap. Just wondering is there a way for the platform to do a trade order when both indicators reach a certain condition, or receive a signal or message saying condition met. Sometimes I think these patterns happen in the middle of the night or after market close.

Main thing is can I create a code specifically to combine indicator signals and get a message as soon as it is generated even if I’m away from my computer.
 
Can someone help me with creating a conditional order with these indicators. I have a general idea of how to code for when RSI shows over in market. But how do I create a signal for when RSI and smooth RSI both show over at the same time in the same market.

I use to enter only when RSI started showing over but sometimes I get a fast moving/short trend before a reverse starts. So i added an smooth RSI so that it can filter and help limit false entry signals. Basically RSI will show an over signal, and if Smooth RSI also generates a signal then it means trend is still going and you didn't rush immediately when signal is generated.

I'm using the NKD market just around when market opens and a couple hours have already passed, since my main focus is hopefully to test on the faster and greater volatility markets like the DOW or NASDAQ. Theory is meant to take advantage of roughly 30 min before to the 1st hour of makret open since it tends to be when volatility is at the highest and market moves may be most.
 
For Smooth RSI i tried HMA Smoothing 3.

Here's the source code as it appears:
declare lower;

input length = 14;
input over_Bought = 70;
input over_Sold = 30;
input price = close;
Input HMASmoothing = 4; ##Added an input line for smoothing value

def NetChgAvg = WildersAverage(price - price[1], length);
def TotChgAvg = WildersAverage(AbsValue(price - price[1]), length);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

def RSI_Raw = 50 * (ChgRatio + 1); ## changed the name to RSI_Raw
plot OverSold = over_Sold;
plot OverBought = over_Bought;

Plot RSI = HullMovingAvg (RSI_Raw, HMASmoothing); ## Added our smoothing

RSI.DefineColor("OverBought", GetColor(5));
RSI.DefineColor("Normal", GetColor(7));
RSI.DefineColor("OverSold", GetColor(1));
RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought") else if RSI < over_Sold then RSI.color("OverSold") else RSI.color("Normal"));
OverSold.SetDefaultColor(GetColor(8));
OverBought.SetDefaultColor(GetColor(8));
 
@Dousei987 Is this study something you can start with?
The Conditional Order using the below study would be:
Upsignal is true or DownSignal is true
b1.png

Ruby:
input length = 14;
input over_Bought = 70;
input over_Sold = 30;
input price = close;
Input HMASmoothing = 4; ##Added an input line for smoothing value

def NetChgAvg = WildersAverage(price - price[1], length);
def TotChgAvg = WildersAverage(AbsValue(price - price[1]), length);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

def RSI_Raw = 50 * (ChgRatio + 1); ## changed the name to RSI_Raw
def SmoothRSI = HullMovingAvg (RSI_Raw, HMASmoothing); ## Added our smoothing

Plot downsignal = if SmoothRSI is greater than 70 and RSI()."RSI" is greater than 70 then high else double.NaN ;
downsignal.SetPaintingStrategy(PaintingStrategy.ARROW_down);
downsignal.SetLineWeight(1);
downsignal.SetDefaultColor(color.magenta) ;

Plot upsignal = if SmoothRSI is less than 30 and RSI()."RSI" is less than 30 then low else double.NaN ;
upsignal.SetPaintingStrategy(PaintingStrategy.ARROW_up);
upsignal.SetLineWeight(1);
upsignal.SetDefaultColor(color.blue) ;
 
I modify Smoothed RSI2 Indicator by adding more signal lines.

Ruby:
# Smoothed RSI2
# Pensar
# Created early 2020
# Released 05.18.2021 - V.1.0
# This indicator is an simple variation of the Connors 2-period RSI.
# It uses the third price value back to smooth the RSI plot.

declare lower;
input period = 2;
input over_bought = 90;
input over_sold = 10;
input idata = close;
input averageType = AverageType.WILDERS;

def src_1 = ohlc4;
input len_1 = 9;
def len_2 = 2 * len_1;
def len_3 = 2 * len_2;
input Over_Bought1 = 70;
def MidLine = 50;
input Over_Sold1 = 30; 

def NetChgAvg1 = ExpAverage(src_1 - src_1[1], len_1);
def TotChgAvg1 = ExpAverage(AbsValue(src_1 - src_1[1]), len_1);
def ChgRatio1 = if TotChgAvg1 != 0
                  then NetChgAvg1 / TotChgAvg1
                  else 0;
plot rsi1 = 50 * (ChgRatio1 + 1);

def NetChgAvg2 = ExpAverage(src_1 - src_1[1], len_2);
def TotChgAvg2 = ExpAverage(AbsValue(src_1 - src_1[1]), len_2);
def ChgRatio2 = if TotChgAvg1 != 0
                  then NetChgAvg2 / TotChgAvg2
                  else 0;
plot rsi2 = 50 * (ChgRatio2 + 1);

def NetChgAvg3 = ExpAverage(src_1 - src_1[1], len_3);
def TotChgAvg3 = ExpAverage(AbsValue(src_1 - src_1[1]), len_3);
def ChgRatio3 = if TotChgAvg1 != 0
                  then NetChgAvg3 / TotChgAvg3
                  else 0;
plot rsi3 = 50 * (ChgRatio3 + 1);
plot middle_Line = MidLine;
plot Over_Bought_Line = Over_Bought1;
plot Over_Sold_Line = Over_Sold1;
plot Over_Bought_line1 = 90;
plot Over_sold_line1 = 10;


def NetChgAvg = MovingAverage(averageType, idata - idata[3], period);
def TotChgAvg = MovingAverage(averageType, AbsValue(idata - idata[3]), period);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

plot RSI = 50 * (ChgRatio + 1);
     RSI.DefineColor("OverBought", color.red);
     RSI.DefineColor("Normal", color.gray);
     RSI.DefineColor("OverSold", color.green);
     RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought")
                          else if RSI < over_Sold then RSI.color("OverSold")
                          else RSI.color("Normal"));
plot OverSold = over_Sold;
plot OverBought = over_Bought;
     OverSold.SetDefaultColor(color.green);
     Oversold.setstyle(curve.short_dash);
     Oversold.setlineweight(3);
     OverBought.SetDefaultColor(color.red);
     OverBought.setstyle(curve.short_dash);
     Oversold.setlineweight(3);

AddCloud(if RSI > OverBought then RSI else double.nan, Overbought, color.red,color.red);
AddCloud(if RSI < OverSold then RSI else double.nan, OverSold, color.green,color.green);

# End Code
 
Is it possible to add MTF? I've been looking at other MTF codes to see if I could just copy & paste then go back and change the time frames needed. Seems a little more complex then I thought.
 
BigScalp, I add MTF to RSI to meet your request. Enjoy your trading.
Ruby:
# Smoothed RSI2
# Pensar
# Created early 2020
# Released 05.18.2021 - V.1.0
# This indicator is an simple variation of the Connors 2-period RSI.
# It uses the third price value back to smooth the RSI plot.
#https://usethinkscript.com/threads/multiple-time-frame-mtf-rsi-indicator-for-thinkorswim.616/page-2

declare lower;
input period = 2;
input over_bought = 90;
input over_sold = 10;
input idata = close;
input averageType = AverageType.WILDERS;
input length = 14;
input over_Bought_a = 80;
input over_Sold_a = 20;
input price = close;
input averageType_a = AverageType.WILDERS;
input length2 = 14;
input price2 = close;
input averageType2 = AverageType.WILDERS;
input agg = AggregationPeriod.DAY;
input MALength = 8;
input AverageType1 = AverageType.SIMPLE;
input length3 = 14;
input price3 = close;
input averageType3 = AverageType.WILDERS;
input agg3 = AggregationPeriod.WEEK;

def src_1 = ohlc4;
input len_1 = 9;
def len_2 = 2 * len_1;
def len_3 = 2 * len_2;
input Over_Bought1 = 70;
def MidLine = 50;
input Over_Sold1 = 30;

def NetChgAvg1 = ExpAverage(src_1 - src_1[1], len_1);
def TotChgAvg1 = ExpAverage(AbsValue(src_1 - src_1[1]), len_1);
def ChgRatio1 = if TotChgAvg1 != 0
                  then NetChgAvg1 / TotChgAvg1
                  else 0;
plot rsi1 = 50 * (ChgRatio1 + 1);
RSI1.DefineColor("Positive and Up", Color.GREEN);
RSI1.DefineColor("Positive and Down", Color.DARK_GREEN);
RSI1.DefineColor("Negative and Down", Color.RED);
RSI1.DefineColor("Negative and Up", Color.DARK_RED);
RSI1.AssignValueColor(if RSI1 >= 50 then if RSI1 > RSI1[1] then RSI1.Color("Positive and Up") else RSI1.Color("Positive and Down") else if RSI1 < RSI1[1] then RSI1.Color("Negative and Down") else RSI1.Color("Negative and Up"));
RSI1.SetLineWeight(5);
def NetChgAvg2 = ExpAverage(src_1 - src_1[1], len_2);
def TotChgAvg2 = ExpAverage(AbsValue(src_1 - src_1[1]), len_2);
def ChgRatio2 = if TotChgAvg1 != 0
                  then NetChgAvg2 / TotChgAvg2
                  else 0;
plot rsi2 = 50 * (ChgRatio2 + 1);

def NetChgAvg3 = ExpAverage(src_1 - src_1[1], len_3);
def TotChgAvg3 = ExpAverage(AbsValue(src_1 - src_1[1]), len_3);
def ChgRatio3 = if TotChgAvg1 != 0
                  then NetChgAvg3 / TotChgAvg3
                  else 0;
plot rsi3 = 50 * (ChgRatio3 + 1);
plot middle_Line = MidLine;
plot Over_Bought_Line = Over_Bought1;
plot Over_Sold_Line = Over_Sold1;
plot Over_Bought_line1 = 90;
plot Over_sold_line1 = 10;


def NetChgAvg = MovingAverage(averageType, idata - idata[3], period);
def TotChgAvg = MovingAverage(averageType, AbsValue(idata - idata[3]), period);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

plot RSI = 50 * (ChgRatio + 1);
RSI.DefineColor("OverBought", Color.RED);
RSI.DefineColor("Normal", Color.white);
RSI.DefineColor("OverSold", Color.GREEN);
RSI.AssignValueColor(if RSI > over_bought then RSI.Color("OverBought")
                          else if RSI < over_sold then RSI.Color("OverSold")
                          else RSI.Color("Normal"));
RSI.SetLineWeight(4);
plot OverSold = over_sold;
plot OverBought = over_bought;
OverSold.SetDefaultColor(Color.GREEN);
OverSold.SetStyle(Curve.SHORT_DASH);
OverSold.SetLineWeight(3);
OverBought.SetDefaultColor(Color.RED);
OverBought.SetStyle(Curve.SHORT_DASH);
OverSold.SetLineWeight(3);

AddCloud(if RSI > OverBought then RSI else Double.NaN, OverBought, Color.RED, Color.RED);
AddCloud(if RSI < OverSold then RSI else Double.NaN, OverSold, Color.GREEN, Color.GREEN);
def NetChgAvg_a = MovingAverage(averageType_a, price - price[1], length);
def TotChgAvg_a = MovingAverage(averageType, AbsValue(price - price[1]), length);
def ChgRatio_a = if TotChgAvg_a != 0 then NetChgAvg_a / TotChgAvg_a else 0;
plot RSI_a = 50 * (ChgRatio + 1);
RSI_a.DefineColor("Positive and Up", Color.GREEN);
RSI_a.DefineColor("Positive and Down", Color.DARK_GREEN);
RSI_a.DefineColor("Negative and Down", Color.RED);
RSI_a.DefineColor("Negative and Up", Color.DARK_RED);
RSI_a.AssignValueColor(if RSI_a >= 50 then if RSI_a > RSI_a[1] then RSI_a.Color("Positive and Up") else RSI_a.Color("Positive and Down") else if RSI_a < RSI_a[1] then RSI_a.Color("Negative and Down") else RSI_a.Color("Negative and Up"));

def c = close(period = agg);
def NetChgAvg2_a = MovingAverage(averageType2, c - c[1], length2);
def TotChgAvg2_a = MovingAverage(averageType2, AbsValue(c - c[1] ), length2);
def ChgRatio2_a = if TotChgAvg2_a != 0 then NetChgAvg2_a / TotChgAvg2_a else 0;
plot RSI2_a = 50 * (ChgRatio2 + 1);
RSI2_a.DefineColor("Positive and Up", Color.GREEN);
RSI2_a.DefineColor("Positive and Down", Color.DARK_GREEN);
RSI2_a.DefineColor("Negative and Down", Color.RED);
RSI2_a.DefineColor("Negative and Up", Color.DARK_RED);
RSI2_a.AssignValueColor(if RSI2_a >= 50 then if RSI2_a > RSI2_a[1] then RSI2_a.Color("Positive and Up") else RSI2_a.Color("Positive and Down") else if RSI2_a < RSI2_a[1] then RSI2_a.Color("Negative and Down") else RSI2_a.Color("Negative and Up"));
RSI2_a.SetLineWeight(3);

def MA = MovingAverage(AverageType1, rsi2, MALength);
plot pMA = MA;
pMA.AssignValueColor(if PMA > PMA[1] then Color.green else Color.magenta);
PMA.SetLineWeight(2);
def c3 = close(period = agg3);
def NetChgAvg3_a = MovingAverage(averageType3, c3 - c3[1], length3);
def TotChgAvg3_a = MovingAverage(averageType3, AbsValue(c3 - c3[1]), length3);
def ChgRatio3_a = if TotChgAvg3_a != 0 then NetChgAvg3_a / TotChgAvg3_a else 0;
plot RSI3_a = 50 * (ChgRatio3 + 1);
RSI3_a.DefineColor("Positive and Up", Color.GREEN);
RSI3_a.DefineColor("Positive and Down", Color.DARK_GREEN);
RSI3_a.DefineColor("Negative and Down", Color.RED);
RSI3_a.DefineColor("Negative and Up", Color.DARK_RED);
RSI3_a.AssignValueColor(if RSI3_a >= 50 then if RSI3_a > RSI3_a[1] then RSI3_a.Color("Positive and Up") else RSI3_a.Color("Positive and Down") else if RSI3_a < RSI3_a[1] then RSI3_a.Color("Negative and Down") else RSI3_a.Color("Negative and Up"));
RSI3_a.SetLineWeight(5);
#addCloud(RSI, RSI2, color.green, color.red);
 
Last edited:

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