Repaints Wolf Waves for ThinkorSwim

Repaints
I find a way to turn off the Exline3. I am wondering why the chart is still very small. It may be due to a red line of 0. Could you please let me how to remove the red line of 0 in the bottom?
Yes, unplotting the red line of 0 in settings will solve your problem.

Whenever you run into the types of problems presented in your above posts, remember this handy fix:
https://usethinkscript.com/threads/solved-squished-compressed-plots-on-charts-on-thinkorswim.8341/
 
@J007RMC How did you adjust for the 1-5 wave change?

thanks.
Did you know that clicking on a member's avatar will allow you to see when a member was last seen on the uTS forum? @J007RMC has not been seen in a while. :(

However, as he mentioned several times throughout this thread, he uses a proprietary indicator.
To adjust the lookback for the wolf wave in the 1st post, change the "n" length in settings.
 
Hello traders and coders! I'm looking for help with adding / fixing the extension line in my attempt to connect R2 to S1. The support line in the below code works fine. .it's just the extension of it.. it slopes up and outwards instead of down at same angle as the supportline.

Any help would greatly be appreciated.

Code:
plot SupportLineR2_S1 = if x == HighestAll(R2PHBarOrigin)
                    then R2
                    else if x == HighestAll(PLBarOrigin)
                         then S1  
                         else Double.NaN;

SupportLineR2_S1.EnableApproximation();
SupportLineR2_S1.SetDefaultColor(color.gray);
SupportLineR2_S1.SetLineWeight(1);
SupportLineR2_S1.SetStyle(Curve.firm);
SupportLineR2_S1.HideBubble();
SupportLineR2_S1.HideTitle();

def slopeR2_S1 = (S1 + R2) /
             (HighestAll(R2PHBarOrigin) + PLBarOrigin);

plot ExtLineR2_S1 = if x >= PlBarOrigin
                then (x - HighestAll(PLBarOrigin)) * slopeR2_S1 + S1
                else Double.NaN;

ExtLineR2_S1.EnableApproximation();
ExtLineR2_S1.SetDefaultColor(color.gray);
ExtLineR2_S1.SetLineWeight(1);
ExtLineR2_S1.SetStyle(Curve.short_DASH);
ExtLineR2_S1.HideBubble();
ExtLineR2_S1.HideTitle();
 
ha. NVM! this worked.

Code:
def slopeR2_S1 = (R2 - S1) /
             (HighestAll(R2PHBarOrigin) - PLBarOrigin );

plot ExtLineR2_S1 = if x >= PlBarOrigin
                then (x - HighestAll(PlBarOrigin)) * slopeR2_S1 + S1
                else Double.NaN;
 
Last edited by a moderator:
Hello all,

May I know how to put this study for a Daily chart onto a 5 min chart ?
Like the automatic support/resistance lines should be drawn as if I am seeing for the Daily chart but I should be able to use those levels on my 5 min chart.

This saves time for moving back and forth between Daily and 5 min and drawing lines manually from Daily to see it on 5 min chart.

Any suggestions please.

Like the below shows the Multi Time frame ( MTF ) for moving averages to display moving average from higher timeframe on lower time frame, I need the similar one for this study.

https://usethinkscript.com/threads/multi-timeframe-mtf-moving-average-indicator-for-thinkorswim.135/
 
Last edited:
Hello all,

May I know how to put this study for a Daily chart onto a 5 min chart ?
Like the automatic support/resistance lines should be drawn as if I am seeing for the Daily chart but I should be able to use those levels on my 5 min chart.

This saves time for moving back and forth between Daily and 5 min and drawing lines manually from Daily to see it on 5 min chart.

Any suggestions please.

Like the below shows the Multi Time frame ( MTF ) for moving averages to display moving average from higher timeframe on lower time frame, I need the similar one for this study.

https://usethinkscript.com/threads/multi-timeframe-mtf-moving-average-indicator-for-thinkorswim.135/

