Leavitt Slope and Leavitt Acceleration Indicators For ThinkOrSwim

@Novaskimo here you go. I trust you know how to create a watch list column. All I did was remove the Vertical Lines for WL.

Full credit goes to @MerryDay

EDIT: Just realized CreateColor will not work for Watch list. So modified with static Color codes, Please feel free to change them to match the actual study colors. @Novaskimo

-Surya

Code:
# TOS Leavitt Convolution Slope TOS Leavitt Convolution Acceleration
# labels by @MerryDay January 2021
# https://www2.wealth-lab.com/wl5wiki/TASCJan2020.ashx

# TOS Leavitt Convolution Slope + # TOS Leavitt Convolution Acceleration
def LCSlope = reference LeavittConvolutionSlope("price" = close, "length" = 49)."LeavittConvolutionSlope" ;

# TOS Leavitt Convolution Acceleration
def LCAcceleration = reference LeavittConvolutionAcceleration("price" = close, "length" = 49)."LeavittConvolutionAcceleration" ; 
def TrendBegin = LCSlope[1] < LCSlope[2] and LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1];
def Trending = LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] ;
def Sloping = LCSlope > LCSlope[1];

AddLabel(LCSlope>=-.15, 
if LCSlope[1] > LCSlope[2] and LCSlope < LCSlope[1] and LCAcceleration < LCAcceleration[1] then "Bull End" 
else if LCSlope > LCSlope[1] and LCSlope crosses above -.15 and LCAcceleration > LCAcceleration[1] then "Bull Begin" 
else if LCSlope[1] < LCSlope[2] and LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] then "Bull Begin" 
else if LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] then "Slope & acceleration rising" 
else if LCSlope > LCSlope[1] then "Slope rising-acceleration not" 
else if LCSlope <= LCSlope[1] and LCAcceleration <= LCAcceleration[1] then "Slope & acceleration falling" 
else if LCSlope < LCSlope[1] then "Slope falling" 
else "Slope neutral" , 
if LCSlope[1] > LCSlope[2] and LCSlope < LCSlope[1] and LCAcceleration < LCAcceleration[1] then Color.Yellow 
else if LCSlope > LCSlope[1] and LCSlope crosses above -.15 and LCAcceleration > LCAcceleration[1] then Color.Green
else if LCSlope[1] < LCSlope[2] and LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] then Color.Green 
else if LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] then Color.Green 
else if LCSlope > LCSlope[1] then Color.Plum 
else if LCSlope <= LCSlope[1] and LCAcceleration <= LCAcceleration[1] then Color.Red
else if LCSlope < LCSlope[1] then Color.Red
else Color.Plum);
 
Last edited:

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

I am going to play w/ this over the weekend:
sAvuwSv.png

https://www2.wealth-lab.com/wl5wiki/TASCJan2020.ashx
Hey @MerryDay how did you like this specific strategy from TASC?
 
I whipped up this code the other day to run the TASC rules in a lower panel along side of that of the Bull Begin / End vertical line code in the upper chart. Have the line Draw As style set to the filled in lines just below the Histogram line style in settings. It is different with timings at some places. Almost like having them both visible.

Might not be perfect. If there is a better way to code this, I am open to constructive criticism.

Code:
def Bullish = LCSlope > ZeroLine and LCAcceleration > ZeroLine;
def Bearish = LCSlope < LCSlope[1] and LCAcceleration < ZeroLine;


AddLabel(yes and Bullish, "TASC Buy"  + " ", Color.cyan);
AddLabel(yes and Bearish, "TASC Sell"  + " ", Color.pink);

Edit - changed the number 0 to ZeroLine, works better.
 
Last edited by a moderator:
I will take a shot at it if I can find time today. However, I would not look at both changing direction. For bullish and bearish entries, I would have the slope in either positive or negative, then wait for the slope to cross the zero line.

For example;

Code:
def Bullish = if Bullish[1] != 1 and LCSlope > 0 and LCAcceleration crosses above 0 then 1
              else if Bullish[1] == 1 and { LCSlope has reached the 20 bar high } and LCAcceleration crosses below 0 then 0
              else Bullish[1];

