Standard Deviations LABELS

JP782

Active member
Im trying to downsize the amount of junk on my screen and want to have Labels that tell which standard deviation level close is at.

I have no clue where to start... The way Im trying to do it adding conditions for every instance seems insane and loads my screen up with too many labels

Is there a way to have ONE label where the data changes in it telling me the current Std Dev level the close price is at??

Here is the code Im using (measure outs to 4 Devs)
Ruby:
# Standard 4Devs
input price = close;
input deviations1 = 1.0;
input deviations2 = 2.0;
input deviations3 = 3.0;
input deviations4 = 4.0;

input deviations5 = .5;
input deviations6 = 1.5;
input deviations7 = 2.5;
input deviations8 = 3.5;


input fullRange = Yes;
input length = 21;

def regression;

def stdDeviation;

if (fullRange) {
regression = InertiaAll(price, extendToRight = yes);
stdDeviation = stdevAll(price, extendToRight = yes);
} else {
regression = InertiaAll(price, length);
stdDeviation = stdevAll(price, length);
}

plot MiddleLine = regression;
MiddleLine.setLineWeight(2);
MiddleLine.SetPaintingStrategy(PaintingStrategy.LINE);

plot UpperLine = regression + deviations1 * stdDeviation;
UpperLine.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine.setLineWeight(2);
plot LowerLine = regression - deviations1 * stdDeviation;
LowerLine.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine.setLineWeight(2);

plot UpperLine2 = regression + deviations2 * stdDeviation;
UpperLine2.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine2.setLineWeight(2);
plot LowerLine2 = regression - deviations2 * stdDeviation;
LowerLine2.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine2.setLineWeight(2);

plot UpperLine3 = regression + deviations3 * stdDeviation;
UpperLine3.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine3.setLineWeight(2);
plot LowerLine3 = regression - deviations3 * stdDeviation;
LowerLine3.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine3.setLineWeight(2);

plot UpperLine4 = regression + deviations4 * stdDeviation;
UpperLine4.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine4.setLineWeight(2);
plot LowerLine4 = regression - deviations4 * stdDeviation;
LowerLine4.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine4.setLineWeight(2);


# half devs

plot UpperLine5 = regression + deviations5 * stdDeviation;
UpperLine5.SetStyle(Curve.SHORT_DASH);
UpperLine5.setLineWeight(2);
plot LowerLine5 = regression - deviations5 * stdDeviation;
LowerLine5.SetStyle(Curve.SHORT_DASH);
LowerLine5.setLineWeight(2);

plot UpperLine6 = regression + deviations6 * stdDeviation;
UpperLine6.SetStyle(Curve.SHORT_DASH);
UpperLine6.setLineWeight(2);
plot LowerLine6 = regression - deviations6 * stdDeviation;
LowerLine6.SetStyle(Curve.SHORT_DASH);
LowerLine6.setLineWeight(2);


plot UpperLine7 = regression + deviations7 * stdDeviation;
UpperLine7.SetStyle(Curve.SHORT_DASH);
UpperLine7.setLineWeight(2);
plot LowerLine7 = regression - deviations7 * stdDeviation;
LowerLine7.SetStyle(Curve.SHORT_DASH);
LowerLine7.setLineWeight(2);

plot UpperLine8 = regression + deviations8 * stdDeviation;
UpperLine8.SetStyle(Curve.SHORT_DASH);
UpperLine8.setLineWeight(2);
plot LowerLine8 = regression - deviations8 * stdDeviation;
LowerLine8.SetStyle(Curve.SHORT_DASH);
LowerLine8.setLineWeight(2);

# Colors

MiddleLine.SetDefaultColor(GetColor(7));
UpperLine5.SetDefaultColor(GetColor(0));
LowerLine5.SetDefaultColor(GetColor(0));

# 1dev
UpperLine.SetDefaultColor(GetColor(1));
LowerLine.SetDefaultColor(GetColor(1));

