Repaints The Multi-10x MTF Labels Indicator for ThinkorSwim

Repaints
Hot Dog! That is really interesting! I dropped the plot for the "DIMinussymbol1" and the "ADXsymbol1" and noticed a discernible pattern on a 5 minute chart using a 10 min aggperiod.

Oh..I forgot...I popped a "Label" on this puppy and got an "expected double."

Here is the code again below with the "Label." You will see the syntax at the bottom. I thought that I may have missed a parenthetical mark...but, that doesn't seem to be the case. Any suggestions?

# --- @cos251 - AggPeriod Version of DMI + ADXR

# GLOBAL VARIABLES

declare lower;


input length = 14;
input averageType = AverageType.WILDERS;
input aggPeriod = AggregationPeriod.TWO_MIN;

###### BEGIN ADX Symbol 1
def hiDiffsymbol1 = high(period = aggPeriod) - high(period = aggPeriod)[1];
def loDiffsymbol1 = low(period = aggPeriod)[1] - low(period = aggPeriod);
def plusDMsymbol1 = if hiDiffsymbol1 > loDiffsymbol1 and hiDiffsymbol1 > 0 then hiDiffsymbol1 else 0;
def minusDMsymbol1 = if loDiffsymbol1 > hiDiffsymbol1 and loDiffsymbol1 > 0 then loDiffsymbol1 else 0;
def ATRsymbol1 = MovingAverage(averageType, TrueRange(high( period = aggPeriod), close(period = aggPeriod), low( period = aggPeriod)), length);
plot "DIPlussymbol1" = 100 * MovingAverage(averageType, plusDMsymbol1, length) / ATRsymbol1;
plot "DIMinussymbol1" = 100 * MovingAverage(averageType, minusDMsymbol1, length) / ATRsymbol1;
def DXsymbol1 = if ("DIPlussymbol1" + "DIMinussymbol1" > 0) then 100 * AbsValue("DIPlussymbol1" - "DIMinussymbol1") / ("DIPlussymbol1" + "DIMinussymbol1") else 0;
plot ADXsymbol1 = MovingAverage(averageType, DXsymbol1, length);
plot ADXRsymbol1 = (ADXsymbol1 + ADXsymbol1[length - 1]) / 2;

AddLabel (yes, "ADXPlus", if DIPlussymbol1 > ADXRsymbol1 then Color.RED else Color.GREEN);
############## END ADX Symbol 1


Thanks!
This may work.

Code:
AddLabel (yes, "ADX: "+ADXsymbol1, if "DIPlussymbol1" > ADXRsymbol1 then Color.RED else Color.GREEN);
 

New Indicator: Buy the Dip

Check out our Buy the Dip indicator and see how it can help you find profitable swing trading ideas. Scanner, watchlist columns, and add-ons are included.

Download the indicator

Hi all-

I have the 10X bars on my TOS charts but am trying to get the light blue dots on the bars. The dots should appear when volume is 50% over the 20 bar average volume. This is what JC considers CONVICTION. Does anyone have a script for this? I'm spinning my wheels as I am not very good with thinkscript. I have a screenshot to double check the script.

As always, thanks. It takes a village......

Cindy
 
@cbfenner Not sure what 10x bar is but this will plot dots if volume is greater than 1.5.
Code:
plot dots = if volume > 1.5 * Average(volume, 20) then close else Double.NaN;
dots.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);
 
@cbfenner Not sure what 10x bar is but this will plot dots if volume is greater than 1.5.
Code:
plot dots = if volume > 1.5 * Average(volume, 20) then close else Double.NaN;
dots.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);
THANKS! I think that works. Will double check in the morning after my coffee. : ) 10X bars are something that John Carter uses at Simpler Trading. The candles change colors from red to yellow to green to show changes in momentum. Then these dots will help show "conviction" as there is higher volume in addition to momentum.
 
Hi all-