Trying to see if it's possible to have the below support and resistance study I use on higher time frame chart overlap on the lower time frame chart, showing supp. and resist. from higher time frame. I'm using a single laptop screen trying to save screen space. Sorry if this has been asked/answered or is confusing. Thanks in advance.

https://usethinkscript.com/threads/wolf-waves-trendline-breakouts-indicator-for-thinkorswim.66/

https://usethinkscript.com/threads/converting-indicator-to-multi-timeframe-mtf-in-thinkorswim.8050/
 
Last edited:
Hello all,

May I know how to put this study for a Daily chart onto a 5 min chart ?
Like the automatic support/resistance lines should be drawn as if I am seeing for the Daily chart but I should be able to use those levels on my 5 min chart.

This saves time for moving back and forth between Daily and 5 min and drawing lines manually from Daily to see it on 5 min chart.

Any suggestions please.

Like the below shows the Multi Time frame ( MTF ) for moving averages to display moving average from higher timeframe on lower time frame, I need the similar one for this study.

https://usethinkscript.com/threads/multi-timeframe-mtf-moving-average-indicator-for-thinkorswim.135/

@sai_chaitanya2001 FWIW, you can also simply add more existing WW studies to your 5 min chart but increase the lengths - I use 9, 55, and 89 on my 2 HR 90 Day.
 
The wolfe wave is best viewed on 3 charts ie; 2 min, 5 min, 15 min for longer-term viewing of the same wave subset. The 2 min is viewed to make sure the wave did or did not fall out of the sink with the 5min can lead to termination of trade. A bearish wave formation says when the 1,3,5 line plot along the upper line in synch and on a linear plane according to Bill and Brian Wolfe. I saw this happen and caught it on spy yesterday for the drop. You can use higher time frames you will see waves of course but the lower time frames catch the wave subsets quicker than the larger waves and often are profitable.
Hey man, I realize its a couple years later, but I like that short target indicator, I have something similar in an ORB setup, is that something you can share? Thanks in advance,

Korey
 
Is it possible to add label scripts for all the support and resistance levels identified on the chart?
https://usethinkscript.com/threads/...akouts-indicator-for-thinkorswim.66/#post-298
Thanks

yes, just look at the codes that causes the bubbles to appear and copy them to make new formulas.

label code is added at the end of the study

Ruby:
# wolf_labels_00c

#https://usethinkscript.com/threads/wolf-waves-breakouts-labels.13636/
# Wolf Waves Breakouts Labels
# https://usethinkscript.com/threads/wolf-waves-trendline-breakouts-indicator-for-thinkorswim.66/#post-298

#---------------------------

# Wolf Waves
# Mobius
# V01.05.22.2018

# User Inputs

input n = 10;

# Internal Script Reference

script LinePlot {
    input BarID = 0;
    input Value = 0;
    input BarOrigin = 0;
    def ThisBar = HighestAll(BarOrigin);
    def ValueLine = if BarOrigin == ThisBar then Value else Double.NaN;
    plot P = if ThisBar - BarID <= BarOrigin then HighestAll(ValueLine) else Double.NaN;
}

# Variables
def o = open;
def h = high;
def l = low;
def c = close;
def x = BarNumber();
def xN = x == HighestAll(x);

# R1
def hh = fold i = 1 to n + 1
         with p = 1
         while p
         do h > GetValue(h, -i);

def PivotH = if (x > n and h == Highest(h, n) and hh) then h else Double.NaN;
def PHValue = if !IsNaN(PivotH) then PivotH else PHValue[1];
def PHBarOrigin = if !IsNaN(PivotH) then x else PHBarOrigin[1];
def PHBarID = x - PHBarOrigin;

# R2
def R2PHValue = if PHBarOrigin != PHBarOrigin[1] then PHValue[1] else R2PHValue[1];
def R2PHBarOrigin = if PHBarOrigin != PHBarOrigin[1] then PHBarOrigin[1] else R2PHBarOrigin[1];
def R2PHBarID = x - R2PHBarOrigin;