UpperLine6.SetDefaultColor(GetColor(1));
LowerLine6.SetDefaultColor(GetColor(1));


# 2dev
UpperLine2.SetDefaultColor(GetColor(4));
LowerLine2.SetDefaultColor(GetColor(4));

UpperLine7.SetDefaultColor(GetColor(4));
LowerLine7.SetDefaultColor(GetColor(4));


# 3dev
UpperLine3.SetDefaultColor(Color.LIGHT_RED);
LowerLine3.SetDefaultColor(Color.LIGHT_RED);

UpperLine8.SetDefaultColor(GetColor(5));
LowerLine8.SetDefaultColor(GetColor(5));

# 4dev
UpperLine4.SetDefaultColor(Color.DARK_RED);
LowerLine4.SetDefaultColor(Color.DARK_RED);
 
Last edited by a moderator:
Solution
here is one way.
i typed this on my cell, so there may be typos.

desc
...find the price difference of close to each of the 16 deviation levels.
...find the smallest difference.
...find a match to the smallest difference and set a variable to the corresponding deviation.
...use a label to display the deviation level and the price difference. it is colored based on if close is above or below the deviation.

i changed
upperLine to upperLine1
lowerline to lowerline1
you will have to change your code.

add this to the end of your code.

Code:
def diff16 = (close - upperLine8);
def diff15 = (close - upperLine7);
def diff14 = (close - upperLine6);
def diff13 = (close - upperLine5);
def diff12 = (close - upperLine4);
def diff11 = (close -...
Im trying to downsize the amount of junk on my screen and want to have Labels that tell which standard deviation level close is at.

I have no clue where to start... The way Im trying to do it adding conditions for every instance seems insane and loads my screen up with too many labels

Is there a way to have ONE label where the data changes in it telling me the current Std Dev level the close price is at??

Here is the code Im using (measure outs to 4 Devs)
Ruby:
# Standard 4Devs
input price = close;
input deviations1 = 1.0;
input deviations2 = 2.0;
input deviations3 = 3.0;
input deviations4 = 4.0;

input deviations5 = .5;
input deviations6 = 1.5;
input deviations7 = 2.5;
input deviations8 = 3.5;


input fullRange = Yes;
input length = 21;

def regression;

def stdDeviation;

if (fullRange) {
regression = InertiaAll(price, extendToRight = yes);
stdDeviation = stdevAll(price, extendToRight = yes);
} else {
regression = InertiaAll(price, length);
stdDeviation = stdevAll(price, length);
}

plot MiddleLine = regression;
MiddleLine.setLineWeight(2);
MiddleLine.SetPaintingStrategy(PaintingStrategy.LINE);

plot UpperLine = regression + deviations1 * stdDeviation;
UpperLine.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine.setLineWeight(2);
plot LowerLine = regression - deviations1 * stdDeviation;
LowerLine.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine.setLineWeight(2);

plot UpperLine2 = regression + deviations2 * stdDeviation;
UpperLine2.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine2.setLineWeight(2);
plot LowerLine2 = regression - deviations2 * stdDeviation;
LowerLine2.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine2.setLineWeight(2);

plot UpperLine3 = regression + deviations3 * stdDeviation;
UpperLine3.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine3.setLineWeight(2);
plot LowerLine3 = regression - deviations3 * stdDeviation;
LowerLine3.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine3.setLineWeight(2);

plot UpperLine4 = regression + deviations4 * stdDeviation;
UpperLine4.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine4.setLineWeight(2);
plot LowerLine4 = regression - deviations4 * stdDeviation;
LowerLine4.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine4.setLineWeight(2);


# half devs

plot UpperLine5 = regression + deviations5 * stdDeviation;
UpperLine5.SetStyle(Curve.SHORT_DASH);
UpperLine5.setLineWeight(2);
plot LowerLine5 = regression - deviations5 * stdDeviation;
LowerLine5.SetStyle(Curve.SHORT_DASH);
LowerLine5.setLineWeight(2);

plot UpperLine6 = regression + deviations6 * stdDeviation;
UpperLine6.SetStyle(Curve.SHORT_DASH);
UpperLine6.setLineWeight(2);
plot LowerLine6 = regression - deviations6 * stdDeviation;
LowerLine6.SetStyle(Curve.SHORT_DASH);
LowerLine6.setLineWeight(2);


plot UpperLine7 = regression + deviations7 * stdDeviation;
UpperLine7.SetStyle(Curve.SHORT_DASH);
UpperLine7.setLineWeight(2);
plot LowerLine7 = regression - deviations7 * stdDeviation;
LowerLine7.SetStyle(Curve.SHORT_DASH);
LowerLine7.setLineWeight(2);

plot UpperLine8 = regression + deviations8 * stdDeviation;
UpperLine8.SetStyle(Curve.SHORT_DASH);
UpperLine8.setLineWeight(2);
plot LowerLine8 = regression - deviations8 * stdDeviation;
LowerLine8.SetStyle(Curve.SHORT_DASH);
LowerLine8.setLineWeight(2);

# Colors

MiddleLine.SetDefaultColor(GetColor(7));
UpperLine5.SetDefaultColor(GetColor(0));
LowerLine5.SetDefaultColor(GetColor(0));

# 1dev
UpperLine.SetDefaultColor(GetColor(1));
LowerLine.SetDefaultColor(GetColor(1));

UpperLine6.SetDefaultColor(GetColor(1));
LowerLine6.SetDefaultColor(GetColor(1));


# 2dev
UpperLine2.SetDefaultColor(GetColor(4));
LowerLine2.SetDefaultColor(GetColor(4));

UpperLine7.SetDefaultColor(GetColor(4));
LowerLine7.SetDefaultColor(GetColor(4));


# 3dev
UpperLine3.SetDefaultColor(Color.LIGHT_RED);
LowerLine3.SetDefaultColor(Color.LIGHT_RED);

UpperLine8.SetDefaultColor(GetColor(5));
LowerLine8.SetDefaultColor(GetColor(5));

# 4dev
UpperLine4.SetDefaultColor(Color.DARK_RED);
LowerLine4.SetDefaultColor(Color.DARK_RED);

here is one way.
i typed this on my cell, so there may be typos.

desc
...find the price difference of close to each of the 16 deviation levels.
...find the smallest difference.
...find a match to the smallest difference and set a variable to the corresponding deviation.
...use a label to display the deviation level and the price difference. it is colored based on if close is above or below the deviation.

i changed
upperLine to upperLine1
lowerline to lowerline1
you will have to change your code.

add this to the end of your code.

Code:
def diff16 = (close - upperLine8);
def diff15 = (close - upperLine7);
def diff14 = (close - upperLine6);
def diff13 = (close - upperLine5);
def diff12 = (close - upperLine4);
def diff11 = (close - upperLine3);
def diff10 = (close - upperLine2);
def diff9 = (close - upperLine1);

def diff8 = (close - LowerLine1);
def diff7 = (close - LowerLine2);
def diff6 = (close - LowerLine3);
def diff5 = (close - LowerLine4);
def diff4 = (close - LowerLine5);
def diff3 = (close - LowerLine6);
def diff2 = (close - LowerLine7);
def diff1 = (close - LowerLine8);

def z1 = min( min(diff1, diff2) , min(diff3, diff4) );
def z2 = min( min(diff5, diff6) , min(diff7, diff8) );
def z3 = min( min(diff9, diff10) , min(diff11, diff12) );
def z4 = min( min(diff13, diff14) , min(diff15, diff16) );
def z = min( min(z1,z2) , min(z3,z4) );

#  d is dev $
def d;
if diff1 == z then {
 d = lowerline8;
} else if diff2 == z then {
 d = lowerline7;
} else if diff3 == z then {
 d = lowerline6;
} else if diff4 == z then {
 d = lowerline5;
} else if diff5 == z then {
 d = lowerline4;
} else if diff6 == z then {
 d = lowerline3;
} else if diff7 == z then {
 d = lowerline2;
} else if diff8 == z then {
 d = lowerline1;

} else if diff9 == z then {
 d = upperline1;
} else if diff10 == z then {
 d = upperline2;
} else if diff11 == z then {
 d = upperline3;
} else if diff12 == z then {
 d = upperline4;
} else if diff13 == z then {
 d = upperline5;
} else if diff14 == z then {
 d = upperline6
} else if diff15 == z then {
 d = upperline7;
} else if diff16 == z then {
 d = upperline8;
} else {
 d = 0;
};

addlabel(1, " closest dev " + d + ". diff of " + z, (if z > 0 then color.green else color.red) );

ideas...
i like assigning formulas with def, then use plot to draw them or not. this makes it possible to turn plots on and off and still have the def values available to other formulas.
here is an example.

def na = double.nan;
def UpperLine1 = regression + deviations1 * stdDeviation;
input show_plots = yes;
plot UpperLine1x = if show_plots then UpperLine1 else na;

reorder the dev variables , to be in order 1 to 16

i don't like many lines on my charts. i prefer something visual for the desired condition. could draw a cloud, over the last few bars, between the close level and the desired deviation level, colored to show if close is above or below the line.
 
here is one way.
i typed this on my cell, so there may be typos.

desc
...find the price difference of close to each of the 16 deviation levels.
...find the smallest difference.
...find a match to the smallest difference and set a variable to the corresponding deviation.
...use a label to display the deviation level and the price difference. it is colored based on if close is above or below the deviation.

i changed
upperLine to upperLine1
lowerline to lowerline1
you will have to change your code.

add this to the end of your code.

Code:
def diff16 = (close - upperLine8);
def diff15 = (close - upperLine7);
def diff14 = (close - upperLine6);
def diff13 = (close - upperLine5);
def diff12 = (close - upperLine4);
def diff11 = (close - upperLine3);
def diff10 = (close - upperLine2);
def diff9 = (close - upperLine1);

def diff8 = (close - LowerLine1);
def diff7 = (close - LowerLine2);
def diff6 = (close - LowerLine3);
def diff5 = (close - LowerLine4);
def diff4 = (close - LowerLine5);
def diff3 = (close - LowerLine6);
def diff2 = (close - LowerLine7);
def diff1 = (close - LowerLine8);

def z1 = min( min(diff1, diff2) , min(diff3, diff4) );
def z2 = min( min(diff5, diff6) , min(diff7, diff8) );
def z3 = min( min(diff9, diff10) , min(diff11, diff12) );
def z4 = min( min(diff13, diff14) , min(diff15, diff16) );
def z = min( min(z1,z2) , min(z3,z4) );

#  d is dev $
def d;
if diff1 == z then {
 d = lowerline8;
} else if diff2 == z then {
 d = lowerline7;
} else if diff3 == z then {
 d = lowerline6;
} else if diff4 == z then {
 d = lowerline5;
} else if diff5 == z then {
 d = lowerline4;
} else if diff6 == z then {
 d = lowerline3;
} else if diff7 == z then {
 d = lowerline2;
} else if diff8 == z then {
 d = lowerline1;

} else if diff9 == z then {
 d = upperline1;
} else if diff10 == z then {
 d = upperline2;
} else if diff11 == z then {
 d = upperline3;
} else if diff12 == z then {
 d = upperline4;
} else if diff13 == z then {
 d = upperline5;
} else if diff14 == z then {
 d = upperline6
} else if diff15 == z then {
 d = upperline7;
} else if diff16 == z then {
 d = upperline8;
} else {
 d = 0;
};

addlabel(1, " closest dev " + d + ". diff of " + z, (if z > 0 then color.green else color.red) );

ideas...
i like assigning formulas with def, then use plot to draw them or not. this makes it possible to turn plots on and off and still have the def values available to other formulas.
here is an example.

def na = double.nan;
def UpperLine1 = regression + deviations1 * stdDeviation;
input show_plots = yes;
plot UpperLine1x = if show_plots then UpperLine1 else na;

reorder the dev variables , to be in order 1 to 16

i don't like many lines on my charts. i prefer something visual for the desired condition. could draw a cloud, over the last few bars, between the close level and the desired deviation level, colored to show if close is above or below the line.
Since @halcyonguy is not at an editor, here are a few minor modifications to his excellent script. :)
Capture.jpg
Ruby:
# Standard 4Devs
input price = close;
input deviations1 = 1.0;
input deviations2 = 2.0;
input deviations3 = 3.0;
input deviations4 = 4.0;

