The setup that made me stop chasing every pullback
I spent about three years marking up every Bollinger Band squeeze I could find across different timeframes, writing down how they played out, and watching most of them go nowhere or reverse immediately. What I ended up with was a much simpler way to look at momentum, one that relies on the TTM Squeeze Trading Strategy as built into TradingView by John Carter's interpretation. It didn't make me rich overnight. It did cut my false breakout trades roughly in half over a two-month testing window on ES futures, 5-minute charts. Most people describe it as a volatility squeeze indicator. That is accurate but incomplete. The core mechanic compares two ranges: the Bollinger Band width, which captures standard deviation relative to a 20-period simple moving average, and the Keltner Channel width, which uses a 20-period EMA multiplied by a 1.5 average true range multiplier. When the Bollinger Bands contract inside the Keltner Channels, the code flag it as a squeeze bar. You see those as small gray or black dots on the sub-chart. When the bands expand past the Keltner Channels again, the dots turn red or green depending on directional bias. The histogram below the dots uses a zero-line crossover. When the histogram bars are moving toward zero during a squeeze, momentum is losing steam before the breakout. When they are moving away from zero, the breakout has conviction. This is where most traders get it wrong. They treat the dot color as an entry signal. The dot color alone tells you nothing useful about timing. It only confirms that the squeeze has released.
How to set it up without overcomplicating things
Add the "TTM Squeeze" indicator from the community library on TradingView. The default settings are fine: 20 periods for both bands, 1.5 for the Keltner multiplier, and 2.0 standard deviations for the Bollinger calculation. Do not change these unless you have a specific reason tied to a particular asset's historical behavior. I tried tightening the Bollinger to 1.8 on gold during high-volatility sessions and ended up with twice as many false dots for no improvement in entry quality. Filter the squeeze on a single timeframe. I used the 5-minute chart for day trading and the daily chart for swing positions. Do not mix the two signals together. A squeeze on the daily does not override a fake breakout signal on the 5-minute. I learned that after losing about four consecutive micro accounts in late 2023 because I was taking 5-minute squeeze breakouts while the daily histogram was already pointing against my position. Here is what I actually look at before entering: the histogram direction relative to the zero line, the presence of at least three consecutive squeeze dots showing compression, and the price action breaking a clear recent high or low with a full candle close, not a wick. The breakout candle needs to close outside the most recent swing point. A spike that immediately retracts usually means smart money distributed into the breakout liquidity.
When it fails and why
The TTM Squeeze Trading Strategy performs poorly in low-volume sessions and choppy markets. Asian session for European indices, lunchtime on US equity sessions, and earnings-adjacent windows are where this breaks down most often. Volume drops, the squeeze fires, and price goes nowhere because there is no real participant demand pushing it. I stopped trading squeezes during the first thirty minutes after the opening bell on index futures. That window alone accounts for roughly 60 percent of my failed squeeze setups pre-filter. Another failure mode is the multi-squeeze trap. Price can compress multiple times in a row within a defined range, each time producing a valid dot sequence, each time breaking out weakly. You end up giving back more than you gained across three or four attempts. The workaround I use now is a hard rule: if two consecutive squeeze breakouts in the same direction fail within a two-bar rejection window, I stop taking further signals on that side until a fresh squeeze cycle completes on a higher timeframe. That typically saves about eight to twelve hours of screen time per week that would have been wasted on repetitive losses. One specific edge case I ran into involves the SPY ETF during extended-hours overlap with Nasdaq futures rotation. The squeeze dot would fire on a green candle during pre-market, but the actual session open would immediately push price back against it. The fix was straightforward: I required the breakout candle to close after 9:45 AM Eastern on equities. Any signal generated before that window was ignored unless the daily histogram was strongly aligned with it, which happened maybe once every other week.
Get the Full Details

Position sizing and exit logic
Entry is one thing. Managing the trade is where the math actually matters. I size squeeze trades at half my normal position size. The reason is simple: squeeze breakouts have higher failure rates than most indicators suggest because the setup looks easy to everyone. If you double-size a 35 percent win-rate edge, you will blow up slower than if you double-size a 55 percent edge. A squeeze trade is closer to 35 to 40 percent win rate when executed mechanically without discretion. Exit using a trailing stop based on the most recent swing low or high, whichever applies to your direction. For a long breakout, trail below the last lower wick that formed during the impulse leg. For a short, trail above the last higher wick. I do not use a fixed percentage stop on squeeze trades. It is too rigid. TheATR-based trailing stop set at 1.2 times the 14-period ATR works better for this strategy. It adjusts to volatility expansion automatically. If the histogram flips back across zero while your trade is still open, close it immediately. That is the clearest early warning that momentum has shifted before price action confirms it. Holding through a histogram reversal usually costs you two to three times what the earlier exit would have cost in slippage and spread.
What to pair it with
Volume profile is the most useful companion. A squeeze breakout that aligns with a known value area high or low has a measurably higher success rate. I track the POC and HVN from the previous session. Breakouts moving away from HVN into vacuum zones tend to extend. Breakouts moving back toward dense volume nodes tend to reverse or stall within one to three bars. Market structure on a higher timeframe matters more than any additional indicator. If the daily trend is clearly down and you see a squeeze long signal on the 5-minute, it is a counter-trend squeeze. Those work sometimes, but they require tighter stops and smaller size. I treat them as reduced-alpha setups rather than primary entries. The edge is there, it is just thinner. The main limitation of this approach is that it does not predict direction. It only confirms compression and release. You still need your own filter for which way price is likely to move after the release. If you rely solely on the dot color and histogram without understanding the broader structure, you are gambling with a fancy visualization. That is honest enough to write down upfront.
Getting the tool and running it properly
The indicator itself is free on TradingView. Search for "TTM Squeeze" by TraderJC or the official version labeled "TTM Squeeze" in the public library. The free version includes the dots, histogram, and baseline colors. No paid tier is required for the core functionality. Some community scripts add extra layers like multi-timeframe alignment dots, but those add visual clutter without improving the actual signal quality for most users. Backtesting this on TradingView takes roughly forty-five minutes to set up a clean test on ES futures using the 5-minute data from the past ninety days. Start with a simple rule set: enter on the first candle that closes beyond the squeeze dot signal, exit on ATR trailing stop or histogram reversal, whichever triggers first. Run it on a demo account for two weeks before going live. The difference between theoretical performance and live execution on squeeze trades is typically a 15 to 25 percent degradation due to slippage and emotional entries. The strategy is not a standalone system. It is a compression filter. The real work happens in the setup around it: timeframe selection, session awareness, volume context, and disciplined exits. I have seen traders make this work well by treating it like a timing tool rather than a prediction tool. I have also seen the same traders lose heavily by treating it like a crystal ball. The signal itself is neutral. The context makes it usable or useless.
