John Carter's Squeeze Pro Indicator for ThinkorSwim (FREE)


GO HERE FIRST: Everything You Wanted To Know About The Free ThinkOrSwim John Carter's Squeeze Pro Indicator And Were Afraid To Ask:

John Carter's Squeeze Pro Indicator for ThinkorSwim (FREE)

I derived John Carter's Pro Squeeze indicator. All it looks like he does is add in more conditional rules on whether BBs are inside a larger and smaller range. The code is actually pretty simple just added a few Keltner ranges and added in Mobius's derivation of the original TTM Squeeze's momentum function.

Dark_orange is the pre-squeeze, yellow signals the original, and red is one step above actual i.e., extreme compression.




declare lower;

##Assembled by TheBewb using existing Mobius Squeeze Momentum coding and "squeeze" concept made popular by John Carter.

input price = close;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input averageType = AverageType.SIMPLE;
input displace = 0;
def sDev = StDev(data = price[-displace], length = length);
def MidLineBB = MovingAverage(averageType, data = price[-displace], length = length);
def LowerBandBB = MidLineBB + Num_Dev_Dn * sDev;
def UpperBandBB = MidLineBB + Num_Dev_up * sDev;
input factorhigh = 1.0;
input factormid = 1.5;
input factorlow = 2.0;
input trueRangeAverageType = AverageType.SIMPLE;
def shifthigh = factorhigh * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def shiftMid = factormid * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def shiftlow = factorlow * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def average = MovingAverage(averageType, price, length);

def Avg = average[-displace];

def UpperBandKCLow = average[-displace] + shiftlow[-displace];
def LowerBandKCLow = average[-displace] - shiftlow[-displace];

def UpperBandKCMid = average[-displace] + shiftMid[-displace];
def LowerBandKCMid = average[-displace] - shiftMid[-displace];

def UpperBandKCHigh = average[-displace] + shifthigh[-displace];
def LowerBandKCHigh = average[-displace] - shifthigh[-displace];

def K = (Highest(high, length) + Lowest(low, length)) /
2 + ExpAverage(close, length);
def momo = Inertia(price - K / 2, length);

def pos         = momo>= 0;
def neg         = momo< 0;
def up         = momo >= momo[1];
def dn         = momo < momo[1];

def presqueeze      = LowerBandBB > LowerBandKCLow and UpperBandBB < UpperBandKCLow;
def originalSqueeze     = LowerBandBB > LowerBandKCMid and UpperBandBB < UpperBandKCMid;
def ExtrSqueeze     = LowerBandBB > LowerBandKCHigh and UpperBandBB < UpperBandKCHigh;

def PosUp = pos and up;
def PosDn = pos and dn;
def NegDn = neg and dn;
def NegUp = neg and up;

plot squeezeline = 0;
squeezeline.AssignValueColor(if ExtrSqueeze then Color.RED else if originalSqueeze  then Color.YELLOW else if presqueeze then Color.DARK_ORANGE else Color.GRAY);

plot momentum = momo;
momentum.AssignValueColor( if PosUp then else if PosDn then Color.dark_green else if NegDn then Color.dark_orange else if NegUp then Color.yellow else Color.YELLOW);
Last edited by a moderator:

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

Trader Raider

Well-known member
@Ramesh16, I also have the squeeze pro. It's nice to hear that @venus360 seems to have found it helpful. I did not. I trade on lower time frames and found it unreliable on anything less than a daily chart. Even then, I take it with a grain of salt. The histogram is not a reliable predictor of the direction the squeeze will fire. If I have to load moving averages to confirm the direction (which is what John Carter recommends), I may as well just trade price action and moving averages. The only part I found useful was the stats indicator showing the dollar amount of an average move. Overall, I didn't find the indicator arrows, early entry candles, or squeeze pro histogram very helpful except to demonstrate that I can be a sucker for a sales pitch.


Active member
2019 Donor
I found that the Squeeze Pro has too much noise. In my opinion, JC over-hype his updated squeeze indicator.

Here's how I see it....

Everytime JC shows his charts, I only see he uses the original Squeeze not the new Squeeze Pro (unless he's cherry-picking charts to market the Squeeze Pro). Why is that? Check his videos and you will see. It's probably not as useful as what he makes it out that's probably why he himself doesn't use the Squeeze Pro.

Trader Raider

Well-known member
@Ramesh16, FOMO is a powerful sales technique that still gets the better of me sometimes.

@tradegeek, I haven't seen any JC stuff lately. Because the high squeeze isn't good for anything except to alert that the mid squeeze is coming, what purpose is there to plot it? Basic price action on the chart is enough to show consolidation. No reason to use anything but the basic squeeze version available on TOS because the mid squeeze it plots means the high has already fired.


New member
@Trader Raider I use Squeeze pro as a confirmation along with price action and other tools (Divergence). RSI Divergence worked well for me in the last few weeks.
@Ramesh16 JC is a master at sales tactics and been at this for quite a while.


I paid $500 for John Carter's 10x indicator a couple years ago before I knew better. NEVER AGAIN. I find him to be a conman and I wasted too much time on his courses. He takes common indicators and SELLS them!!! TTM squeeze is just Bollinger bands squeezing inside a Keltner Channel, with MACD....

Trader Raider

Well-known member
It is so tempting to see his trade 20-30Ks in profits indays !!
@Ramesh16, without seeing a full account statement showing profits AND losses, it's impossible to know if another trader is profitable. There's no question that JC is a successful marketer with a product that some are willing to buy. Is he a profitable trader? I can't say. All I can say is that if I were making that kind of money, I'd be living the high life instead of peddling indicators and courses. But that's just me.


New member
2019 Donor
Almost all of John Carter's/Simpler Trading indicators are just slightly different versions of indicators someone else created (and for free on Thinkorswim) or they visually combine a few separate indicators into one. Ex-the RAF indicator is the same thing as Fisher Transformer just visually displayed a little different. Also the Squeeze pro just combines 3 settings you can change yourself on the TTM Squeeze.

In the TTM squeeze available for free on Thinkorswim, changing the "nbb" input setting from 2.0 to 1.5 will give the more frequent squeezes he talks about in his webinars and changing it "nbb" from 2.0 to 2.5 will result in much less squeezes. The Squeeze Pro just visually puts all 3 into one indicator by having different colors of the "Squeeze" dots.


@Trader Raider i am sorry that you were disappointed with the TTM SQUEEZE Pro performance. Based on my continuous observation of the combination of BB/KC in relation with Price Action, there is lag that can be costly. What i did is i modified the parameters to help give a better signal on lower time frames
KC(1.0,8, exponential)
To confirm the accuracy of such set up, the squeeze on chart that is posted on this forum by mobius can go hand in hand with the setting above.
any questions, feel free to ask

Trader Raider

Well-known member
@Trader Raider there is lag that can be costly. What i did is i modified the parameters to help give a better signal on lower time frames

Thank you for your response. I agree with you about the lag but never found a code adjustment that gives consistently good signals. It was easier to plot the KC and BB on the upper chart if I wanted to trade that setup.

To confirm the accuracy of such set up, the squeeze on chart that is posted on this forum by mobius can go hand in hand with the setting above.
any questions, feel free to ask

Are you referring to Mobius' Momentum Squeeze?’-momentum-squeeze-for-thinkorswim.1123/
I hadn't seen that and will definitely take a look. THANKS again for your response.


New member
2019 Donor
do you know what his "buy or sell arrow" in the Squeeze Pro is based off of?
Last edited by a moderator:

BenTen's Watchlist + Setup + Trade Recaps

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

Learn more

Similar threads