input deviations5 = .5;
input deviations6 = 1.5;
input deviations7 = 2.5;
input deviations8 = 3.5;


input fullRange = Yes;
input length    = 21;

def regression;

def stdDeviation;

if (fullRange) {
    regression   = InertiaAll(price, extendToRight = yes);
    stdDeviation = StDevAll(price, extendToRight = yes);
} else {
    regression   = InertiaAll(price, length);
    stdDeviation = StDevAll(price, length);
}

plot MiddleLine = regression;
MiddleLine.SetLineWeight(2);
MiddleLine.SetPaintingStrategy(PaintingStrategy.LINE);

plot UpperLine1 = regression + deviations1 * stdDeviation;
UpperLine1.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine1.SetLineWeight(2);
plot LowerLine1 = regression - deviations1 * stdDeviation;
LowerLine1.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine1.SetLineWeight(2);

plot UpperLine2 = regression + deviations2 * stdDeviation;
UpperLine2.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine2.SetLineWeight(2);
plot LowerLine2 = regression - deviations2 * stdDeviation;
LowerLine2.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine2.SetLineWeight(2);

plot UpperLine3 = regression + deviations3 * stdDeviation;
UpperLine3.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine3.SetLineWeight(2);
plot LowerLine3 = regression - deviations3 * stdDeviation;
LowerLine3.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine3.SetLineWeight(2);

