High / Low Lines, Scans, Watchlists, Code For ThinkOrSwim

desirobinhood

New member
Indicator to show previous day High Low and Close on the current day chart

Rich (BB code):
input aggregationPeriod = AggregationPeriod.DAY;
input length = 1;
input displace = -1;
input showOnlyLastPeriod = yes;
plot PrevDayHigh;
plot PrevDayLow;
plot PrevDayClose;

if showOnlyLastPeriod and !IsNaN(high(period = aggregationPeriod)[-1]) and !IsNaN(low(period = aggregationPeriod)[-1]) and !IsNaN(close(period = aggregationPeriod)[-1])
{
    PrevDayHigh = Double.NaN;
    PrevDayLow = Double.NaN;
    PrevDayClose = Double.NaN;
}
else
{
    PrevDayHigh = Highest(high(period = aggregationPeriod)[-displace], length);
    PrevDayLow = Highest(low(period = aggregationPeriod)[-displace], length);
    PrevDayClose = Highest(close(period = aggregationPeriod)[-displace], length);
}
PrevDayHigh.SetDefaultColor(CreateColor(0,255,255));
PrevDayHigh.SetPaintingStrategy(PaintingStrategy.LINE);

PrevDayLow.SetDefaultColor(CreateColor(0,255,255));
PrevDayLow.SetPaintingStrategy(PaintingStrategy.LINE);

PrevDayClose.SetDefaultColor(CreateColor(116,189,239));
PrevDayClose.SetPaintingStrategy(PaintingStrategy.LINE);
PrevDayClose.SetStyle(Curve.LONG_DASH)
 
@halcyonguy or anyone else...

This is a pretty remedial question even for me so I apologize in advance. How do to stop the plotted lines of yesterday's H/L from going all the way to the left of the chart? I'd like to start the line from the highest high and lowest low of the prior day then it should carry across to the right of the chart. Same with the week. Again, remedial question as I couldn't figure out how to do it while looking through other charts. Thank you as always!

Code:
# prevday_levels_onalldays_01
# halcyonguy
# 21-08-12
#
# find high and low , of 2 previous periods, day and week.
# draw a horizontal line across the chart, at the 4 price levels.
# can change the offset , to look at older periods.
# 2 yellow lines, identify the 2 time periods.
# bubbles on the right, identify the lines.
#  the bubbles list the offset.

# Modifications by Tim G
#Sept 14, 2021


#Show/hide aggregation periods

input show1hr = no;
input show2hr = no;
input show4hr = no;
input show1d  = yes;
input show1dOp = yes;
input show1w  = yes;
input show1WOp = yes;
input show1mo = yes;
input show1MOp = yes;
input show1q  = no;
input offset = 1;

# place bubbles after last bar, to id the lines

def futurebar = 6;
def x = (!IsNaN(close[futurebar]) and IsNaN(close[futurebar - 1]));
def futurebary = 3;
def y = (!IsNaN(close[futurebary]) and IsNaN(close[futurebary - 1]));
def futurebarz = 9;
def z = (!IsNaN(close[futurebarz]) and IsNaN(close[futurebarz - 1]));

### 1H timeframe ###

def tf1h = AggregationPeriod.HOUR;
def valid1h = GetAggregationPeriod() <= AggregationPeriod.HOUR;
def h1h;
def l1h;
def o1h;
def o1hc;
def c1h;

def D1h = Round(c1h - o1h);

if valid1h and show1hr {
    h1h = high (period = tf1h)[offset];
    l1h = low  (period = tf1h)[offset];
    o1h = open (period = tf1h)[offset];
    o1hc =  open (period = tf1h);
    c1h = close(period = tf1h)[offset];

} else {
    h1h = Double.NaN;
    l1h = Double.NaN;
    o1h = Double.NaN;
    o1hc = Double.NaN;
    c1h = Double.NaN;
}

plot hourlow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1h else Double.NaN);
plot hourhigh =  HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1h else Double.NaN);
plot houropen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1hc else Double.NaN);
plot houropen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1hc else Double.NaN);

hourlow.SetDefaultColor(Color.MAGENTA);
hourhigh.SetDefaultColor(Color.LIGHT_GREEN);
houropen.SetDefaultColor(Color.GREEN);
houropen.SetStyle(Curve.SHORT_DASH);
houropen2.SetDefaultColor(Color.LIGHT_RED);
houropen.SetLineWeight(2);
houropen2.SetLineWeight(2);