I have the 10X bars on my TOS charts but am trying to get the light blue dots on the bars. The dots should appear when volume is 50% over the 20 bar average volume. This is what JC considers CONVICTION. Does anyone have a script for this? I'm spinning my wheels as I am not very good with thinkscript. I have a screenshot to double check the script.

As always, thanks. It takes a village......

Cindy
if you dont mind , can you please share the script for 10x bars?
 
I think someone already posted the complete 10x bars in this site somewhere. I only wanted the volume dot from it so I stole that part. This is what I use.

Ruby:
input volumeOscThreshold = 0.7;
def volumeOsc = reference VolumeOsc("fast length" = 1, "slow length" = 20, "diff type" = "percent");
plot VolumeSpike = volumeOsc > volumeOscThreshold;
VolumeSpike.SetDefaultColor(Color.CYAN);
VolumeSpike.SetLineWeight(3);
VolumeSpike.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);
VolumeSpike.HideBubble();
VolumeSpike.HideTitle();
 
@sierioiza After a quick code review I see several issues with your study set.

Firstly it seems that you are attempting to build some sort of an MTF indicator using the script() function.
Assuming you want to use this feature to process secondary aggregations, take note that using the script() function to handle secondary aggregations do not work. You might like to read my post at

https://usethinkscript.com/threads/...dies-utilizing-script-for-secondary-aggs.969/
Then you might like to consider a restructure of your code logic in light of that

Second issue is with the variable "dStr". The data is static. You probably want to dynamically determine the chart aggregation and then run a comparison with your AddLabel() statement. Suggest you use GetAggregationPeriod() to achieve that. The rest of your AddLabel statement seems to be fine. Great job on that by the way.

Here then is the modified section, once you have loaded that into a chart study then set your chart to different aggregations and see it do its thing.

Code:
def dStr = GetAggregationPeriod();
AddLabel(yes, if dStr == aggregationPeriod.MONTH then "M"
              else if dStr == aggregationPeriod.WEEK then "W"
              else if dStr == aggregationPeriod.FOUR_DAYS then "4D"
              else if dStr == aggregationPeriod.THREE_DAYS then "3D"
              else if dStr == aggregationPeriod.TWO_DAYS then "2D"
              else if dStr == aggregationPeriod.DAY then "D"
              else if dStr == aggregationPeriod.FOUR_HOURS then "4H"
              else if dStr == aggregationPeriod.TWO_HOURS then "2H"
              else if dStr == aggregationPeriod.HOUR then "1H"
              else if dStr == aggregationPeriod.THIRTY_MIN then "30m"
              else if dStr == aggregationPeriod.TWENTY_MIN then "20m"
              else if dStr == aggregationPeriod.FIFTEEN_MIN then "15m"
              else if dStr == aggregationPeriod.TEN_MIN then "10m"
              else if dStr == aggregationPeriod.FIVE_MIN then "5m"
              else if dStr == aggregationPeriod.FOUR_MIN then "4m"
              else if dStr == aggregationPeriod.THREE_MIN then "3m"
              else if dStr == aggregationPeriod.TWO_MIN then "2m"
              else if dStr == aggregationPeriod.MIN then "1m"
              else "", Color.GREEN);

hal_agg hal_agglabel

i was just scrolling through the posts and came across this long formula in an addlabel, in post #2. i skimmed through the 8 pages and didn't see a simpler version of this, so i threw this together. i think this post may have evolved into something else, but i thought my version might come in handy for someone's project. reduced code lines, from 18 to 6.

Ruby:
def agg2 = GetAggregationPeriod();
def agg2min =  agg2/60000;

AddLabel(1, "alt " + if agg2min < 60 then (agg2min + "m")
              else if agg2min < 1440 then ((agg2min/60) + "H")
              else if agg2min < 10080 then (agg2min/(60*24) + "D")
              else if agg2 == aggregationPeriod.WEEK then "W"
              else if agg2 == aggregationPeriod.MONTH then "M"
              else "", Color.cyan);

addlabel(1, "chart min " + agg2/60000, color.cyan);

# agg
# time in min