plot UpperLine4 = regression + deviations4 * stdDeviation;
UpperLine4.SetPaintingStrategy(PaintingStrategy.LINE);
UpperLine4.SetLineWeight(2);
plot LowerLine4 = regression - deviations4 * stdDeviation;
LowerLine4.SetPaintingStrategy(PaintingStrategy.LINE);
LowerLine4.SetLineWeight(2);


# half devs

plot UpperLine5 = regression + deviations5 * stdDeviation;
UpperLine5.SetStyle(Curve.SHORT_DASH);
UpperLine5.SetLineWeight(2);
plot LowerLine5 = regression - deviations5 * stdDeviation;
LowerLine5.SetStyle(Curve.SHORT_DASH);
LowerLine5.SetLineWeight(2);

plot UpperLine6 = regression + deviations6 * stdDeviation;
UpperLine6.SetStyle(Curve.SHORT_DASH);
UpperLine6.SetLineWeight(2);
plot LowerLine6 = regression - deviations6 * stdDeviation;
LowerLine6.SetStyle(Curve.SHORT_DASH);
LowerLine6.SetLineWeight(2);


plot UpperLine7 = regression + deviations7 * stdDeviation;
UpperLine7.SetStyle(Curve.SHORT_DASH);
UpperLine7.SetLineWeight(2);
plot LowerLine7 = regression - deviations7 * stdDeviation;
LowerLine7.SetStyle(Curve.SHORT_DASH);
LowerLine7.SetLineWeight(2);