# R3
def R3PHValue = if R2PHBarOrigin != R2PHBarOrigin[1] then R2PHValue[1] else R3PHValue[1];
def R3PHBarOrigin = if R2PHBarOrigin != R2PHBarOrigin[1] then R2PHBarOrigin[1] else R3PHBarOrigin[1];
def R3PHBarID = x - R3PHBarOrigin;

# S1
def ll = fold j = 1 to n + 1
         with q = 1
         while q
         do l < GetValue(l, -j);

def PivotL = if (x > n and l == Lowest(l, n) and ll) then l else Double.NaN;
def PLValue = if !IsNaN(PivotL) then PivotL else PLValue[1];
def PLBarOrigin = if !IsNaN(PivotL) then x else PLBarOrigin[1];
def PLBarID = x - PLBarOrigin;

# S2
def S2PLValue = if PLBarOrigin != PLBarOrigin[1] then PLValue[1] else S2PLValue[1];
def S2PLBarOrigin = if PLBarOrigin != PLBarOrigin[1] then PLBarOrigin[1] else S2PLBarOrigin[1];
def S2PLBarID = x - S2PLBarOrigin;

# S3
def S3PLValue = if S2PLBarOrigin != S2PLBarOrigin[1] then S2PLValue[1] else S3PLValue[1];
def S3PLBarOrigin = if S2PLBarOrigin != S2PLBarOrigin[1] then S2PLBarOrigin[1] else S3PLBarOrigin[1];
def S3PLBarID = x - S3PLBarOrigin;

# S4
def S4PLValue = if S3PLBarOrigin != S3PLBarOrigin[1] then S3PLValue[1] else S4PLValue[1];
def S4PLBarOrigin = if S3PLBarOrigin != S3PLBarOrigin[1] then S3PLBarOrigin[1] else S4PLBarOrigin[1];
def S4PLBarID = x - S4PLBarOrigin;

# S5
def S5PLValue = if S4PLBarOrigin != S4PLBarOrigin[1] then S4PLValue[1] else S5PLValue[1];
def S5PLBarOrigin = if S4PLBarOrigin != S4PLBarOrigin[1] then S4PLBarOrigin[1] else S5PLBarOrigin[1];
def S5PLBarID = x - S5PLBarOrigin;

# Plots
plot R1 = LinePlot(BarID = PHBarID, Value = PHValue, BarOrigin = PHBarOrigin);
R1.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(PHBarOrigin), PHValue, "R1", Color.GREEN, 1);

plot R2 = LinePlot(BarID = R2PHBarID, value = R2PHValue, BarOrigin = R2PHBarOrigin);
R2.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(R2PHBarOrigin), PHValue, "R2", Color.GREEN, 1);

plot R3 = LinePlot(BarID = R3PHBarID, Value = R3PHValue, BarOrigin = R3PHBarOrigin);
R3.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(R3PHBarOrigin), PHValue, "R3", Color.GREEN, 1);

plot S1 = LinePlot(BarID = PLBarID, Value = PLValue, BarOrigin = PLBarOrigin);
S1.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(PLBarOrigin), PLValue, "S1", Color.RED, 0);

plot S2 = LinePlot(BarID = S2PLBarID, Value = S2PLValue, BarOrigin = S2PLBarOrigin);
S2.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(S2PLBarOrigin), PLValue, "S2", Color.RED, 0);

plot S3 = LinePlot(BarID = S3PLBarID, value = S3PLValue, BarOrigin = S3PLBarOrigin);
S3.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(S3PLBarOrigin), PLValue, "S3", Color.RED, 0);

# Trend Line
plot SupportLine2 = if x == HighestAll(S2PLBarOrigin) then S2
   else if x == HighestAll(PLBarOrigin) then S1  #Parentlow
   else Double.NaN;

SupportLine2.EnableApproximation();
SupportLine2.SetDefaultColor(Color.GRAY);
SupportLine2.SetLineWeight(1);
SupportLine2.SetStyle(Curve.LONG_DASH);