# place bubbles after last bar, to id the lines


AddChartBubble(x, hourlow, "H[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(x, hourhigh, "H[" + offset + "]", Color.GREEN, yes);
AddChartBubble(x, houropen, "H O", Color.CYAN, yes);

### 2H timeframe ###

def tf2h = AggregationPeriod.TWO_HOURS;
def valid2h = GetAggregationPeriod() <= AggregationPeriod.TWO_HOURS;
def h2h;
def l2h;
def o2h;
def o2hc;
def c2h;

def D2h = Round(c2h - o2h);

if valid2h and show2hr {
    h2h = high (period = tf2h)[offset];
    l2h = low  (period = tf2h)[offset];
    o2h = open (period = tf2h)[offset];
    o2hc =  open (period = tf2h);
    c2h = close(period = tf2h)[offset];

} else {
    h2h = Double.NaN;
    l2h = Double.NaN;
    o2h = Double.NaN;
    o2hc = Double.NaN;
    c2h = Double.NaN;
}

plot twohourlow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l2h else Double.NaN);
plot twohourhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h2h else Double.NaN);
plot twohouropen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o2hc else Double.NaN);
plot twohouropen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o2hc else Double.NaN);

twohourlow.SetDefaultColor(Color.MAGENTA);
twohourhigh.SetDefaultColor(Color.LIGHT_GREEN);
twohouropen.SetDefaultColor(Color.GREEN);
twohouropen.SetStyle(Curve.SHORT_DASH);
twohouropen2.SetDefaultColor(Color.LIGHT_RED);
twohouropen.SetLineWeight(2);
twohouropen2.SetLineWeight(2);

# place bubbles after last bar, to id the lines


AddChartBubble(x, twohourlow, "2H[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(x, twohourhigh, "2H[" + offset + "]", Color.GREEN, yes);
AddChartBubble(x, twohouropen, "2H O", Color.CYAN, yes);

### 4h timeframe ###

def tf4h = AggregationPeriod.FOUR_HOURS;
def valid4h = GetAggregationPeriod() <= AggregationPeriod.FOUR_HOURS;
def h4h;
def l4h;
def o4h;
def o4hc;
def c4h;

def D4h = Round(c4h - o4h);

if valid4h and show4hr {
    h4h = high (period = tf4h)[offset];
    l4h = low  (period = tf4h)[offset];
    o4h = open (period = tf4h)[offset];
    o4hc =  open (period = tf4h);
    c4h = close(period = tf4h)[offset];

} else {
    h4h = Double.NaN;
    l4h = Double.NaN;
    o4h = Double.NaN;
    o4hc = Double.NaN;
    c4h = Double.NaN;
}


plot fourhourlow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l4h else Double.NaN);
plot fourhourhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h4h else Double.NaN);
plot fourhouropen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o4hc else Double.NaN);
;
plot fourhouropen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o4hc else Double.NaN);

fourhourlow.SetDefaultColor(Color.MAGENTA);
fourhouropen.SetDefaultColor(Color.GREEN);
fourhouropen.SetStyle(Curve.SHORT_DASH);
fourhouropen2.SetDefaultColor(Color.LIGHT_RED);
fourhouropen.SetLineWeight(2);
fourhouropen2.SetLineWeight(2);

# place bubbles after last bar, to id the lines


AddChartBubble(x, fourhourlow, "4H[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(x, fourhourhigh, "4H[" + offset + "]", Color.GREEN, yes);
AddChartBubble(x, fourhouropen, "4H O", Color.CYAN, yes);


### 1d timeframe ###

def tf1d = AggregationPeriod.DAY;
def valid1d = GetAggregationPeriod() <= AggregationPeriod.DAY;
def h1d;
def l1d;
def o1d;
def o1dc;
def c1d;

def D1d = Round(c1d - o1d);

if valid1d and show1d {
    h1d = high (period = tf1d)[offset];
    l1d = low  (period = tf1d)[offset];
    o1d = open (period = tf1d)[offset];
    o1dc =  open (period = tf1d);
    c1d = close(period = tf1d)[offset];

} else {
    h1d = Double.NaN;
    l1d = Double.NaN;
    o1d = Double.NaN;
    o1dc = Double.NaN;
    c1d = Double.NaN;
}

plot daylow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1d else Double.NaN);
plot dayhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1d else Double.NaN);
plot daylow2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1d else Double.NaN);
plot dayhigh2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1d else Double.NaN);
plot dayopen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1dOp then o1dc else Double.NaN);