Disclaimer, code above is not tested. Also, you will need to code the { LCSlope has reached the 20 bar high } part in another variable.
 
Here is a basic implementation without the 20 bar high/low filter. I am not sure how to implement that at the moment. It had a pretty good performance with /ES today. Note: not tested much.

Code:
# Leavitt Strategy - An Interplanetary Marriage
# 20210119 - barbaros - basic implementation

input SlopeLength = 49;
input AccelerationLength = 49;
input SlopeLookback = 20;
input IntraDay = no;
input ShowArrows = yes;
input ShowBubbles = no;
input ShowLines = no;

def TradeTime = if IntraDay then SecondsFromTime(930) >= 0 and SecondsTillTime(1600) >= 0 else yes;

# Leavitt Convolution

def LCSlope = reference LeavittConvolutionSlope(close, SlopeLength)."LeavittConvolutionSlope";
def LCAcceleration = reference LeavittConvolutionAcceleration(close, AccelerationLength)."LeavittConvolutionAcceleration";

# Signals
def Bullish = if TradeTime and LCSlope > 0 and LCSlope > LCSlope[1] and LCAcceleration crosses above 0 then 1
              else if Bullish[1] == 1 and LCSlope < LCSlope[1] and LCAcceleration crosses below 0 then 0
             else Bullish[1];

def Bearish = if TradeTime and LCSlope < 0 and LCSlope < LCSlope[1] and LCAcceleration crosses below 0 then 1
              else if Bearish[1] == 1 and LCSlope > LCSlope[1] and LCAcceleration crosses above 0 then 0
             else Bearish[1];

def BuySignal = Bullish crosses above 0;
def BuyExitSignal =  Bullish crosses below 1;
def SellSignal = Bearish crosses above 0;
def SellExitSignal = Bearish crosses below 1;

# Plots

plot Buy = ShowArrows and BuySignal;
Buy.SetDefaultColor(Color.GREEN);
Buy.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

plot BuyExit = ShowArrows and BuyExitSignal;
BuyExit.SetDefaultColor(Color.GREEN);
BuyExit.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);

plot Sell = ShowArrows and SellSignal;
Sell.SetDefaultColor(Color.RED);
Sell.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);

plot SellExit = ShowArrows and SellExitSignal;
SellExit.SetDefaultColor(Color.RED);
SellExit.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

# Bubbles

AddChartBubble(ShowBubbles and BuySignal, close, "Buy", Color.GREEN);
AddChartBubble(ShowBubbles and BuyExitSignal, close, "Exit Long", Color.GREEN);

AddChartBubble(ShowBubbles and SellSignal, close, "Sell", Color.RED);
AddChartBubble(ShowBubbles and SellExitSignal, close, "Exit Short", Color.RED);

# Vertical Lines

AddVerticalLine(ShowLines and BuySignal, "Buy", Color.GREEN);
AddVerticalLine(ShowLines and BuyExitSignal, "Exit Long", Color.GREEN);

AddVerticalLine(ShowLines and SellSignal, "Sell", Color.RED);
AddVerticalLine(ShowLines and SellExitSignal, "Exit Short", Color.RED);

2jbXo7h.png
 
Last edited:
Very nice, barbaros. I will check out what you have done more a little later. Looking forward to tomorrow's trading. Been really liking this Leavitt coding and that of the PowerX thread.

I was not sure how to implement things with the 20 bar high portion into more complex stuff. So I had just added it to the LeavittConvSlope script like.

Code:
#--- my added 20 bar High
input S1_length = 20;

#plot S1_topBand = Highest(high(period = AggregationPeriod.DAY)[1], S1_length);
plot S1_topBand = Highest(LeavittConvolutionSlope, S1_length);

S1_topBand.SetDefaultColor(Color.violet);


#AddLabel(yes, "20 bar hi =  " +S1_topBand+  "", color.violet);
 
Hey @RickAns, thanks for sharing. I tried that exact same function but it always latches on to the highest since the slope oscillates between positive and negative. I can’t get it look like the picture @MerryDay shared. Whenever slope turns positive, 20 bar high is pretty much the current high, so it almost always looks like it is ready to exit.
 