def slope2 = (S2 - S1) /(HighestAll(S2PLBarOrigin) - PLBarOrigin);

plot ExtLine2 = if x >= S2PLBarOrigin then (x - HighestAll(S2PLBarOrigin)) * slope2 + S2
   else Double.NaN;

ExtLine2.EnableApproximation();
ExtLine2.SetDefaultColor(Color.GRAY);
ExtLine2.SetLineWeight(1);
ExtLine2.SetStyle(Curve.LONG_DASH);

plot SupportLine3 = if x == HighestAll(R3PHBarOrigin) then R3
   else if x == PHBarOrigin then R1
   else Double.NaN;

SupportLine3.EnableApproximation();
SupportLine3.SetDefaultColor(Color.GRAY);
SupportLine3.SetLineWeight(1);
SupportLine3.SetStyle(Curve.LONG_DASH);

def slope3 = (R1 - R3) /(HighestAll(PHBarOrigin) - R3PHBarOrigin);

plot ExtLine3 = if x >= R3PHBarOrigin then (x - HighestAll(R3PHBarOrigin)) * slope3 + R3
   else Double.NaN;

ExtLine3.EnableApproximation();
ExtLine3.SetDefaultColor(Color.GRAY);
ExtLine3.SetLineWeight(1);
ExtLine3.SetStyle(Curve.LONG_DASH);


#------------------------------

# add labels
def bn = barnumber();

def r3bar = (bn == HighestAll(R3PHBarOrigin));
def r2bar = (bn == HighestAll(R2PHBarOrigin));
def r1bar = (bn == HighestAll(PHBarOrigin));


def r3b = if bn == 1 then 0
  else if r3bar then PHValue
  else r3b[1];

def r2b = if bn == 1 then 0
  else if r2bar then PHValue
  else r2b[1];

def r1b = if bn == 1 then 0
  else if r1bar then PHValue
  else r1b[1];


def s1bar = (bn == HighestAll(PLBarOrigin));
def s2bar = (bn == HighestAll(S2PLBarOrigin));
def s3bar = (bn == HighestAll(S3PLBarOrigin));


def s1b = if bn == 1 then 0
  else if s1bar then PLValue
  else s1b[1];

def s2b = if bn == 1 then 0
  else if s2bar then PLValue
  else s2b[1];

def s3b = if bn == 1 then 0
  else if s3bar then PLValue
  else s3b[1];


input labels = yes;
addlabel(labels, " ", color.black);
addlabel(labels, "R3 " + r3b, color.green);
addlabel(labels, "R2 " + r2b, color.green);
addlabel(labels, "R1 " + r1b, color.green);
addlabel(labels, " ", color.black);
addlabel(labels, "S3 " + s3b, color.red);
addlabel(labels, "S2 " + s2b, color.red);
addlabel(labels, "S1 " + s1b, color.red);
addlabel(labels, " ", color.black);

#-----------------------------

# test stuff
input test1 = no;
addchartbubble(test1 and (r1bar or r2bar or r3bar), high,
bn + "\n" +
R3PHBarOrigin + "\n" +
R2PHBarOrigin + "\n" +
PHBarOrigin + "\n" +
PHValue
, color.yellow, yes);


addchartbubble(test1 and (s1bar or s2bar or s3bar), low,
bn + "\n" +
PLBarOrigin + "\n" +
S2PLBarOrigin + "\n" +
S3PLBarOrigin + "\n" +
PlValue
, color.yellow, no);
#
 
As requested, here is the Wolf Waves indicator for ThinkorSwim. It automatically plots support and resistance on your chart, as well as trend lines that you can use to catch potential breakouts or breakdown.

This indicator was created by Mobius. As mentioned by the author, this is similar to other Pivot Studies that mark different types of breakouts.

eobYmxR.png


thinkScript Code

Rich (BB code):
# Wolf Waves
# Mobius
# V01.05.22.2018

# User Inputs

input n = 10;

# Internal Script Reference