# min    1
# min   15
# min   30
# hour  60 --
# 2h   120
# 4h   240  /60
# day 1440 --
# 2d  2880
# 3d  4320
# 4d  5760  / (60*24)
# w 10,080 --
# m 43.200 --
#
 
Last edited:
Here is the code to paint the bars with the volume dot. I started this in my own script before I saw your last post so the header is slightly different. I gave credit to @sierioiza and @tomsk for their code that was used and / or modified here. If you want to change the header back or to something different please feel free. I am new here so not sure the appropriate protocol. So again, feel free to change it however you think is most appropriate.

Code:
#Visual DMI Bar Paint and Volume Dot
#Last Updated on Wednesday, November 27 2019 at 04:18:47 PM
#
#CREDITS
# John Carter's 10x bars, @sierioiza, @billgt, @tomsk
#
#CHANGELOG
# EXAMPLE 2019.11.25 1.0 @billgt - Example

#DESCRIPTION
# We can see the DMI / ADX calculation used painted on the price
# bars for the current time frame.  The first part of this code was
# written by @sierioiza and just copied here to add the volume dot.
# I copied some code for generating dots for some other Study from a post by @tomsk and the modified to get the volume dots.
# A blue dot is plotted on bars that have a volume greater than input volumeGreaterPercent of the moving average for the timeframe of
# input volumeLength.

#INSTRUCTIONS
# Recommended to add it and use the defaults
# If you want to see volume dots on the yellow (neutral) bars too then change the plotVolumeDotOnNeutral to yes.


input length = 14;
input averageType = AverageType.WILDERS;
input volumeLength = 20;
input volumeFactor = 1;
input plotVolumeDotOnNeutral = no;
input volumeGreaterPercent = 50;

def hiDiff = high - high[1];
def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;
def minusDM =  if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

def ATR = MovingAverage(averageType, TrueRange(high, close, low), length);
def "DI+" = 100 * MovingAverage(averageType, plusDM, length) / ATR;
def "DI-" = 100 * MovingAverage(averageType, minusDM, length) / ATR;

def DX = if ("DI+" + "DI-" > 0) then 100 * AbsValue("DI+" - "DI-") / ("DI+" + "DI-") else 0;
def ADX = MovingAverage(averageType, DX, length);

declare upper;
declare once_per_bar;
def priceColor = if "DI+" > "DI-" and ADX > 20 then 0
  else if "DI+" < "DI-" and ADX > 20 then 1
  else 2;
AssignPriceColor(if pricecolor == 0 then Color.GREEN
  else if priceColor == 1 then Color.RED
  else Color.YELLOW);



#Get moving average of volume
def volAvg = MovingAverage(length = volumeLength,data = volume);
#Calculate middle of bar
def volDotLocation = volumeFactor * MidBodyVal();
#calculate 50% increase in average volume
def vol50IncLevel = volAvg * (1 + (volumeGreaterPercent / 100));
#if current volume is greater than the configured length MA of the volume and the price color is not yellow (neutral) or configured to plot on yellow bars (neutral) then plot volume dot
plot volDot = if volume >= vol50IncLevel and (priceColor != 2 or plotVolumeDotOnNeutral) then volDotLocation else Double.NaN;
volDot.SetStyle(Curve.POINTS);
volDot.SetDefaultColor(Color.CYAN);
volDot.SetLineWeight(2);
#AssignPriceColor(Color.BLUE);
Thank you for this information. A quick question regarding input volume greater percent: I am assuming this is the setting that will display when the volume is 50% above its average. Would this be correct? I believe John at ST uses 30% additional volume. Please kindly advise.

Thank you.
 
I am seeking clarification on the volume greater percent input (bolded and underlined) as it relates to the 10X Bars script posted below.

Would I be correct in assuming this input will display volume that is 50% greater than the average based on the timeframe one is looking at?

Thank you again.
Ruby:
#Visual DMI Bar Paint and Volume Dot
#Last Updated on Wednesday, November 27 2019 at 04:18:47 PM
#
#CREDITS
# John Carter's 10x bars, @sierioiza, @billgt, @tomsk
#
#CHANGELOG
# EXAMPLE 2019.11.25 1.0 @billgt - Example