@MerryDay @barbaros @RickAns @optionsRS @ramseenu

Alright ! swallowed the bullet and compromised. Here is the MTF version of the code.

  • Compromise is, as of now there are only 3 states I show, Bull Begin, Bull Ended or Neutral. No Slope details.
  • To use this for MTF, you have to add multiple instance of the script to your chart and, set each instance to a timeframe you like.
  • You can add as many as 18 instance and set each one a different time frame from "1m" to all the way up to "Q", basically every available chart time frame in TOS.

As for the colors, I am still sticking to what is defined in @MerryDay original Script, Just so you all know if you go blind ;-), Kidding.

You could change the colors to Red, Green and Gray to make it easy, as long as you adjust the rest of the scripts to match so they are all identical.


Note: the MTF labels will appear only for current and higher timeframe, not lower time frame.

P.S: I know this is a different style of MTF than most of the other MTF indicators written on this forum. in my opinion this is the most flexible way, as each user has a choice of how many timeframes they want to look and which once.

Let me know what you all think.

Code:
# Leavitt_MTF_Labels
# Created by @SuryaKiranC
# Based on @MerryDay post in forum https://usethinkscript.com/threads/leavitt-slope-and-leavitt-acceleration-indicators.4989/
# Credits for Vertical Lines @barbaros.
# TOS Leavitt Convolution Slope TOS Leavitt Convolution Acceleration
#
# labels by @MerryDay January 2021
# https://www2.wealth-lab.com/wl5wiki/TASCJan2020.ashx
# TOS Leavitt Convolution Slope + # TOS Leavitt Convolution Acceleration

input period = AggregationPeriod.DAY;

DefineGlobalColor("TrendBEGIN", CreateColor(0, 0, 255)) ;
DefineGlobalColor("TrendEnd", CreateColor(255, 204, 0)) ;
DefineGlobalColor("neutral",  CreateColor(153, 153, 255));

def LCSlope = reference LeavittConvolutionSlope("price" = close(period = period), "length" = 49)."LeavittConvolutionSlope" ;
def LCAcceleration = reference LeavittConvolutionAcceleration("price" = close(period = period), "length" = 49)."LeavittConvolutionAcceleration" ;

script Leavitt_ {
input aP = AggregationPeriod.DAY;

def LCSlope = reference LeavittConvolutionSlope("price" = close(period = ap), "length" = 49)."LeavittConvolutionSlope" ;
def LCAcceleration = reference LeavittConvolutionAcceleration("price" = close(period = ap), "length" = 49)."LeavittConvolutionAcceleration" ;

def TrendBegin = LCSlope[1] < LCSlope[2] and LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1];
def Trending = LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] ;

def trendState = 
if LCSlope<-.151 then 0
else if LCSlope crosses above -.15 and LCAcceleration > 0 then 2
else if LCSlope[1]>LCSlope[2] and LCSlope<LCSlope[1] and  LCAcceleration < 0 then 1
else if LCSlope[1]<LCSlope[2] and LCSlope>LCSlope[1] and  LCAcceleration > 0 then 2  else 0;

Plot Leavitt_HT = trendState;
}

def currentPeriod = GetAggregationPeriod();
def Leavitt;

if period >= currentPeriod {
    Leavitt = Leavitt_(aP = period);
} else {
    Leavitt = Double.NaN;

}

AddLabel(!IsNaN(Leavitt), if period == AggregationPeriod.MONTH then "M"
else if period == AggregationPeriod.WEEK then "W"
else if period == AggregationPeriod.FOUR_DAYS then "4D"
else if period == AggregationPeriod.THREE_DAYS then "3D"
else if period == AggregationPeriod.TWO_DAYS then "2D"
else if period == AggregationPeriod.DAY then "D"
else if period == AggregationPeriod.FOUR_HOURS then "4H"
else if period == AggregationPeriod.TWO_HOURS then "2H"
else if period == AggregationPeriod.HOUR then "60m"
else if period == AggregationPeriod.THIRTY_MIN then "30m"
else if period == AggregationPeriod.TWENTY_MIN then "20m"
else if period == AggregationPeriod.FIFTEEN_MIN then "15m"
else if period == AggregationPeriod.TEN_MIN then "10m"
else if period == AggregationPeriod.FIVE_MIN then "5m"
else if period == AggregationPeriod.FOUR_MIN then "4m"
else if period == AggregationPeriod.THREE_MIN then "3m"
else if period == AggregationPeriod.TWO_MIN then "2m"
else if period == AggregationPeriod.MIN then "1m"
else "",if Leavitt == 1 then GlobalColor("TrendEnd") else if Leavitt == 2 then GlobalColor("TrendBEGIN") else GlobalColor("neutral"));