script LinePlot {

    input BarID = 0;

    input Value = 0;

    input BarOrigin = 0;

    def ThisBar = HighestAll(BarOrigin);

    def ValueLine = if BarOrigin == ThisBar

                then Value

                else Double.NaN;

    plot P = if ThisBar - BarID <= BarOrigin

             then HighestAll(ValueLine)

             else Double.NaN;

}

# Variables

def o = open;

def h = high;

def l = low;

def c = close;

def x = BarNumber();

def xN = x == HighestAll(x);

# R1

def hh = fold i = 1 to n + 1

         with p = 1

         while p

         do h > GetValue(h, -i);

def PivotH = if (x > n and

                 h == Highest(h, n) and

                 hh)

             then h

             else Double.NaN;

def PHValue = if !IsNaN(PivotH)

              then PivotH

              else PHValue[1];

def PHBarOrigin = if !IsNaN(PivotH)

                  then x

                  else PHBarOrigin[1];

def PHBarID = x - PHBarOrigin;

# R2

def R2PHValue = if PHBarOrigin != PHBarOrigin[1]

                then PHValue[1]

                else R2PHValue[1];

def R2PHBarOrigin = if PHBarOrigin != PHBarOrigin[1]

                    then PHBarOrigin[1]

                    else R2PHBarOrigin[1];

def R2PHBarID = x - R2PHBarOrigin;

# R3

def R3PHValue = if R2PHBarOrigin != R2PHBarOrigin[1]

                then R2PHValue[1]

                else R3PHValue[1];

def R3PHBarOrigin = if R2PHBarOrigin != R2PHBarOrigin[1]

                    then R2PHBarOrigin[1]

                    else R3PHBarOrigin[1];

def R3PHBarID = x - R3PHBarOrigin;

# S1

def ll = fold j = 1 to n + 1

         with q = 1

         while q

         do l < GetValue(l, -j);

def PivotL = if (x > n and

                 l == Lowest(l, n) and

                 ll)

             then l

             else Double.NaN;

def PLValue = if !IsNaN(PivotL)

              then PivotL

              else PLValue[1];

def PLBarOrigin = if !IsNaN(PivotL)

                  then x

                  else PLBarOrigin[1];

def PLBarID = x - PLBarOrigin;

# S2

def S2PLValue = if PLBarOrigin != PLBarOrigin[1]

                then PLValue[1]

                else S2PLValue[1];

def S2PLBarOrigin = if PLBarOrigin != PLBarOrigin[1]

                    then PLBarOrigin[1]

                    else S2PLBarOrigin[1];

def S2PLBarID = x - S2PLBarOrigin;

# S3

def S3PLValue = if S2PLBarOrigin != S2PLBarOrigin[1]

                then S2PLValue[1]

                else S3PLValue[1];

def S3PLBarOrigin = if S2PLBarOrigin != S2PLBarOrigin[1]

                    then S2PLBarOrigin[1]

                    else S3PLBarOrigin[1];

def S3PLBarID = x - S3PLBarOrigin;

# S4

def S4PLValue = if S3PLBarOrigin != S3PLBarOrigin[1]

                then S3PLValue[1]

                else S4PLValue[1];

def S4PLBarOrigin = if S3PLBarOrigin != S3PLBarOrigin[1]

                    then S3PLBarOrigin[1]

                    else S4PLBarOrigin[1];

def S4PLBarID = x - S4PLBarOrigin;

# S5

def S5PLValue = if S4PLBarOrigin != S4PLBarOrigin[1]

                then S4PLValue[1]

                else S5PLValue[1];

def S5PLBarOrigin = if S4PLBarOrigin != S4PLBarOrigin[1]

                    then S4PLBarOrigin[1]

                    else S5PLBarOrigin[1];

def S5PLBarID = x - S5PLBarOrigin;

# Plots

plot R1 = LinePlot(BarID = PHBarID,

                   Value = PHValue,

                   BarOrigin = PHBarOrigin);

R1.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(PHBarOrigin), PHValue, "R1", Color.GREEN, 1);