plot dayopen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1dOp then o1dc else Double.NaN);


dayhigh.SetDefaultColor(Color.YELLOW);
dayhigh.SetStyle(Curve.SHORT_DASH);
dayhigh.SetLineWeight(1);
dayhigh2.SetDefaultColor(Color.CYAN);
dayhigh2.SetLineWeight(1);


daylow.SetDefaultColor(Color.YELLOW);
daylow.SetStyle(Curve.SHORT_DASH);
daylow.SetLineWeight(1);
daylow2.SetDefaultColor(Color.CYAN);
daylow2.SetLineWeight(1);


dayopen.SetDefaultColor(Color.DARK_GREEN);
dayopen.SetStyle(Curve.SHORT_DASH);
dayopen2.SetDefaultColor(Color.DARK_RED);
dayopen.SetLineWeight(1);
dayopen2.SetLineWeight(1);



AddChartBubble(x, daylow, "D[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(y, dayhigh, "D[" + offset + "]", Color.GREEN, yes);
AddChartBubble(z, dayopen, "D O", Color.CYAN, yes);

### 1w timeframe ###

def tf1w = AggregationPeriod.WEEK;
def valid1w = GetAggregationPeriod() <= AggregationPeriod.WEEK;
def h1w;
def l1w;
def o1w;
def o1wc;
def c1w;

def D1w = Round(c1w - o1w);

if valid1w and show1w {
    h1w = high (period = tf1w)[offset];
    l1w = low  (period = tf1w)[offset];
    o1w = open (period = tf1w)[offset];
    o1wc =  open (period = tf1w);
    c1w = close(period = tf1w)[offset];

} else {
    h1w = Double.NaN;
    l1w = Double.NaN;
    o1w = Double.NaN;
    o1wc = Double.NaN;
    c1w = Double.NaN;
}

plot weeklow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1w else Double.NaN);
plot weekhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1w else Double.NaN);
plot weeklow2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1w else Double.NaN);
plot weekhigh2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1w else Double.NaN);
plot weekopen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1WOp then o1wc else Double.NaN);
plot weekopen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1WOp then o1wc else Double.NaN);

weekhigh.SetDefaultColor(Color.WHITE);
weekhigh.SetStyle(Curve.SHORT_DASH);
weekhigh.SetLineWeight(1);
weekhigh2.SetDefaultColor(Color.PLUM);
weekhigh2.SetLineWeight(1);


weeklow.SetDefaultColor(Color.WHITE);
weeklow.SetStyle(Curve.SHORT_DASH);
weeklow.SetLineWeight(1);
weeklow2.SetDefaultColor(Color.PLUM);
weeklow2.SetLineWeight(1);
weekopen.SetDefaultColor(Color.DARK_GREEN);
weekopen.SetStyle(Curve.SHORT_DASH);
weekopen2.SetDefaultColor(Color.DARK_RED);
weekopen.SetLineWeight(2);
weekopen2.SetLineWeight(2);

# place bubbles after last bar, to id the lines


AddChartBubble(z, weeklow, "W[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(x, weekhigh, "W[" + offset + "]", Color.GREEN, yes);
AddChartBubble(y, weekopen, "W O", Color.CYAN, yes);

### 1month timeframe ###

def tf1m = AggregationPeriod.MONTH;
def valid1m = GetAggregationPeriod() <= AggregationPeriod.MONTH;
def h1m;
def l1m;
def o1m;
def o1mc;
def c1m;

def D1m = Round(c1m - o1m);

if valid1m and show1mo {
    h1m = high (period = tf1m)[offset];
    l1m = low  (period = tf1m)[offset];
    o1m = open (period = tf1m)[offset];
    o1mc =  open (period = tf1m);
    c1m = close(period = tf1m)[offset];

} else {
    h1m = Double.NaN;
    l1m = Double.NaN;
    o1m = Double.NaN;
    o1mc = Double.NaN;
    c1m = Double.NaN;
}

plot monthlow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1m else Double.NaN);
plot monthhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1m else Double.NaN);
plot monthopen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1MOp then o1mc else Double.NaN);
plot monthopen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) and show1MOp then o1mc else Double.NaN);
monthlow.SetDefaultColor(Color.CYAN);
monthhigh.SetDefaultColor(Color.CYAN);
monthopen.SetDefaultColor(Color.DARK_GREEN);
monthopen.SetStyle(Curve.SHORT_DASH);
monthopen2.SetDefaultColor(Color.DARK_RED);
monthopen.SetLineWeight(2);
monthopen2.SetLineWeight(2);
# place bubbles after last bar, to id the lines