#end




EDIT: Replace the Create colors with the following, if the default colors are not for you.


Code:
DefineGlobalColor("TrendBEGIN", Color.GREEN) ;
DefineGlobalColor("TrendEnd", Color.RED) ;
DefineGlobalColor("neutral",  Color.GRAY);
 
Last edited:
Alright a bit of testing when market is open and it is proven the MTF was worthless. What the MTF Labels are doing is as soon as a new bar is being made in their respective timeframe and they move away from where the Vertical line would have been, they are assuming neutral color.

Fix was to preserve previous candles TrendState, till the TrendState change occurred.

Give this a shot.

PS: Goal for the MTF is not to show various stages of slope/Acceleration but to show if we are in Bull Trend or End of Bull Trend, in the higher frames.

Please test this and let me know what you all think.

Code:
# Leavitt_MTF_Labels
# Created by [USER=5065]@SuryaKiranC[/USER]
# Based on [USER=3357]@MerryDay[/USER] post in forum https://usethinkscript.com/threads/leavitt-slope-and-leavitt-acceleration-indicators.4989/
# Credits for Vertical Lines [USER=3266]@barbaros[/USER].
# TOS Leavitt Convolution Slope TOS Leavitt Convolution Acceleration
#
# labels by [USER=3357]@MerryDay[/USER] January 2021
# https://www2.wealth-lab.com/wl5wiki/TASCJan2020.ashx
# TOS Leavitt Convolution Slope + # TOS Leavitt Convolution Acceleration

input period = AggregationPeriod.DAY;

DefineGlobalColor("pretrend", Color.CYAN) ;
DefineGlobalColor("TrendBEGIN", Color.GREEN);
DefineGlobalColor("rising",  Color.LIGHT_GREEN);
DefineGlobalColor("maxxed", Color.PLUM);
DefineGlobalColor("TrendEnd", Color.RED);
DefineGlobalColor("falling",  Color.LIGHT_RED);
DefineGlobalColor("neutral",  Color.GRAY);

def LCSlope = reference LeavittConvolutionSlope("price" = close(period = period), "length" = 49)."LeavittConvolutionSlope" ;
def LCAcceleration = reference LeavittConvolutionAcceleration("price" = close(period = period), "length" = 49)."LeavittConvolutionAcceleration" ;

script Leavitt_ {
input aP = AggregationPeriod.DAY;

def LCSlope = reference LeavittConvolutionSlope("price" = close(period = ap), "length" = 49)."LeavittConvolutionSlope" ;
def LCAcceleration = reference LeavittConvolutionAcceleration("price" = close(period = ap), "length" = 49)."LeavittConvolutionAcceleration" ;

def TrendBegin = LCSlope[1] < LCSlope[2] and LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1];
def Trending = LCSlope > LCSlope[1] and LCAcceleration > LCAcceleration[1] ;

def trendState =  
if LCSlope<-.151 then 0
else if LCSlope crosses above -.15 and LCAcceleration > 0 then 2
else if LCSlope[1]>LCSlope[2] and LCSlope<LCSlope[1] and  LCAcceleration < 0 then 1
else if LCSlope[1]<LCSlope[2] and LCSlope>LCSlope[1] and  LCAcceleration > 0 then 2
else if LCSlope>LCSlope[1] and  LCAcceleration > 0 then 3
else if LCSlope<=LCSlope[1] and  LCAcceleration > 0 then 5
else if LCSlope<LCSlope[1] then 6 else 0;

