Squeeze Momentum Indicator

Squeeze Momentum Indicator

This is a derivative of John Carter’s “TTM Squeeze” volatility indicator, as discussed in his book “Mastering the Trade” (chapter 11).

Black (or white) crosses on the midline show that the market just entered a squeeze ( Bollinger Bands are with in Keltner Channel). This signifies low volatility , market preparing itself for an explosive move (up or down). Gray crosses signify “Squeeze release”.

Mr.Carter suggests waiting till the first gray after a black cross, and taking a position in the direction of the momentum (for ex., if momentum value is above zero, go long). Exit the position when the momentum changes (increase or decrease — signified by a color change). My (limited) experience with this shows, an additional indicator like ADX / WaveTrend, is needed to not miss good entry points. Also, Mr.Carter uses simple momentum indicator , while I have used a different method (linreg based) to plot the histogram.

More info:
– Book: Mastering The Trade by John F Carter

(Description from the original author of this indicator LazyBear, all credits go to him).


Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Al Wikah • 04/23/2020 #

    Bonjour Nicolas,
    Merci pour votre formidable travail de codage et de partage.
    Je n’ai pas trouvé le moyen de vous contacter directement, alors je me permets de le faire à travers ce commentaire.
    Je me forme depuis peu (2 ans) à la bourse et au trading et débute dans l’apprentissage du code via PRT.
    Pas mal d’indicateurs que j’ai utilisés mais, je constate que rien ne remplace une bonne stratégie.
    Quels livres ou formations sur les stratégies de trading me recommanderiez-vous ‘(en FR & EN)?
    Merci d’avance pour le retour.

  2. Violet • 04/23/2020 #

    Nicolas and readers, a warning:

    the code in prc_squeezemomentumindicator.itf is *not* the same as the one shown in the verbose explanation.
    The .itf file contains several errors.

    • Nicolas • 04/23/2020 #

      Not at all, we have tested it and it is the right file that contains the same code as the one described in this post. I feel that you have imported another file instead? There is another squeeze momentum indicator in the library.

    • imokdesign • 348 days ago #

      @nicolas ,if in want to “call” this indicator, which values i have to write down?

  3. Violet • 04/23/2020 #

    I downloaded the .itf it again. This time the .itf version is different from the one I downloaded earlier this morning.
    But it still contains an error. You declare a mult variable:
    //mult = 2.0 //BB MultFactor
    and do not use it in the code.

    • Nicolas • 04/23/2020 #

      in this case, change the line 18 with:
      dev = mult * std[length](source)

  4. crolakstrading • 04/23/2020 #

    HI, Nicolas thanks very much for this indicator. Any possibility of making a screener for this to get a signal when the first grey cross and first histogram up or down close. to get a signal?

  5. rama • 04/23/2020 #

    This indicator is not picking up in automated program when the value crosses over or under zero

    • Nicolas • 04/23/2020 #

      it should

    • crolakstrading • 04/23/2020 #

      That’s great!! do you have any plans on making the screener? I did try to make the screener for this.. it’s really really complicated for me and failed big time 🙂

  6. Gianno82 • 04/23/2020 #

    Hi Nicolas, thank you very much for your suggestions.
    What does dark grey7red columns mean? It’s meaning an uptrend (dark red) and a downtrend (dark grey)…is it right?
    Thank you very much
    bye for now

    • Nicolas • 04/23/2020 #

      yes, a reversal of the current trend.

  7. crolakstrading • 04/23/2020 #

    length = 20 //BB Length
    mult = 2.0 //BB MultFactor
    lengthKC= 20 //KC Length
    multKC = 1.5 //KC MultFactor
    useTrueRange = 1 //0=false;1=true Use TrueRange (KC)
    // — end of settings

    // Calculate BB
    source = customclose
    basis = average[length](source)
    dev = multKC * std[length](source)
    upperBB = basis + dev
    lowerBB = basis – dev

    // Calculate KC
    ma = average[lengthKC](source)
    if useTrueRange then
    irange = tr
    irange = (high – low)
    rangema = average[lengthKC](irange)
    upperKC = ma + rangema * multKC
    lowerKC = ma – rangema * multKC

    sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
    sqzOff = (lowerBB upperKC)
    noSqz = (sqzOn = 0) and (sqzOff = 0)

    data = source – (highest[lengthKC](high)+lowest[lengthKC](low)+average[lengthKC](close))/3
    val = linearregression[lengthKC](data)
    Result = 0
    if val>0 then
    if val>val[1] then
    Result = 9
    if val<val[1] then
    Result = 3
    SCREENER[result] (result AS "SqueezeMI")

    • mscharstrom • 04/23/2020 #

      Didnt work for me, would love to have this as a screener!

  8. Samurai • 04/23/2020 #

    Ciao Nicolas, complimenti per gli screener che condividi con noi sono il top!
    Volevo chiederti se potevi creare uno screener che trovava le azioni con i fondamentali migliori.

  9. FVtrading • 04/23/2020 #

    Good morning I’m new on the forum and on the platform. First of all thanks for the work done with this indicator. I’ve a question, how can I do a Proback test with this indicator? Many Thanks

  10. Jan • 04/23/2020 #

    Hallo FVtrading,
    if I understand you question correctly, and you want to use this indicator, do the following: download file as attached above Filename : prc_squeezemomentumindicator.itf , read eventual manual, clicking on the link above “How to import ITF files into ProRealTime platform?”, go to your PRT environment, and click on Import at the Indicators, then select the downloaded file, and it will be attached to your indicators and ready to run if selected. Success

    • FVtrading • 04/23/2020 #

      My point is that on the book Carter says that “Once the first gray dot appears after a series of black dots, I go long if the histogram is above zero”. My problem is that If I try to do the backtest on Prorealtime , I see that I should use the graphic condition but I’m not able to translate this input “first gray and Histogram below zero” in a codniton to backtest. Many thanks

  11. ran2019 • 04/23/2020 #

    Hello Nicolas, I am new for trading, Could you please tell me if TTM squzee works on Tradingview OR MT4, How do I download it, I have basic knowledge in computers, Thank You Nicolas

    • Nicolas • 04/23/2020 #

      All codes here are made to be used with Prorealtime trading platform, open a free account on http://www.prorealtime.com

  12. Xtian • 04/23/2020 #

    Bonjour Nicolas, Merci pour votre travail de codage et de partage. J’ai bien télécharger votre indicateur et fais la modification qui produisait une erreur sur la ligne 18 avec:
    dev = mult * std [longueur] (source)
    Cependant votre indicateur ne s’affiche toujours pas dans mes graphes.

  13. Gaby333 • 04/23/2020 #

    not working the same thing as xtian saying?

  14. fucode • 04/23/2020 #

    I need to calculate this in excel. Is it posible ? how ?

  15. JJMR • 04/23/2020 #


Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+10 more likes