#DESCRIPTION
# We can see the DMI / ADX calculation used painted on the price
# bars for the current time frame. The first part of this code was
# written by @sierioiza and just copied here to add the volume dot.
# I copied some code for generating dots for some other Study from a post by @tomsk and the modified to get the volume dots.
# A blue dot is plotted on bars that have a volume greater than input volumeGreaterPercent of the moving average for the timeframe of
# input volumeLength.

#INSTRUCTIONS
# Recommended to add it and use the defaults
# If you want to see volume dots on the yellow (neutral) bars too then change the plotVolumeDotOnNeutral to yes.


input length = 14;
input averageType = AverageType.WILDERS;
input volumeLength = 20;
input volumeFactor = 1;
input plotVolumeDotOnNeutral = no;
input volumeGreaterPercent = 50;

def hiDiff = high - high[1];
def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;
def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

def ATR = MovingAverage(averageType, TrueRange(high, close, low), length);
def "DI+" = 100 * MovingAverage(averageType, plusDM, length) / ATR;
def "DI-" = 100 * MovingAverage(averageType, minusDM, length) / ATR;

def DX = if ("DI+" + "DI-" > 0) then 100 * AbsValue("DI+" - "DI-") / ("DI+" + "DI-") else 0;
def ADX = MovingAverage(averageType, DX, length);

declare upper;
declare once_per_bar;
def priceColor = if "DI+" > "DI-" and ADX > 20 then 0
else if "DI+" < "DI-" and ADX > 20 then 1
else 2;
AssignPriceColor(if pricecolor == 0 then Color.GREEN
else if priceColor == 1 then Color.RED
else Color.YELLOW);



#Get moving average of volume
def volAvg = MovingAverage(length = volumeLength,data = volume);
#Calculate middle of bar
def volDotLocation = volumeFactor * MidBodyVal();
#calculate 50% increase in average volume
def vol50IncLevel = volAvg * (1 + (volumeGreaterPercent / 100));
#if current volume is greater than the configured length MA of the volume and the price color is not yellow (neutral) or configured to plot on yellow bars (neutral) then plot volume dot
plot volDot = if volume >= vol50IncLevel and (priceColor != 2 or plotVolumeDotOnNeutral) then volDotLocation else Double.NaN;
volDot.SetStyle(Curve.POINTS);
volDot.SetDefaultColor(Color.Dark_ORANGE);
volDot.SetLineWeight(2);
#AssignPriceColor(Color.BLUE);
 
Last edited by a moderator:
@JamesF To find out what is actually plotting on a chart, look at the PLOT statement in the study.

In this study there is, as you highlighted
a user input statement input volumeGreaterPercent = 50 and​
a definition statement def vol50IncLevel = volAvg * (1 + (volumeGreaterPercent / 100))
a plot statement plot volDot = if volume >= vol50IncLevel

This says there is only a plot if volume is greater than or equal to AverageVolume * (1 + (volumeGreaterPercent / 100))
 
I'm looking for some help on an issue. I modified the code so that there are three different dots based on varying percentages of volume. So, I essentially added three sets of dot plots. I also made the dots plot on the candle relative to the measure of volume. This is adjustable in the menu to whatever % you want.

Now, what I would like to do is only display one of the dots, whichever is highest. The candle gets cluttered and having multiple dots is not useful. I know it's probably a simple if/then statement, but I'm not a coder so if someone could give me a clue, that would be super helpful. Oh, also, if I could figure out how to match the color of the dot to the volume bar that would be great as well.

Below is the modified code:
Ruby:
input length = 14;
input averageType = AverageType.WILDERS;
input volumeLength = 20;
input volumeFactor = 1;
input plotVolumeDotOnNeutral = no;
input volumeGreaterPercent1 = 25;
input volumeGreaterPercent2 = 50;
input volumeGreaterPercent3 = 75;