AddChartBubble(y, monthlow, "M[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(z, monthhigh, "M[" + offset + "]", Color.GREEN, yes);
AddChartBubble(x, monthopen, "M O", Color.CYAN, yes);



### 1quarter timeframe ###

def tf1q = AggregationPeriod.QUARTER;
def valid1q = GetAggregationPeriod() <= AggregationPeriod.QUARTER;
def h1q;
def l1q;
def o1q;
def o1qc;
def c1q;

def D1q = Round(c1q - o1q);

if valid1q and show1q {
    h1q = high (period = tf1q)[offset];
    l1q = low  (period = tf1q)[offset];
    o1q = open (period = tf1q)[offset];
    o1qc =  open (period = tf1q);
    c1q = close(period = tf1q)[offset];

} else {
    h1q = Double.NaN;
    l1q = Double.NaN;
    o1q = Double.NaN;
    o1qc = Double.NaN;
    c1q = Double.NaN;
}

plot quarterlow = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1q else Double.NaN);
plot quarterhigh = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1q else Double.NaN);
plot quarteropen = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1qc else Double.NaN);
plot quarteropen2 = HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1qc else Double.NaN);
quarterlow.SetDefaultColor(Color.MAGENTA);
quarterhigh.SetDefaultColor(Color.LIGHT_GREEN);
quarteropen.SetDefaultColor(Color.GREEN);
quarteropen.SetStyle(Curve.SHORT_DASH);
quarteropen2.SetDefaultColor(Color.LIGHT_RED);
quarteropen.SetLineWeight(2);
quarteropen2.SetLineWeight(2);


# place bubbles after last bar, to id the lines


AddChartBubble(y, quarterlow, "Q[" + offset + "]", Color.MAGENTA, yes);
AddChartBubble(y, quarterhigh, "Q[" + offset + "]", Color.GREEN, yes);
AddChartBubble(y, quarteropen, "Q O", Color.CYAN, yes);

def cond1 = (h1w - h1d) + c1d;
plot cond2 = if c1d * 1.05 >= cond1 then 1 else 0;
 

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

So I've been looking for a scan that will take the daily high - the daily low. And show the absolute value. I've been trying to find one but I'll I see is indicators like atr and similar. But I'm looking for a stock scan that will show me stocks that meet the criteria.

Daily high - daily low
And show me stocks the have a value daily high- daily low > 5
 
Good day,

Can someone please help with a simple Thinkscript that would display a line at the following level?

Yesterday’s Low - ((Yesterday’s High - Yesterday’s Low) *4))

This would be Yesterday’s range extended four times below Yesterday’s Low.

Thank you!!
 
Good day,

Can someone please help with a simple Thinkscript that would display a line at the following level?

Yesterday’s Low - ((Yesterday’s High - Yesterday’s Low) *4))

This would be Yesterday’s range extended four times below Yesterday’s Low.

Thank you!!

Try this

Ruby:
input show_yhl = yes;
input multiple = 4;

plot ylow  = low(period = AggregationPeriod.DAY)[1];
plot yhigh = high(period = AggregationPeriod.DAY)[1];
plot Diff  = ylow - (yhigh - ylow) * multiple;

ylow.SetPaintingStrategy(PaintingStrategy.DASHES);
yhigh.SetPaintingStrategy(PaintingStrategy.DASHES);
Diff.SetPaintingStrategy(PaintingStrategy.DASHES);

ylow.SetHiding(!show_yhl);
yhigh.SetHiding(!show_yhl);
 
@SleepyZ
Do you know how to write this code as a Custom Quote Formula so it will display this level as a number under Marketwatch/Quotes?
Thank you again

Enter this into the thinkscript editor

Capture.jpg
 
@halcyonguy or anyone else...

