VTR is a momentum indicator that shows if a stock is overbought or oversold based on its Weekly and Monthly average volatility trading range.
Alright. Here's what I'm thinking... I'm going to make two tweaks to the code I posted previously as a new post. That way the original dates are still on the code I posted before and if Simpler ever comes at us we can show that code was here before I signed up with them. So please don't nuke my earlier post even though it's obsolete and redundant. One of the tweaks isn't relevant to their code anyway since theirs doesn't handle multiple timeframes but the fix for the 15m timeframe is.@Slippage Hard for me to say. I wouldn't rewrite the code you originally posted now that you have access to the official Moxie indicator. That would be considered piracy.
declare upper;
def currentAggPeriod = GetAggregationPeriod();
def higherAggPeriod =
if currentAggPeriod <= AggregationPeriod.TWO_MIN then AggregationPeriod.FIVE_MIN
else if currentAggPeriod <= AggregationPeriod.THREE_MIN then AggregationPeriod.TEN_MIN
else if currentAggPeriod <= AggregationPeriod.FIVE_MIN then AggregationPeriod.FIFTEEN_MIN
else if currentAggPeriod <= AggregationPeriod.TEN_MIN then AggregationPeriod.THIRTY_MIN
else if currentAggPeriod <= AggregationPeriod.FIFTEEN_MIN then AggregationPeriod.HOUR
else if currentAggPeriod <= AggregationPeriod.THIRTY_MIN then AggregationPeriod.TWO_HOURS
else if currentAggPeriod <= AggregationPeriod.TWO_HOURS then AggregationPeriod.DAY
else if currentAggPeriod <= AggregationPeriod.FOUR_HOURS then AggregationPeriod.TWO_DAYS
else if currentAggPeriod <= AggregationPeriod.DAY then AggregationPeriod.WEEK
else if currentAggPeriod <= AggregationPeriod.WEEK then AggregationPeriod.MONTH
else AggregationPeriod.QUARTER
;
script MoxieFunc {
input price = close;
def vc1 = ExpAverage(price, 12) - ExpAverage(price , 26);
def va1 = ExpAverage(vc1, 9);
plot data = (vc1 - va1) * 3;
}
def Moxie = MoxieFunc(close(period = higherAggPeriod));
def longTrigger = if Moxie > 0 and Moxie[1] <= 0 then Moxie else Double.NaN;
def longArrowPosition =
# first arrow
if Moxie == longTrigger and Moxie != Moxie[1] then low
# consecutive arrows at same position
else if Moxie == longTrigger and Moxie == Moxie[1] then longArrowPosition[1]
else Double.NaN;
plot long = longArrowPosition;
long.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
long.SetDefaultColor(Color.GREEN);
long.SetLineWeight(3);
long.HideBubble();
long.HideTitle();
def shortTrigger = if Moxie < 0 and Moxie[1] >= 0 then Moxie else Double.NaN;
def shortArrowPosition =
# first arrow
if Moxie == shortTrigger and Moxie != Moxie[1] then high
# consecutive arrows at same position
else if Moxie == shortTrigger and Moxie == Moxie[1] then shortArrowPosition[1]
else Double.NaN;
plot short = shortArrowPosition;
short.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
short.SetDefaultColor(Color.LIGHT_RED);
short.SetLineWeight(3);
short.HideBubble();
short.HideTitle();
declare lower;
input showVerticalLines = yes;
input showTrampolines = yes;
input showSqueezeDots = no;
plot ZeroLine = if !IsNaN(open) and !showSqueezeDots then 0 else Double.NaN;
ZeroLine.SetDefaultColor(Color.GRAY);
ZeroLine.SetLineWeight(2);
ZeroLine.HideBubble();
ZeroLine.HideTitle();
def currentAggPeriod = GetAggregationPeriod();
def higherAggPeriod =
if currentAggPeriod <= AggregationPeriod.TWO_MIN then AggregationPeriod.FIVE_MIN
else if currentAggPeriod <= AggregationPeriod.THREE_MIN then AggregationPeriod.TEN_MIN
else if currentAggPeriod <= AggregationPeriod.FIVE_MIN then AggregationPeriod.FIFTEEN_MIN
else if currentAggPeriod <= AggregationPeriod.TEN_MIN then AggregationPeriod.THIRTY_MIN
else if currentAggPeriod <= AggregationPeriod.FIFTEEN_MIN then AggregationPeriod.HOUR
else if currentAggPeriod <= AggregationPeriod.THIRTY_MIN then AggregationPeriod.TWO_HOURS
else if currentAggPeriod <= AggregationPeriod.TWO_HOURS then AggregationPeriod.DAY
else if currentAggPeriod <= AggregationPeriod.FOUR_HOURS then AggregationPeriod.TWO_DAYS
else if currentAggPeriod <= AggregationPeriod.DAY then AggregationPeriod.WEEK
else if currentAggPeriod <= AggregationPeriod.WEEK then AggregationPeriod.MONTH
else AggregationPeriod.QUARTER
;
script MoxieFunc {
input price = close;
def vc1 = ExpAverage(price, 12) - ExpAverage(price , 26);
def va1 = ExpAverage(vc1, 9);
plot data = (vc1 - va1) * 3;
}
plot Moxie = MoxieFunc(close(period = higherAggPeriod));
Moxie.SetLineWeight(2);
Moxie.DefineColor("Up", Color.GREEN);
Moxie.DefineColor("Down", Color.RED);
def lastChange = if Moxie < Moxie[1] then 1 else 0;
Moxie.AssignValueColor(
if lastChange == 1 then Moxie.Color("Down")
else Moxie.Color("Up")
);
# Watkins uses a different setup for Moxie on his 15 minute charts.
# He uses two lines derived from two higher timeframes.
# For timeframes other than 15 minutes we'll use the same data as
# first Moxie line to reduce data requested from the server and
# improve performance.
def secondAggPeriod =
if currentAggPeriod == AggregationPeriod.FIFTEEN_MIN
then AggregationPeriod.TWO_HOURS
else currentAggPeriod
;
plot MoxieSecondLine =
if currentAggPeriod == AggregationPeriod.FIFTEEN_MIN
then MoxieFunc(close(period = secondAggPeriod))
else Double.NaN
;
MoxieSecondLine.SetLineWeight(2);
MoxieSecondLine.DefineColor("Up", Color.GREEN);
MoxieSecondLine.DefineColor("Down", Color.RED);
def lastChangeSecondLine = if MoxieSecondLine < MoxieSecondLine[1] then 1 else 0;
MoxieSecondLine.AssignValueColor(
if lastChangeSecondLine == 1 then MoxieSecondLine.Color("Down")
else MoxieSecondLine.Color("Up")
);
MoxieSecondLine.SetHiding(currentAggPeriod != AggregationPeriod.FIFTEEN_MIN);
# Show vertical lines at crossovers
AddVerticalLine(showVerticalLines and Moxie[1] crosses above 0, "", CreateColor(0,150,0), Curve.SHORT_DASH);
AddVerticalLine(showVerticalLines and Moxie[1] crosses below 0, "", CreateColor(200,0,0), Curve.SHORT_DASH);
# Indicate the Trampoline setup
def sma50 = Average(close, 50);
plot Trampoline =
if showTrampolines and ((Moxie < -.01 and close > sma50) or (Moxie > .01 and close < sma50))
then 0
else Double.NaN
;
Trampoline.SetPaintingStrategy(PaintingStrategy.SQUARES);
Trampoline.DefineColor("Bullish", Color.LIGHT_GREEN);
Trampoline.DefineColor("Bearish", Color.PINK);
Trampoline.AssignValueColor(if close > sma50 then Trampoline.Color("Bearish") else Trampoline.Color("Bullish"));
Trampoline.HideBubble();
Trampoline.HideTitle();
# show squeeze dots on zero line
def bb = reference BollingerBands.LowerBand;
def squeezeLevel =
if bb > KeltnerChannels(factor = 1.0).Lower_Band then 3
else if bb > KeltnerChannels(factor = 1.5).Lower_Band then 2
else if bb > KeltnerChannels(factor = 2.0).Lower_Band then 1
else 0
;
plot Squeeze = if !showSqueezeDots then Double.NaN else if !IsNaN(open) then 0 else Double.NaN;
Squeeze.SetPaintingStrategy(PaintingStrategy.POINTS);
Squeeze.SetDefaultColor(Color.GRAY);
Squeeze.DefineColor("Loose Squeeze", Color.UPTICK);
Squeeze.DefineColor("Squeeze", Color.RED);
Squeeze.DefineColor("Tight Squeeze", Color.YELLOW);
Squeeze.DefineColor("No Squeeze", Color.GRAY);
Squeeze.AssignValueColor(
if squeezeLevel == 3 then Squeeze.Color("Tight Squeeze")
else if squeezeLevel == 2 then Squeeze.Color("Squeeze")
else if squeezeLevel == 1 then Squeeze.Color("Loose Squeeze")
else Squeeze.Color("No Squeeze")
);
Squeeze.SetLineWeight(2);
Squeeze.HideTitle();
Squeeze.HideBubble();
AddLabel(
yes,
if currentAggPeriod == AggregationPeriod.WEEK then " W "
else if currentAggPeriod == AggregationPeriod.Day then " D "
else if currentAggPeriod == AggregationPeriod.HOUR then " H "
else if currentAggPeriod == AggregationPeriod.FIFTEEN_MIN then " 15 "
else if currentAggPeriod == AggregationPeriod.FIVE_MIN then " 5 "
else if currentAggPeriod == AggregationPeriod.TWO_MIN then " 2 "
else " ",
if Moxie < 0 then Color.RED else Color.GREEN
);
# because Moxie calculates from higher time frame
# to find daily entries, run this scan on weekly
# to find hourly entries, run this on daily
script Moxie {
input priceC = close;
def vc1 = ExpAverage(priceC , 12) - ExpAverage(priceC , 26);
def va1 = ExpAverage(vc1, 9);
plot sData = (vc1 - va1) * 3;
}
def m = Moxie();
def moxieUpArrow = m > 0 and m[1] <= 0;
plot scan = moxieUpArrow within 1 bars;
# because Moxie calculates from higher time frame
# to find daily entries, run this scan on weekly
# to find hourly entries, run this on daily
def ap1 = close;
script MoxieFunc {
input priceC = close;
def vc1 = ExpAverage(priceC , 12) - ExpAverage(priceC , 26);
def va1 = ExpAverage(vc1, 9);
plot sData = (vc1 - va1) * 3;
}
def price = close;
def s2 = MoxieFunc(price);
def ZeroLine = 0;
def Moxie = s2;
# Indicate the Trampoline setup
def sma50 = SimpleMovingAvg(close, 50);
plot trampoline = (Moxie > 0.1 and close < sma50);
You are absolutely correct in your observations. He only uses the squeeze to make John Carter happy. He uses D, H and 15 charts, Moxie and 4 moving averages. He triggers base on price in relationship to Moxie and 50 SMA primarily on an hourly chart. He uses 15 min and D for confirmation.I'm not in his group yet but I may join. You can find lots of his videos on the Simpler Trading channel on YouTube and he has a Moxie Trader channel on YouTube, where he's a bit less secretive, from before he joined Simpler Trading.
If you watch more of his videos you'll find Squeeze didn't exist on his charts before he joined Simpler Trading and I believe it's there primarily to market SqueezePro. His strategy doesn't depend on squeeze at all though he does occasionally mention it if he happens to notice the stock he's looking at is in a squeeze in addition to meeting his strategy's criteria. He specifically stated he rarely uses the stochastics. In the dozens of videos I've watched he's never referred to volume except in a case where someone asked him to look at a stock and he mentioned it's too low volume. It was 200k for the day or something like that.
My impression is his strategy is almost entirely based on the 1 hour chart's MAs and price action. D/W/M MAs are filters to avoid immediate overhead resistance. 15m charts are just for tighter entries. And then Moxie on all those timeframes as a filter (above/below zero) and for divergence. I need to pay closer attention to see if he's even really watching Moxie on weekly. I believe his strategy can be reduced to just 3 charts, D/H/15m, if you select stocks from a scan that avoids the higher timeframe MAs or plot the weekly and monthly MAs on your D/H/15 charts so you won't need to refer to M and W.
Regarding your comments on OsMA, I appreciate that. I figured Moxie was based on something already well known and I was curious what it is but I hadn't taken any time to dig into it. Watkins seems like a smart guy. He graduated as a mechanical engineer so he must be able to do some math. But he doesn't strike me as the mathemagician type who would be capable of inventing something completely new and useful.
I have the mastery subscription and the indicator and some older strategy videos. Frankly, his strategy is SUPER simple. I've only been in his mastery program for a little over two weeks and I've lost money. I'm starting to get a little mad. But I think it's because he ONLY takes long entries and he is used to things exploding upward. The last two weeks have been rough as you all know. So most of his group is sitting flat right now. I think he needs to figure out what other sectors might start working in the near future. I'm not sure that the subscription is worth it, but I've only been with them for a short time. The old timers claim to have seen gains on 900% esp when they pair his callouts with options. I will report back once things in the market stabilize a little. I don't think he is effective in the market that's selling off. But it has nothing to do with the indicator. He is just unwilling to short.@Homemadeitmyself Do you have the Mastery subscription or one of the training packages? Is Mastery just trade signals and once a month live sessions? Or is there a chat room and more resources to help actually learn the strategy? I've watched a lot of his videos and I've mostly reverse engineered his strategy from those but I'm wondering if the training would be worthwhile anyway.
I noticed with the way they price the 4 or 5 hour training session the best value is to pay for the basic level training and then pay for one quarter of Mastery. That's the same price as paying for the Elite training and you get 3 months of trade signals while losing just one of the four live trading sessions from Elite.
Thanks for the info @Homemadeitmyself. I'll be interested in your feedback on the service as the market picks up a bit. Watching a lot of TG's videos, I picked up on the same thing - a lot of his triggers are based on the Moxie Indicator and price in relation to the Hourly 50 SMA.I have the mastery subscription and the indicator and some older strategy videos. Frankly, his strategy is SUPER simple. I've only been in his mastery program for a little over two weeks and I've lost money. I'm starting to get a little mad. But I think it's because he ONLY takes long
Hi Slippage, thank you for the code. I m still learning how to use the indicator n had watched some of the videos. Is it common to have the moxie indicator above zeros on the hourly (per your code) but below the zero on the 15min chart?Yes, he does often mention a strong preference for the two lines on 15m to be "in agreement" with each other. Another unknown I've been watching for is how far from zero should Moxie be for a trampoline setup to be valid or some other criteria for trampolines. You'll often see trampoline conditions as Moxie approaches the zero line to cross over and they fail quickly.
Is it common to have the moxie indicator above zeros on the hourly (per your code) but below the zero on the 15min chart?
& also how do i use the 2nd plot on the 15m? does that serve as a confirmation for the 1st plot on the 15min?
I think the most challenging aspect of this indicator is the scan. Does TG talk about that at all or is it discussed in the chat?
# near and close above 50
# close above 200
def range = reference ATR / 3;
def sma50 = Average(close, 50);
def near50 = Between(sma50, low - range, high + range);
def sma200 = Average(close, 200);
plot scan = near50 and close > sma50 and close > sma200;
close > Average(close, 50)
# weekly for daily moxie
input price = close;
def vc1 = ExpAverage(price, 12) - ExpAverage(price , 26);
def va1 = ExpAverage(vc1, 9);
def moxie = (vc1 - va1) * 3;
plot scan = moxie > 0;
# weekly MA
def ema8 = ExpAverage(close, 8);
def ema21 = ExpAverage(close, 21);
def sma30 = Average(close, 30);
def sma50 = Average(close, 50);
plot scan =
close > sma50
and close > sma30
and close > ema21
and close > ema8
and ema8 > ema21
;
# monthly for weekly moxie
input price = close;
def vc1 = ExpAverage(price, 12) - ExpAverage(price , 26);
def va1 = ExpAverage(vc1, 9);
def moxie = (vc1 - va1) * 3;
plot scan = moxie > 0;
# month 10 sma
Average(close, 10) < close
# daily for hourly moxie
input price = close;
def vc1 = ExpAverage(price, 12) - ExpAverage(price , 26);
def va1 = ExpAverage(vc1, 9);
def moxie = (vc1 - va1) * 3;
plot scan = moxie > 0;
Thank you Slippage. Appreciate.Yes, it's normal that Moxie is in different states on different timeframes.
For the 2 lines on 15m, he says when they are pretty close together, "in agreement with each other," you can trust whatever they are signaling and if they are wide apart it's probably a false signal.
You can learn both of these answers and other parts of his strategy from his YouTube videos in the Simpler Trading channel and in the Moxie Trader channel.
Yeah I'd be interested in your feedback as well. I have been listening to him recently but I am more in Options Room and he always sounds like he is there to promote "trampoline move" SMH. I cant say much as he has made much more than I have on those trampoline move but.. just saying. I think it more whose trading style fits your personality.I have the mastery subscription and the indicator and some older strategy videos. Frankly, his strategy is SUPER simple. I've only been in his mastery program for a little over two weeks and I've lost money. I'm starting to get a little mad. But I think it's because he ONLY takes long entries and he is used to things exploding upward. The last two weeks have been rough as you all know. So most of his group is sitting flat right now. I think he needs to figure out what other sectors might start working in the near future. I'm not sure that the subscription is worth it, but I've only been with them for a short time. The old timers claim to have seen gains on 900% esp when they pair his callouts with options. I will report back once things in the market stabilize a little. I don't think he is effective in the market that's selling off. But it has nothing to do with the indicator. He is just unwilling to short.
I don't think I answered your question: you do get access to a chat room that is extremely active. There are a number of old timers who provide very valuable feedback. But sometimes you have to look for them between all the new people asking how to use computers. You are able to mute certain people I just haven't gotten there yet. I think if you are willing to overlook the sales driven culture at Simpler, the room could be a good resource. They do try to sell you **** nonstop lol
I think the most challenging aspect of this indicator is the scan. Does TG talk about that at all or is it discussed in the chat?
I have been looking at this indicator all day to see if the "slopeUp" and "SlopeDown" repaint, but I am not seeing any signs. Can you confirm if they do or not? I understand the buy signals may repaint because of the aggregation periods, but im only interested in the slope. I program a lot of indicators, but the "If (.01 <> 0, (1 / 0.01), 0);" is throwing me off.@tradegeek IMO, I would just move on. Never buy an indicator. Find a system that works for you and keep working it. There are many hundred of them on this website to research. Start in the Tutorials as well as Look at the built in Strategies.
Code:# Moxie_PriceChannel_Adjustable # Built on 5/11/20 # For use on a All Time Frames input channelLength = 34; input averageType = AverageType.EXPONENTIAL; input PriceChannel_Aggregation = AggregationPeriod.FIFTEEN_MIN; input Moxie_highestAggregation = AggregationPeriod.TEN_MIN; input Moxie_lowestAggregation = AggregationPeriod.FIVE_MIN; def MovAvg_H = MovingAverage(averageType, high, channelLength); def MovAvg_C = MovingAverage(averageType, close, channelLength); def MovAvg_L = MovingAverage(averageType, low, channelLength); def MovAvg_H1x = (MovAvg_H - MovAvg_L) + MovAvg_H; def MovAvg_L1x = MovAvg_L - (MovAvg_H - MovAvg_L); # HTF_Ergodic Momentum ---------------------------------------------- def diff = close(period=PriceChannel_Aggregation) - close(period=PriceChannel_Aggregation)[1]; def TSI = (ExpAverage(ExpAverage(diff, 32), 5)) / (ExpAverage(ExpAverage(AbsValue(diff), 32), 5)) * 100; def Signal = ExpAverage(TSI, 5); def Momentum = TSI - Signal; def LHMult = If (.01 <> 0, (1 / 0.01), 0); def TSVBlues = If (Momentum >= 0, Momentum, 0); def TSVMomentum_Pos = TSVBlues * LHMult; def TSVReds = If (Momentum < 0, Momentum, 0); def TSVMomentum_Neg = TSVReds * LHMult; # HTF ERGODIC Price Channel Momentum Indicator ---------------------------------------- plot PC_H = MovAvg_H; plot PC_L = MovAvg_L; PC_H.DefineColor("SlopeUp", CreateColor(0, 153, 0)); #createColor(0,153,0)); GREEN PC_H.DefineColor("NoSlope", Color.GRAY); PC_H.DefineColor("SlopeDown", Color.RED); PC_H.AssignValueColor(if TSVmomentum_Pos then PC_H.Color("SlopeUp") else if TSVmomentum_Neg then PC_L.Color("SlopeDown") else PC_H.Color("NoSlope")); PC_H.SetLineWeight(2); PC_H.HideBubble(); PC_L.DefineColor("SlopeUp", CreateColor(0, 153, 0));#createColor(0,153,0)); GREEN PC_L.DefineColor("NoSlope", Color.GRAY); PC_L.DefineColor("SlopeDown", Color.RED); PC_L.AssignValueColor(if TSVmomentum_Pos then PC_L.Color("SlopeUp") else if TSVmomentum_Neg then PC_L.Color("SlopeDown") else PC_L.Color("NoSlope")); PC_L.SetLineWeight(2); PC_L.HideBubble(); # MOXIE - This section is for the medium term MACD --------------------------------------------- def midTermFastAvg = ExpAverage(close(period = Moxie_lowestAggregation), 12); def midTermSlowAvg = ExpAverage(close(period = Moxie_lowestAggregation), 26); def midTermValue = midTermFastAvg - midTermSlowAvg; def midTermAvg = ExpAverage(midTermValue, 9); def midTermDiff = (midTermValue - midTermAvg)*3; # MOXIE - This section is for the long term MACD ----------------------------------------------- def longTermFastAvg = ExpAverage(close(period = Moxie_highestAggregation), 12); def longTermSlowAvg = ExpAverage(close(period = Moxie_highestAggregation) , 26); def longTermValue = longTermFastAvg - longTermSlowAvg; def longTermAvg = ExpAverage(longTermValue, 9); def longTermDiff = (longTermValue - longTermAvg)*3; # Signal Criteria ----------------------------------------------------------------------- def midTermLower = midTermDiff < 0 and midTermDiff < midTermDiff[1]; def midTermHigher = midTermDiff > 0 and midTermDiff > midTermDiff[1]; def longTermLower = longTermDiff < 0 and longTermDiff < longTermDiff[1]; def longTermHigher = longTermDiff > 0 and longTermDiff > longTermDiff[1]; ######################################################################### plot BuySignal = if midTermHigher and LongTermHigher then MovAvg_L1x else Double.NaN; BuySignal.SetDefaultColor (Color.White); #(CreateColor(0, 153, 0)); BuySignal.SetPaintingStrategy(PaintingStrategy.POINTS); BuySignal.SetLineWeight(2); BuySignal.HideBubble(); BuySignal.HideTitle(); plot SellSignal = if midTermLower and LongTermLower then MovAvg_H1x else Double.NaN; SellSignal.SetDefaultColor(Color.White); SellSignal.SetPaintingStrategy(PaintingStrategy.POINTS); SellSignal.SetLineWeight(2); SellSignal.HideBubble(); SellSignal.HideTitle(); # Cloud Fill ----------------------------- AddCloud(MovAvg_H, MovAvg_L, Color.LIGHT_GRAY); alert (close>BuySignal,"ChannelDotup", alert.bar,Sound.ding); alert (close<SellSignal,"ChannelDotdown", alert.bar,Sound.ding); #alert (close>BuySignal,"ChannelDotup", alert.once,Sound.ding); #alert (close<SellSignal,"ChannelDotdown", alert.once,Sound.ding);
I have been looking at this indicator all day to see if the "slopeUp" and "SlopeDown" repaint, but I am not seeing any signs. Can you confirm if they do or not? I understand the buy signals may repaint because of the aggregation periods, but im only interested in the slope. I program a lot of indicators, but the "If (.01 <> 0, (1 / 0.01), 0);" is throwing me off.
EDIT:
It looks like the indicator does repaint, but it only repaints as far as the price channel length.
@Slippage I really appreciate you taking the time to write out the scans. The way you laid it out was easy to input into TOS. Thanks again.Sorry, @Fenway1353, I didn't realize you're still not comfortable building a scan with the steps I posted. Here's the code for the individual pieces of the scan I created. This scan isn't looking for triggers and won't find trampolines. It's looking for stocks that are almost ready to trade with normal, non-trampoline, setups regardless of how long ago Moxie crossed over.
For each of these pieces, add a new study filter to the scan, set the timeframe as listed here and paste the code.
1. Set to 1H. This handles the 1 hour moving averages.
@Slippage First and foremost, thank you for all your efforts.. they are truly appreciated.Yes, it repaints until the higher timeframe closes. So on daily it repaints during all of the current week. Once the week closes it starts the next week of repainting and past weeks remain static.
@Slippage I really appreciate you taking the time to write out the scans. The way you laid it out was easy to input into TOS. Thanks again.
I took a look at a few other videos today. I noticed TG primarily uses the hourly and commonly enters trades when the Moxie Indicator goes positive on the hourly. I noticed on the posted scan that the Moxie Indicator is already positive. Do you think it's beneficial to include the situations where the indicator is just below zero so that the trade can potentially be entered as it crosses above.
Again, thanks for all you continue to do. Please don't take the above as criticism - I used the scanner all day and loved it. I was just thinking of a way to ensure we don't miss a potential entry point when the Moxie Indicator goes positive on the hourly.
nowhere on this Mastery page https://www.simplertrading.com/moxie/ does it say there's a "trading room" (chatroom) where TG Watkins will answer your questions all day and you can interact with other members nearly 24 hours a day
Yes, I agree that you should not port any concepts or IP of moxie into the code here, as that would not be nice.I decided to just YOLO it and get the Elite package. I should get the money back from the Mastery alerts anyway, in theory. I'll let you know what I think of it once I've consumed the materials and understand the scope of what exactly is included. Now that I have the actual Moxie code I wouldn't feel right to share it or to make any updates to what I've already posted here but I'll let you know if I see anything the code here has wrong so someone can chase it down and fix it if they have an interest.
The real Moxie has different code for every timeframe that Watkins charts with the referenced higher timeframe hard coded -- terrible code management. Of course, the first thing I did was grab the official version for daily charts. and compare it to the code we have here. Our formula is an exact match, down to variable naming which leads me to believe whoever posted it on TradingView had access to the real Moxie. Assuming our code is correct across timeframes, I plan to use that instead of the real Moxie so I don't have to have the literally ten different studies they gave me to download.
I can also tell you our code is a lot cleaner than the official Moxie. There's a few variables in their code doing unnecessary math where the result never gets used. And a few global colors defined that also never get used. I commented out that stuff to eliminate unnecessary CPU/memory utilization.
Having reviewed all of the official code for Moxie I can say I'm 100% comfortable using the code posted here instead.
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.
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
T | Repaints Moxie for ThinkorSwim | Indicators | 155 | |
Repaints Cup and Handle Indicator for ThinkorSwim | Indicators | 23 | ||
Z-Score Probability Indicator for ThinkOrSwim | Indicators | 29 | ||
HTF PO3 Indicator For ThinkOrSwim | Indicators | 37 | ||
N | RSI - TSI Indicator For ThinkOrSwim | Indicators | 33 |
Start a new thread and receive assistance from our community.
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.
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.