plot UpperLine8 = regression + deviations8 * stdDeviation;
UpperLine8.SetStyle(Curve.SHORT_DASH);
UpperLine8.SetLineWeight(2);
plot LowerLine8 = regression - deviations8 * stdDeviation;
LowerLine8.SetStyle(Curve.SHORT_DASH);
LowerLine8.SetLineWeight(2);

# Colors

MiddleLine.SetDefaultColor(GetColor(7));
UpperLine5.SetDefaultColor(GetColor(0));
LowerLine5.SetDefaultColor(GetColor(0));

# 1dev
UpperLine1.SetDefaultColor(GetColor(1));
LowerLine1.SetDefaultColor(GetColor(1));

UpperLine6.SetDefaultColor(GetColor(1));
LowerLine6.SetDefaultColor(GetColor(1));


# 2dev
UpperLine2.SetDefaultColor(GetColor(4));
LowerLine2.SetDefaultColor(GetColor(4));

UpperLine7.SetDefaultColor(GetColor(4));
LowerLine7.SetDefaultColor(GetColor(4));


# 3dev
UpperLine3.SetDefaultColor(Color.LIGHT_RED);
LowerLine3.SetDefaultColor(Color.LIGHT_RED);

UpperLine8.SetDefaultColor(GetColor(5));
LowerLine8.SetDefaultColor(GetColor(5));