This is a pretty remedial question even for me so I apologize in advance. How do to stop the plotted lines of yesterday's H/L from going all the way to the left of the chart? I'd like to start the line from the highest high and lowest low of the prior day then it should carry across to the right of the chart. Same with the week. Again, remedial question as I couldn't figure out how to do it while looking through other charts. Thank you as always!
Here is one way. I have done the 1hr and 2hr ones. I am leaving the rest for you to try using the same logic as the 2 that I did. You can see the transition between the 2.

The bold italic are the additions to start the limiting code for 1hr
def bn1h = highestall(if open==o1hc then barnumber() else double.nan);

plot hourlow = if barnumber()<bn1h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l1h else Double.NaN);
plot hourhigh = if barnumber()<bn1h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h1h else Double.NaN);
plot houropen = if barnumber()<bn1h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1hc else Double.NaN);
plot houropen2 = if barnumber()<bn1h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o1hc else Double.NaN);

The bold italic code is the only change from above to make this limit the plot for 2hr
def bn2h = highestall(if open==o2hc then barnumber() else double.nan);
plot twohourlow = if barnumber()<bn2h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then l2h else Double.NaN);
plot twohourhigh = if barnumber()<bn2h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then h2h else Double.NaN);
plot twohouropen = if barnumber()<bn2h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o2hc else Double.NaN);
plot twohouropen2 = if barnumber()<bn2h then double.nan else HighestAll( if (!IsNaN(close) and IsNaN(close[-1])) then o2hc else
Double.NaN);

 
@SleepyZ, Question for you. When the market is closed, I want to plot the most recent high/low but when the market is open, I want to plot the high/low on the last painted bar and not the currently active bar. I'm trying to write an expression that will allow me the change the offset if the market is open vs closed. I don't think TOS likes an expression as the offset though. Any thoughts?
 
@SleepyZ, Question for you. When the market is closed, I want to plot the most recent high/low but when the market is open, I want to plot the high/low on the last painted bar and not the currently active bar. I'm trying to write an expression that will allow me the change the offset if the market is open vs closed. I don't think TOS likes an expression as the offset though. Any thoughts?

Here are the changes (bold/italic) for the one hour that you can use to change the others.

def rth = GetTime() >= RegularTradingStart(GetYYYYMMDD()) and GetTime() <= RegularTradingEnd(GetYYYYMMDD());
if valid1h and show1hr {
h1h = if !rth then high (period = tf1h) else high (period = tf1h)[offset];
l1h = if !rth then low(period = tf1h) else low(period = tf1h)[offset];
o1h = if !rth then open(period = tf1h) else open(period = tf1h)[offset];
o1hc = open(period = tf1h);
c1h = if !rth then close(period = tf1h) else close(period = tf1h)[offset];
 
Last edited:
I found I can get the high of the day with this. But the complex script icon appear. Is there a way to make it lighter and the complex script icon disapear?

Code:
def highhigh = HighestAll(high);
def prix3e = Round (highhigh - (42 * highhigh / 100), 2);
def prix4e = Round (highhigh - (27 * highhigh / 100), 2);
def prix2e = Round (highhigh - (55 * highhigh / 100), 2);

AddLabel (yes, "High | " + prix2e + "", Color.LIGHT_GRAY);
 
I found I can get the high of the day with this. But the complex script icon appear. Is there a way to make it lighter and the complex script icon disapear?

Code:
def highhigh = HighestAll(high);
def prix3e = Round (highhigh - (42 * highhigh / 100), 2);
def prix4e = Round (highhigh - (27 * highhigh / 100), 2);
def prix2e = Round (highhigh - (55 * highhigh / 100), 2);

AddLabel (yes, "High | " + prix2e + "", Color.LIGHT_GRAY);
The use of highestall creates the complex script icon to appear. The highigh you defined in the above is the highest high on the chart you are viewing. To get the high of the day during regular trading hours you can use this instead : def highhigh = high(period=aggregationPeriod.DAY);

If that does not work for what you want, then there may be some script way to do it without the too complex icon to appear. We would need a better idea of what you are doing so that we can test any code that is developed. That icon's appearance is not usually a problem. You can test it and see if there are problems.
 
Looking for a dynamic line that's updated whenever a new high/low is made intraday. Is there already a script out there? Tried searching but couldn't find it.
 

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
312 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