• Get $30 off VIP with code SUMMER30. Ends July 27. Happy trading!

Moxie Indicator for ThinkorSwim


Active member
2019 Donor
I don't know if anyone has come across this neat indicator called the "Moxie Indicator". It seems the creator of this indicator has it developed for Ninjatrader and Thinkorswim but he's not releasing the TOS version because he doesn't want the code shared. He has partnered up with John Carter from SimplerTrading to provide alerts based on this indicator.

You can check it out here...

It would be nice if something like this can be replicated. I am not a programmer so I wouldn't know where to start. Can it be reversed engineered from a NinjaTrader script?

Much success to all!

Edit #1: @diazlaz converted a TradingView script that mimicked the Moxie script: https://usethinkscript.com/threads/moxie-indicator-for-thinkorswim.369/post-36862

Edit #2: Check out @Slippage version of the Moxie Indicator here: https://usethinkscript.com/threads/moxie-indicator-for-thinkorswim.369/post-53789

Edit #3: @Slippage reviews of the paid Moxie indicator https://usethinkscript.com/threads/moxie-indicator-for-thinkorswim.369/post-53751


Well-known member
@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.

# 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_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"));

# 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));

plot SellSignal = if midTermLower and LongTermLower then MovAvg_H1x else Double.NaN;

# 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);

BenTen's Watchlist + Setup + Trade Recaps

Get access to Ben's watchlist, swing trading strategy, ThinkorSwim setup, and trade examples.

Learn more


Well-known member
I liked his explanation. Seems to me its some custom indicator based on RSI like criteria (e.g. momentum based indicator). Very likely he uses multiple timeframe cross to generate signal (e.g. change colors). Its even clear he has multiple timeframe setup (daily/monthly) for it

It is unbounded and not percentage based ( so more like stochastics/macd in this way).


New member
guys I was watching several videos on this Moxie indicator itreally works in showing divergence an entry signals on the 60 min if the daily is align in trend if someone can get this script will be great


Active member
2019 Donor
I don't have the ninjascript for this but I'm sure you can get your hands on the encrypted ninjascript. However, the thinkscript version isn't being released because it can't be encrypted. TG Watkins is using it to create a subscription service with SimplerTrading.

TradeGeek isn't TG Watkins...LOL! I'm really not TG Watkins. Good catch though. I didn't notice until you brought it to my attention.


New member
Trading is time consuming and, if you know what you're doing, lucrative. When I see someone who puts all his time into selling indicators, making you tube videos, maintaining mailing lists and a website, doing seminars, and paying for marketing / SEO services, then I pretty much know one thing: dude doesn't trade much and probably can't be consistently profitable as a trader. That has been proven to me many times in the course of my life.

I live on Jupiter Island. Three doors down from me there lives a veteran trader of commodities and derivatives. The man trades every day (as I do). He has no presence online, no website, no you tube videos. He's a pro and the last thing in the world he would do is share his methodology with the general public for any price.


Active member
2019 Donor
Hopefully that's true but I don't think he's selling the indicator for TOS as he specifically mentioned he doesn't want to disclose the unencrypted script.


New member
@tradegeek is correct. No way to replicate this as the source code is not available. It would be useless if you purchase it. You're out of your mind if you spend $697 on an indicator.

@tiburon An alternative to the Moxie indicator would be the Coppock indicator that @BenTen shared https://usethinkscript.com/threads/...and-and-coppock-indicator-for-thinkorswim.22/. Default is weekly, but you can change to any timeframe, and it should work. It works for me modestly. No reason to spend big $$$ on this bullsh** Moxie.

Very good point @Monopod.


Active member
2019 Donor
It looks like he will be offering the Moxie Indicator for the first time. Do you guys think the code can be encrypted in TOS?

@cherif I'm not sure. That why I asked if it's possible for the code to be encrypted because as far as I know, thinkscript code cannot be encrypted unless it's done by Thinkorswim internally. I don't know if there has been some new tech that may be able to do it outside of Thinkorswim.


Well-known member
With this extended thread on Moxie, really makes me curious what it is. Perhaps I'll peek at the video describing this and hopefully learn a thing or two


New member
The author spent way too much time talking about himself rather than the indicator. The title of the webinar from a week or so ago had nothing to do with the indicator, so it was frustrating to find out that the webinar was an hour long infomercial.


Well-known member
I have watched many of the indicator videos from Simpler Options. Raghee Horner's approach using her 34 EMA waves with prop dots as well as Darvas really resonated with me. Watched her video a while ago. thought it made a lot of sense


Well-known member
2019 Donor
I have watched many of the indicator videos from Simpler Options. Raghee Horner's approach using her 34 EMA waves with prop dots as well as Darvas really resonated with me. Watched her video a while ago. thought it made a lot of sense
@tomsk can you summarize the approach? Thanks


Well-known member
Basically a trend approach. If there is no trend or sideways, no trade is taken. If I recall correctly it comprises 3-4 different indicators. She mentioned she had been using it for 33 years and her account has never blown up, and survived hedge fund blowups, crashes, etc.

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

Similar threads