def hiDiff = high - high[1];
def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;
def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

#Get moving average of volume
def volAvg = MovingAverage(length = volumeLength,data = volume);
#Calculate bottom of bar
def volDotLocation1 = volumeFactor * MidBodyVal() - 0.5 * Bodyheight();
#calculate Lower % increase in average volume
def vol50IncLevel1 = volAvg * (1 + (volumeGreaterPercent1 / 100));
def volDotLocation2 = volumeFactor * MidBodyVal();
#calculate Mid % increase in average volume
def vol50IncLevel2 = volAvg * (1 + (volumeGreaterPercent2 / 100));
def volDotLocation3 = volumeFactor * MidBodyVal() + 0.5 * BodyHeight();
#calculate Upper % increase in average volume
def vol50IncLevel3 = volAvg * (1 + (volumeGreaterPercent3 / 100));
#if current volume is greater than the configured length MA of the volume then plot volume dot
plot volDot1 = if volume >= vol50IncLevel1 then volDotLocation1 else Double.NaN;
plot volDot2 = if volume >= vol50IncLevel2 then volDotLocation1 else Double.NaN;
plot volDot3 = if volume >= vol50IncLevel3 then volDotLocation1 else Double.NaN;
volDot1.SetStyle(Curve.POINTS);
volDot1.SetDefaultColor(Color.Red);
volDot1.SetLineWeight(2);
volDot2.SetStyle(Curve.POINTS);
volDot2.SetDefaultColor(Color.Yellow);
volDot2.SetLineWeight(2);
volDot3.SetStyle(Curve.POINTS);
volDot3.SetDefaultColor(Color.Blue);
volDot3.SetLineWeight(2);


Thanks in advance for the help.
 
Last edited by a moderator:
I'm looking for some help on an issue. I modified the code so that there are three different dots based on varying percentages of volume. So, I essentially added three sets of dot plots. I also made the dots plot on the candle relative to the measure of volume. This is adjustable in the menu to whatever % you want.

Now, what I would like to do is only display one of the dots, whichever is highest. The candle gets cluttered and having multiple dots is not useful. I know it's probably a simple if/then statement, but I'm not a coder so if someone could give me a clue, that would be super helpful. Oh, also, if I could figure out how to match the color of the dot to the volume bar that would be great as well.

Below is the modified code:
Ruby:
input length = 14;
input averageType = AverageType.WILDERS;
input volumeLength = 20;
input volumeFactor = 1;
input plotVolumeDotOnNeutral = no;
input volumeGreaterPercent1 = 25;
input volumeGreaterPercent2 = 50;
input volumeGreaterPercent3 = 75;

def hiDiff = high - high[1];
def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;
def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

#Get moving average of volume
def volAvg = MovingAverage(length = volumeLength,data = volume);
#Calculate bottom of bar
def volDotLocation1 = volumeFactor * MidBodyVal() - 0.5 * Bodyheight();
#calculate Lower % increase in average volume
def vol50IncLevel1 = volAvg * (1 + (volumeGreaterPercent1 / 100));
def volDotLocation2 = volumeFactor * MidBodyVal();
#calculate Mid % increase in average volume
def vol50IncLevel2 = volAvg * (1 + (volumeGreaterPercent2 / 100));
def volDotLocation3 = volumeFactor * MidBodyVal() + 0.5 * BodyHeight();
#calculate Upper % increase in average volume
def vol50IncLevel3 = volAvg * (1 + (volumeGreaterPercent3 / 100));
#if current volume is greater than the configured length MA of the volume then plot volume dot
plot volDot1 = if volume >= vol50IncLevel1 then volDotLocation1 else Double.NaN;
plot volDot2 = if volume >= vol50IncLevel2 then volDotLocation1 else Double.NaN;
plot volDot3 = if volume >= vol50IncLevel3 then volDotLocation1 else Double.NaN;
volDot1.SetStyle(Curve.POINTS);
volDot1.SetDefaultColor(Color.Red);
volDot1.SetLineWeight(2);
volDot2.SetStyle(Curve.POINTS);
volDot2.SetDefaultColor(Color.Yellow);
volDot2.SetLineWeight(2);
volDot3.SetStyle(Curve.POINTS);
volDot3.SetDefaultColor(Color.Blue);
volDot3.SetLineWeight(2);