plot R2 = LinePlot(BarID = R2PHBarID,

                   Value = R2PHValue,

                   BarOrigin = R2PHBarOrigin);

R2.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(R2PHBarOrigin), PHValue, "R2", Color.GREEN, 1);

plot R3 = LinePlot(BarID = R3PHBarID,

                   Value = R3PHValue,

                   BarOrigin = R3PHBarOrigin);

R3.SetDefaultColor(Color.GREEN);

AddChartBubble(x == HighestAll(R3PHBarOrigin), PHValue, "R3", Color.GREEN, 1);

plot S1 = LinePlot(BarID = PLBarID,

                   Value = PLValue,

                   BarOrigin = PLBarOrigin);

S1.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(PLBarOrigin), PLValue, "S1", Color.RED, 0);

plot S2 = LinePlot(BarID = S2PLBarID,

                   Value = S2PLValue,

                   BarOrigin = S2PLBarOrigin);

S2.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(S2PLBarOrigin), PLValue, "S2", Color.RED, 0);

plot S3 = LinePlot(BarID = S3PLBarID,

                   Value = S3PLValue,

                   BarOrigin = S3PLBarOrigin);

S3.SetDefaultColor(Color.RED);

AddChartBubble(x == HighestAll(S3PLBarOrigin), PLValue, "S3", Color.RED, 0);

# Trend Line

plot SupportLine2 = if x == HighestAll(S2PLBarOrigin)

                    then S2

                    else if x == HighestAll(PLBarOrigin)

                         then S1  #Parentlow

                         else Double.NaN;

SupportLine2.EnableApproximation();

SupportLine2.SetDefaultColor(Color.GRAY);

SupportLine2.SetLineWeight(1);

SupportLine2.SetStyle(Curve.LONG_DASH);

def slope2 = (S2 - S1) /

             (HighestAll(S2PLBarOrigin) - PLBarOrigin);

plot ExtLine2 = if x >= S2PLBarOrigin

                then (x - HighestAll(S2PLBarOrigin)) * slope2 + S2

                else Double.NaN;

ExtLine2.EnableApproximation();

ExtLine2.SetDefaultColor(Color.GRAY);

ExtLine2.SetLineWeight(1);

ExtLine2.SetStyle(Curve.LONG_DASH);

plot SupportLine3 = if x == HighestAll(R3PHBarOrigin)

                    then R3

                    else if x == PHBarOrigin

                         then R1

                         else Double.NaN;

SupportLine3.EnableApproximation();

SupportLine3.SetDefaultColor(Color.GRAY);

SupportLine3.SetLineWeight(1);

SupportLine3.SetStyle(Curve.LONG_DASH);

def slope3 = (R1 - R3) /

             (HighestAll(PHBarOrigin) - R3PHBarOrigin);

plot ExtLine3 = if x >= R3PHBarOrigin

                then (x - HighestAll(R3PHBarOrigin)) * slope3 + R3

                else Double.NaN;

ExtLine3.EnableApproximation();

ExtLine3.SetDefaultColor(Color.GRAY);

ExtLine3.SetLineWeight(1);

ExtLine3.SetStyle(Curve.LONG_DASH);

Shareable Link

https://tos.mx/Wj3rEc
Ben, Is there a MTF of this indicator? I hoping I am asking you the correct way. What I am hoping to get is a way to set the indicator on the Day but use on the 5m chart. When i change chart timeframes it also changes. Can this be done if it isn't already?
 
Ben, Is there a MTF of this indicator? I hoping I am asking you the correct way. What I am hoping to get is a way to set the indicator on the Day but use on the 5m chart. When i change chart timeframes it also changes. Can this be done if it isn't already?
Put repainting MTF code on a repainting indicator, no.

The redeeming value of repainting higher highs and lower lows indicators is that there is no lag.
read more: https://usethinkscript.com/threads/answers-to-commonly-asked-questions.6006/#post-57833

However, 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 this reason, you will not find a multiple timeframe (MTF) repainting higher highs and lower lows indicators on this forum.
 
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
391 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