# 4dev
UpperLine4.SetDefaultColor(Color.DARK_RED);
LowerLine4.SetDefaultColor(Color.DARK_RED);

def diff16 = AbsValue(close - UpperLine8);
def diff15 = AbsValue(close - UpperLine7);
def diff14 = AbsValue(close - UpperLine6);
def diff13 = AbsValue(close - UpperLine5);
def diff12 = AbsValue(close - UpperLine4);
def diff11 = AbsValue(close - UpperLine3);
def diff10 = AbsValue(close - UpperLine2);
def diff9  = AbsValue(close - UpperLine1);

def diff8 = AbsValue(close - LowerLine1);
def diff7 = AbsValue(close - LowerLine2);
def diff6 = AbsValue(close - LowerLine3);
def diff5 = AbsValue(close - LowerLine4);
def diff4 = AbsValue(close - LowerLine5);
def diff3 = AbsValue(close - LowerLine6);
def diff2 = AbsValue(close - LowerLine7);
def diff1 = AbsValue(close - LowerLine8);

def z1 = Min( Min(diff1, diff2) , Min(diff3, diff4) );
def z2 = Min( Min(diff5, diff6) , Min(diff7, diff8) );
def z3 = Min( Min(diff9, diff10) , Min(diff11, diff12) );
def z4 = Min( Min(diff13, diff14) , Min(diff15, diff16) );
def z  = Min( Min(z1, z2) , Min(z3, z4) );

#  d is dev $
def d;
def x;
if diff1 == z
then {
    d = LowerLine8;
    x = -deviations8;
} else if diff2 == z
then {
    d = LowerLine7;
    x = -deviations7;
} else if diff3 == z
then {
    d = LowerLine6;
    x = -deviations6;
} else if diff4 == z
then {
    d = LowerLine5;
    x = -deviations5;
} else if diff5 == z
then {
    d = LowerLine4;
    x = -deviations4;
} else if diff6 == z
then {
    d = LowerLine3;
    x = -deviations3;
} else if diff7 == z
then {
    d = LowerLine2;
    x = -deviations2;
} else if diff8 == z
then {
    d = LowerLine1;
    x = -deviations1;

} else if diff9 == z
then {
    d = UpperLine1;
    x = deviations1;
} else if diff10 == z
then {
    d = UpperLine2;
    x = deviations2;
} else if diff11 == z
then {
    d = UpperLine3;
    x = deviations3;
} else if diff12 == z
then {
    d = UpperLine4;
    x = deviations4;
} else if diff13 == z
then {
    d = UpperLine5;
    x = deviations5;
} else if diff14 == z
then {
    d = UpperLine6;
    x = deviations6;
} else if diff15 == z
then {
    d = UpperLine7;
    x = deviations7;
} else if diff16 == z
then {
    d = UpperLine8;
    x = deviations8;
} else {
    d = 0;
    x = 0;
}
;

AddLabel(1, (if x > 0 then "upperline" + x else "lowerline" + -x) + " is closest dev " + d + ". diff of " + z, (if x > 0 then Color.LIGHT_GREEN else Color.LIGHT_RED) );
 
Solution

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