def LT = if (trendState[1] != 1 and trendState == 1) then 2 else if (trendState[1] != 2 and trendState == 2) then 1 else LT[1];

plot Leavitt_HT = LT;
}

def currentPeriod = GetAggregationPeriod();

def Leavitt;

if period >= currentPeriod {
    Leavitt = Leavitt_(aP = period);
} else {
    Leavitt = Double.NaN;

}
AddLabel(!IsNaN(Leavitt), (if period == AggregationPeriod.QUARTER then "Q"
else if period == AggregationPeriod.OPT_EXP then "Opx"
else if period == AggregationPeriod.MONTH then "M"
else if period == AggregationPeriod.WEEK then "W"
else if period == AggregationPeriod.FOUR_DAYS then "4D"
else if period == AggregationPeriod.THREE_DAYS then "3D"
else if period == AggregationPeriod.TWO_DAYS then "2D"
else if period == AggregationPeriod.DAY then "D"
else if period == AggregationPeriod.FOUR_HOURS then "4H"
else if period == AggregationPeriod.TWO_HOURS then "2H"
else if period == AggregationPeriod.HOUR then "60m"
else if period == AggregationPeriod.THIRTY_MIN then "30m"
else if period == AggregationPeriod.TWENTY_MIN then "20m"
else if period == AggregationPeriod.FIFTEEN_MIN then "15m"
else if period == AggregationPeriod.TEN_MIN then "10m"
else if period == AggregationPeriod.FIVE_MIN then "5m"
else if period == AggregationPeriod.FOUR_MIN then "4m"
else if period == AggregationPeriod.THREE_MIN then "3m"
else if period == AggregationPeriod.TWO_MIN then "2m"
else if period == AggregationPeriod.MIN then "1m"
else ""),if Leavitt == 2 then GlobalColor("TrendEnd") else if Leavitt == 1 then GlobalColor("TrendBEGIN") else GlobalColor("neutral"));

# END
 
Last edited:
Code:
# Vertical Lines

AddVerticalLine(ShowLines and BuySignal, "Buy", Color.GREEN);
AddVerticalLine(ShowLines and BuyExitSignal, "Exit Long", Color.RED);

AddVerticalLine(ShowLines and SellSignal, "Sell", Color.RED);
AddVerticalLine(ShowLines and SellExitSignal, "Exit Short", Color.GREEN);

@barbaros Don't you think we should flip the colors on Exit Long and Exit Short, not just for the lines but for others too.
I wanted to distinguish between long end and short start, so I colored the long start and end the same and short start and end the same, but I am ok with changing the colors.
 
Leavitt Convolution Slope w Bollinger Bands
Code:
#
# TD Ameritrade IP Company, Inc. (c) 2020-2021
#

declare lower;

input price = close;
input length = 49;

def lProjection = reference TimeSeriesForecast(price = price, length = length, "bar plus" = 1);
def convolutionLength = Floor(Sqrt(length));

plot LeavittConvolutionSlope = reference LinearRegressionSlope(price = lProjection, length = convolutionLength);
plot ZeroLine = 0;

LeavittConvolutionSlope.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
LeavittConvolutionSlope.DefineColor("Summer", Color.GREEN);
LeavittConvolutionSlope.DefineColor("Fall", Color.RED);
LeavittConvolutionSlope.DefineColor("Spring", Color.LIGHT_GREEN);
LeavittConvolutionSlope.DefineColor("Winter", Color.DARK_RED);
LeavittConvolutionSlope.AssignValueColor(if LeavittConvolutionSlope >= LeavittConvolutionSlope[1] and LeavittConvolutionSlope > 0 then LeavittConvolutionSlope.Color("Summer") else if LeavittConvolutionSlope < LeavittConvolutionSlope[1] and LeavittConvolutionSlope > 0 then LeavittConvolutionSlope.Color("Fall") else if LeavittConvolutionSlope < LeavittConvolutionSlope[1] and LeavittConvolutionSlope < 0 then LeavittConvolutionSlope.Color("Winter") else LeavittConvolutionSlope.Color("Spring"));
ZeroLine.SetDefaultColor(GetColor(7));
def LCS = LeavittConvolutionSlope;