Related users ' posts
RICOU Bonjour, quelle est la meilleure UT pour travailler avec cet indicateur?
FXtonio @RICOU en 1 minutes avec un filtre de tendance ZLSMA 200 et eventuellement un rsi 7 , 69% de...
JC_Bywan For people interested in the screener: https://www.prorealcode.com/topic/screener-buy-sell-m...
LUCTRUONG78 Merci beaucoup Nicolas, Il a l'air vraiment interessant. Je vais le tester ;-)
Nolubok Bonjour de la Bretagne, merci Nicolas toujours parfait! (serait il possible d'avoir le SCR ? )
Nicolas Merci de formuler la demande dans le forum des screeners.
4 months ago
geroniman bonjour si je comprends bien, qaund els points sont verts on regarde pour un long, le blanc ...
Alfy No, the dots only show the compression of the volatility. There are 3 levels of "squeeze" wh...
ted.hulsman Hi Alfy, I'm trying to understand your indicator, so I made the Bollinger Bands and the Kelt...
Khaled Thank you Nicolas! Looks like TDI (Trader Dynamic Index). Interesting to give Exit Signal as...
Nicolas ColorBetween is an instruction added last year: https://www.prorealcode.com/documentation/co...
10 months ago
Range Factor
Range Factor
1 year ago
Stenozar Hi Sever, how can I visualize the coloured areas?
Sever Hi Stenozar, You need to add the color zones yourself , just go to Add Color Zone To set ...
bab el franco hello once installed I have no results despite different options of markets or temporality
Boris Hi IVMcm, thanks for your amazing work. I have tested all of your indicators and use some of...
IV Mcm With pleasure and thanks!
ashiash how to use this indicator can i use tradingview platform
Nicolas Sorry there was a small issue in the code, i have changed the attached itf file and updated ...
Mitchy14 Hi Nicholas, apologies, I am usually fairly good at implementing your creations (for which I...
Nicolas Are you using PRT version pre-v11? TIMEFRAME for indicators is possible since months for pro...
Seabiscuit Hi! I like this indicator a lot, been using it on a 30 min timeframe and usually confirms my...
Ramahu Bonjour et merci pour cet indicateur ! je l'observe sur les actions du Nasdaq et la plupart ...
IV Mcm Line 68 and 70, you must delete the instruction at the end of the line "" Bordercolor(0,0,0,...
BoutDePain This instruction is for the V11 maybe that you are using V10.3 then you can safely remove it.
Protagonist Bonjour, Je vois l'instruction inRange mais je ne trouve pas sa signification. Pouvez-vous...
3 years ago
Nicolas La définition des couleurs se situent entre les lignes 94 et 118. Selon le type de bougie (h...
Manu35250 Bonjour Nicolas, Est il possible de convertir cet indicateur en screener ? J'essaie depui...
Nicolas Bien sûr, merci de formuler la demande dans le forum approprié en respectant les règles de p...
PHAN100 bonjour, bravo à l'auteur pour cet indicateur visuel sur le graphique, il nous reste à va...
Nicolas Merci d'ouvrir un sujet dans le forum des screeners en respectant les règles de publication ...
Pensera Bravo Nicolas ! Tu es en quelque sorte l’inventeur de Metascore…(oups je viens de lire jusqu...
Nicolas Dans un but d'investissement pure, et non spéculatif.
Fabian Hi Thomas, thanks for your explanations. Which indicator do you use in the screenshot ...
Thomas Thats On Balance Volume and Bollinger or SMA or what you want. It shows me the volume flow. ...
bertrandpinoy @MAKSIDE I would be grateful if you send me your version. have a nice day