Thanks in advance for the help.
If you use the Double.nan with an if then else statement and start with the highest precedent and then work your way down.
You only need to plot 1 dot , but change the color of the dot , so you would only need 1 double.Nan statement. Change the color by using assignvaluecolor statement with a multiple if then statement
 
***All the below code works great however I am not a coder and was wondering if we could remove the color candles and keep the
volume dots. ***
https://usethinkscript.com/threads/...icator-for-thinkorswim.1129/page-3#post-10627

Can anyone with coding skillz help here....

#Visual DMI Bar Paint and Volume Dot
#Last Updated on Wednesday, November 27 2019 at 04:18:47 PM
#
#CREDITS
# John Carter's 10x bars, @sierioiza, @billgt, @tomsk
#
#CHANGELOG
# EXAMPLE 2019.11.25 1.0 @billgt - Example

#DESCRIPTION
# We can see the DMI / ADX calculation used painted on the price
# bars for the current time frame. The first part of this code was
# written by @sierioiza and just copied here to add the volume dot.
# I copied some code for generating dots for some other Study from a post by @tomsk and the modified to get the volume dots.
# A blue dot is plotted on bars that have a volume greater than input volumeGreaterPercent of the moving average for the timeframe of
# input volumeLength.

#INSTRUCTIONS
# Recommended to add it and use the defaults
# If you want to see volume dots on the yellow (neutral) bars too then change the plotVolumeDotOnNeutral to yes.


input length = 14;
input averageType = AverageType.WILDERS;
input volumeLength = 20;
input volumeFactor = 1;
input plotVolumeDotOnNeutral = no;
input volumeGreaterPercent = 50;

def hiDiff = high - high[1];
def loDiff = low[1] - low;

def plusDM = if hiDiff > loDiff and hiDiff > 0 then hiDiff else 0;
def minusDM = if loDiff > hiDiff and loDiff > 0 then loDiff else 0;

def ATR = MovingAverage(averageType, TrueRange(high, close, low), length);
def "DI+" = 100 * MovingAverage(averageType, plusDM, length) / ATR;
def "DI-" = 100 * MovingAverage(averageType, minusDM, length) / ATR;

def DX = if ("DI+" + "DI-" > 0) then 100 * AbsValue("DI+" - "DI-") / ("DI+" + "DI-") else 0;
def ADX = MovingAverage(averageType, DX, length);

declare upper;
declare once_per_bar;
def priceColor = if "DI+" > "DI-" and ADX > 20 then 0
else if "DI+" < "DI-" and ADX > 20 then 1
else 2;
AssignPriceColor(if pricecolor == 0 then Color.GREEN
else if priceColor == 1 then Color.RED
else Color.YELLOW);



#Get moving average of volume
def volAvg = MovingAverage(length = volumeLength,data = volume);
#Calculate middle of bar
def volDotLocation = volumeFactor * MidBodyVal();
#calculate 50% increase in average volume
def vol50IncLevel = volAvg * (1 + (volumeGreaterPercent / 100));
#if current volume is greater than the configured length MA of the volume and the price color is not yellow (neutral) or configured to plot on yellow bars (neutral) then plot volume dot
plot volDot = if volume >= vol50IncLevel and (priceColor != 2 or plotVolumeDotOnNeutral) then volDotLocation else Double.NaN;
volDot.SetStyle(Curve.POINTS);
volDot.SetDefaultColor(Color.CYAN);
volDot.SetLineWeight(2);
#AssignPriceColor(Color.BLUE);
 
Last edited by a moderator:

Volatility Trading Range

VTR is a momentum indicator that shows if a stock is overbought or oversold based on its Weekly and Monthly average volatility trading range.

Download the indicator

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

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