input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input averageType = AverageType.Simple;

def sDev = stdev(data = LCS, 20);

plot MidLine = MovingAverage(averageType, LCS, 20);
plot Ldev2 = MidLine + -2 * sDev;
plot Udev2 = MidLine + 2* sDev;
plot Ldev1 = MidLine + -1 * sDev;
plot Udev1 = MidLine + 1* sDev;



#vw.setdefaultColor(color.yellow);
Udev1.SetDefaultColor(Color.violet);
Udev2.SetDefaultColor(Color.Plum);
Udev1.SetPaintingStrategy(PaintingStrategy.DASHES);
Udev2.SetPaintingStrategy(PaintingStrategy.DASHES);
Udev1.SetLineWeight(1);
Udev2.SetLineWeight(1);
Ldev1.SetDefaultColor(Color.Violet);
Ldev2.SetDefaultColor(Color.Plum);
Ldev1.SetPaintingStrategy(PaintingStrategy.DASHES);
Ldev2.SetPaintingStrategy(PaintingStrategy.DASHES);
Ldev1.SetLineWeight(1);
Ldev2.SetLineWeight(1);
 
Leavitt Convolution Acceleration w Bollinger Bands
Code:
#
# TD Ameritrade IP Company, Inc. (c) 2020-2021
#

declare lower;

input price = close;
input length = 49;

def lConvolutionSlope = reference LeavittConvolutionSlope(price = price, length = length);

plot LeavittConvolutionAcceleration = lConvolutionSlope - lConvolutionSlope[1];
plot ZeroLine = 0;

LeavittConvolutionAcceleration.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);
LeavittConvolutionAcceleration.DefineColor("Summer", Color.GREEN);
LeavittConvolutionAcceleration.DefineColor("Fall", Color.RED);
LeavittConvolutionAcceleration.DefineColor("Spring", Color.LIGHT_GREEN);
LeavittConvolutionAcceleration.DefineColor("Winter", Color.DARK_RED);
LeavittConvolutionAcceleration.AssignValueColor(if LeavittConvolutionAcceleration >= LeavittConvolutionAcceleration[1] and LeavittConvolutionAcceleration > 0 then LeavittConvolutionAcceleration.Color("Summer") else if LeavittConvolutionAcceleration < LeavittConvolutionAcceleration[1] and LeavittConvolutionAcceleration > 0 then LeavittConvolutionAcceleration.Color("Fall") else if LeavittConvolutionAcceleration < LeavittConvolutionAcceleration[1] and LeavittConvolutionAcceleration < 0 then LeavittConvolutionAcceleration.Color("Winter") else LeavittConvolutionAcceleration.Color("Spring"));
ZeroLine.SetDefaultColor(GetColor(7));
def LCS = LeavittConvolutionAcceleration;

input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input averageType = AverageType.Simple;

def sDev = stdev(data = LCS, 20);

plot MidLine = MovingAverage(averageType, LCS, 20);
plot Ldev2 = MidLine + -2 * sDev;
plot Udev2 = MidLine + 2* sDev;
plot Ldev1 = MidLine + -1 * sDev;
plot Udev1 = MidLine + 1* sDev;



#vw.setdefaultColor(color.yellow);
Udev1.SetDefaultColor(Color.violet);
Udev2.SetDefaultColor(Color.Plum);
Udev1.SetPaintingStrategy(PaintingStrategy.DASHES);
Udev2.SetPaintingStrategy(PaintingStrategy.DASHES);
Udev1.SetLineWeight(1);
Udev2.SetLineWeight(1);
Ldev1.SetDefaultColor(Color.Violet);
Ldev2.SetDefaultColor(Color.Plum);
Ldev1.SetPaintingStrategy(PaintingStrategy.DASHES);
Ldev2.SetPaintingStrategy(PaintingStrategy.DASHES);
Ldev1.SetLineWeight(1);
Ldev2.SetLineWeight(1);
 
Thread starter Similar threads Forum Replies Date
J007RMC Leavitt Projection Indicator for ThinkorSwim Indicators 12
C MA Slope Scan For ThinkOrSwim Indicators 33

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

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