TTM Squeeze: Mastering Market Momentum & Volatility
Learn how to identify powerful breakout opportunities and capitalise on market momentum using John Carter's TTM Squeeze indicator.
Spot the Squeeze
Identify low-volatility coiling before explosive moves
Read Momentum
Use the histogram to gauge breakout direction and strength
Time Your Entry
Enter precisely as the squeeze fires and momentum confirms
Core Concept
When Bollinger Bands contract inside Keltner Channels, the market is coiling — a breakout is imminent
What Is the TTM Squeeze?
The TTM Squeeze is a momentum-based indicator developed by trader and author John Carter, popularised in his book Mastering the Trade. It combines two volatility tools — Bollinger Bands (BB) and Keltner Channels (KC) — with a momentum oscillator to identify periods when the market is coiling before a high-probability breakout move.
The core insight is elegant: when Bollinger Bands squeeze inside Keltner Channels, volatility is at a low and the market is building energy. When the Bands expand back outside the Channels, that energy is released — often in a powerful directional move. The momentum histogram then tells you which way to trade.
The Two-Part Signal:
Part 1 — The Squeeze Alert
Bollinger Bands are inside Keltner Channels → squeeze is ON (red dot)
Part 2 — Momentum Direction
Rising green bars → bullish momentum. Falling red bars → bearish momentum
How the TTM Squeeze Works: The Components
1. Bollinger Bands (BB)
Bollinger Bands plot two standard deviations above and below a 20-period simple moving average. They expand during high volatility and contract during low volatility. A narrow band width signals that the market is in a period of compression — the calm before the storm.
2. Keltner Channels (KC)
Keltner Channels use Average True Range (ATR) to set their width around an exponential moving average. Because ATR-based channels are generally smoother and wider than standard deviation-based bands, they serve as a reliable reference envelope against which the BB width is measured.
3. The Squeeze Dot
The squeeze condition is visualised as a dot on the zero line of the momentum histogram. A red dot means the squeeze is active — BB is inside KC, and energy is building. A green dot means the squeeze has fired — BB has expanded outside KC and a move is underway. A grey dot (in some implementations) means no squeeze is present.
Key insight: The longer the squeeze lasts (more consecutive red dots), the more energy is being stored. Extended squeezes often precede the most powerful breakout moves.
4. The Momentum Histogram
The histogram is derived from a linear regression of price momentum. Its colour and direction are what determine your trade bias — not just whether bars are above or below zero, but whether they are increasing or decreasing in value:
- Bright green (rising above zero) — strong bullish momentum building
- Dark green (falling above zero) — bullish momentum fading; consider tightening stops
- Bright red (falling below zero) — strong bearish momentum building
- Dark red (rising below zero) — bearish momentum fading; look for reversal signals
Reading TTM Squeeze Signals: Step by Step
Follow this sequence each time you assess a potential TTM Squeeze setup:
- Identify the squeeze — Look for consecutive red dots confirming BB is inside KC. The more dots, the greater the build-up.
- Wait for the fire — The squeeze fires when the dot turns green (BB expands outside KC). This is your alert that a move has begun.
- Read histogram direction — Check whether the histogram bars are green and rising (long bias) or red and falling (short bias) at the moment the squeeze fires.
- Confirm with price action — Look for a candlestick confirmation in the direction of the histogram — a strong close, a breakout candle, or a supply/demand zone breach.
- Manage the trade — Monitor histogram colour changes for signs of fading momentum. Dark green or dark red bars signal that the move may be exhausting.
Example: EUR/USD on the 4H chart shows 8 consecutive red dots with tightening price action inside a range. When the dot turns green and the histogram prints a rising bright green bar, a long entry above the range high (confirmed by a bullish engulfing candle) aligns all three elements: squeeze fired, momentum bullish, price confirmed.
TTM Squeeze Signal Summary
| Dot Colour | Histogram | Signal | Action |
|---|---|---|---|
| Red | Any | Squeeze active — coiling | Wait — prepare for breakout |
| Green | Rising bright green | Squeeze fired — bullish | Look for long entry |
| Green | Falling bright red | Squeeze fired — bearish | Look for short entry |
| Green | Dark green / dark red | Momentum fading | Tighten stops / consider exit |
Implementing the TTM Squeeze in MQL5
The following MQL5 example calculates the core squeeze condition — whether Bollinger Bands are currently inside Keltner Channels — and evaluates the momentum histogram direction to produce a trade bias signal:
// TTM Squeeze Parameters
input int BB_Period = 20;
input double BB_Mult = 2.0;
input int KC_Period = 20;
input double KC_Mult = 1.5;
input int Mom_Period = 12;
//--- Returns true if squeeze is active (BB inside KC)
bool IsSqueezeActive(int shift = 0)
{
double close = iClose(_Symbol, PERIOD_CURRENT, shift);
double bbUpper = iBands(_Symbol, PERIOD_CURRENT, BB_Period, 0, BB_Mult, PRICE_CLOSE, MODE_UPPER, shift);
double bbLower = iBands(_Symbol, PERIOD_CURRENT, BB_Period, 0, BB_Mult, PRICE_CLOSE, MODE_LOWER, shift);
double bbWidth = bbUpper - bbLower;
// Keltner Channel: EMA +/- (ATR * multiplier)
double ema = iMA(_Symbol, PERIOD_CURRENT, KC_Period, 0, MODE_EMA, PRICE_CLOSE, shift);
double atr = iATR(_Symbol, PERIOD_CURRENT, KC_Period, shift);
double kcWidth = 2.0 * KC_Mult * atr;
return (bbWidth < kcWidth);
}
//--- Returns momentum value (linear regression of delta)
double GetMomentum(int shift = 0)
{
double midBB = iMA(_Symbol, PERIOD_CURRENT, BB_Period, 0, MODE_SMA, PRICE_CLOSE, shift);
double ema = iMA(_Symbol, PERIOD_CURRENT, KC_Period, 0, MODE_EMA, PRICE_CLOSE, shift);
double delta = iClose(_Symbol, PERIOD_CURRENT, shift) - ((midBB + ema) / 2.0);
// Simple proxy for linear regression momentum
return delta;
}
void OnStart()
{
bool squeezeOn = IsSqueezeActive(0);
bool squeezeWas = IsSqueezeActive(1); // Previous bar
double momCurrent = GetMomentum(0);
double momPrevious = GetMomentum(1);
string squeezeStatus = squeezeOn ? "SQUEEZE ON (Red Dot)" : "SQUEEZE OFF (Green Dot)";
Print("Squeeze Status: ", squeezeStatus);
// Detect squeeze firing (was on, now off)
if(!squeezeOn && squeezeWas)
{
if(momCurrent > 0 && momCurrent > momPrevious)
Print(">>> BULLISH FIRE: Squeeze released with rising positive momentum — consider LONG");
else if(momCurrent < 0 && momCurrent < momPrevious)
Print(">>> BEARISH FIRE: Squeeze released with falling negative momentum — consider SHORT");
else
Print(">>> SQUEEZE FIRED: Momentum direction unclear — wait for confirmation");
}
// Momentum fade warning
if(!squeezeOn)
{
if(momCurrent > 0 && momCurrent < momPrevious)
Print("Momentum fading (dark green) — tighten stops on longs");
if(momCurrent < 0 && momCurrent > momPrevious)
Print("Momentum fading (dark red) — tighten stops on shorts");
}
}
Best Practices for Trading the TTM Squeeze
The TTM Squeeze is most effective when used as a timing and confirmation tool rather than a standalone system. Apply these best practices to get the most from it:
1. Use Higher Timeframes for Context
Always check whether the squeeze on your entry timeframe aligns with the trend on a higher timeframe. A bullish squeeze firing on the 1H chart carries far more weight when the 4H and Daily charts are also in an uptrend.
2. Combine with Supply and Demand Zones
A squeeze that fires directly at a key demand zone (for longs) or supply zone (for shorts) dramatically increases the probability of a sustained move. The zone provides a structural reason for the breakout; the squeeze provides the timing.
Example: Price has been ranging at a strong weekly demand zone. The TTM Squeeze shows 6 red dots with tightening Bollinger Bands. When the squeeze fires green with a rising histogram and price closes above the zone, you have a confluence-backed long entry.
3. Avoid Trading Against the Histogram
Never fade a strongly rising or falling momentum histogram immediately after a squeeze fires. The momentum oscillator reflects real directional conviction — trading against it sharply increases the risk of being caught in a fast-moving breakout.
4. Beware of False Fires
Not every squeeze fire leads to a sustained trend. In choppy or ranging markets, squeezes may fire and reverse quickly. Always require a confirmed price action signal — such as a strong engulfing candle or a clean breakout close — before entering.
5. Monitor Histogram Fade for Exit Timing
The shift from bright green to dark green (or bright red to dark red) in the histogram is your early warning that momentum is waning. This is a signal to start tightening your trailing stop rather than waiting for a full reversal.
TTM Squeeze vs Other Momentum Tools
| Indicator | Strength | Limitation |
|---|---|---|
| TTM Squeeze | Combines volatility compression + momentum direction in one view | Can produce false fires in choppy, low-volume markets |
| MACD | Good for trend confirmation and divergence | No volatility compression component; lags in fast markets |
| RSI | Simple overbought/oversold levels; widely used | Does not identify squeeze conditions or breakout timing |
| Bollinger Band Width | Directly measures volatility compression | No directional bias; needs pairing with a momentum tool |
Optimising Your TTM Squeeze Settings
The default TTM Squeeze parameters work well across most markets, but understanding what each setting controls lets you fine-tune the indicator for specific instruments, timeframes, and volatility conditions. Small changes to these inputs can meaningfully affect the sensitivity and reliability of signals.
| Parameter | Default | Effect of Increasing | Effect of Decreasing |
|---|---|---|---|
| BB Period | 20 | Smoother bands; fewer, higher-quality squeezes | Noisier bands; more frequent but less reliable squeezes |
| BB Multiplier | 2.0 | Bands widen; harder for squeeze to trigger | Bands narrow; squeeze triggers more easily (more false signals) |
| KC Period | 20 | Smoother channels; more stable squeeze reference | Channels react faster to volatility spikes |
| KC Multiplier | 1.5 | Channels widen; squeeze fires more easily (more signals) | Channels narrow; squeeze becomes harder to trigger |
| Momentum Period | 12 | Smoother histogram; fewer but more reliable directional cues | Noisier histogram; reacts faster but produces whipsaws |
Recommended Settings by Timeframe
Lower timeframes are inherently noisier, so tightening the KC multiplier slightly (e.g. from 1.5 to 1.3) on the M15 or H1 helps filter out weaker squeezes. On the Daily or Weekly chart, the default settings generally work well as volatility is naturally smoother. For volatile pairs like GBP/JPY or GBP/USD, consider widening the BB multiplier to 2.2 to avoid over-triggering on normal price noise.
The "No Squeeze" Zone
Some implementations include a third dot state (grey or blue) indicating that neither a squeeze is active nor has one just fired — the market is in a normal volatility environment. Trading during this state with TTM Squeeze is generally inadvisable; the indicator's edge comes specifically from the compression-and-release dynamic.
Multi-Timeframe TTM Squeeze Strategy
Using the TTM Squeeze across multiple timeframes is one of the most powerful ways to increase signal quality and reduce false fires. The principle is straightforward: the higher timeframe provides directional bias, and the lower timeframe provides precise entry timing.
The Three-Timeframe Framework
Tier 1 — Direction
Daily / 4H
Confirm the squeeze direction. If the 4H histogram is green, only look for long setups on lower timeframes.
Tier 2 — Setup
1H / 30M
Identify an active squeeze with red dots building. Await the fire that aligns with Tier 1 bias.
Tier 3 — Entry
15M / 5M
Pinpoint the entry candle once the lower timeframe squeeze fires and momentum confirms direction.
Step 1 — Establish Higher Timeframe Bias
Open the Daily or 4H chart and assess the TTM Squeeze histogram. If it is green and rising, the macro momentum is bullish — you should only be looking for long trades on lower timeframes. If it is red and falling, your bias is bearish. If the histogram is mixed, near zero, or in the midst of a crossover, the macro picture is unclear and discretion is required.
Pro tip: If the Daily chart is itself showing a fresh squeeze fire (dot just turned green) with rising momentum, the probability of a sustained trend continuation on lower timeframes is significantly elevated.
Step 2 — Find an Active Squeeze on the Setup Timeframe
Drop to your setup timeframe (1H or 30M) and scan for red dots. The more consecutive red dots present, the more energy has been stored. Ideally you want to see price consolidating within a tight range on this timeframe, confirming that the BB compression is matching actual price behaviour rather than just a statistical artefact.
Step 3 — Confirm with the Entry Timeframe
Once the setup timeframe squeeze fires in the direction of your higher timeframe bias, move to the entry timeframe (15M or 5M) to time the candle. Look for a strong close in the breakout direction, ideally through a minor resistance (for longs) or support (for shorts) level. Place your stop below the last swing low (longs) or above the last swing high (shorts).
When Timeframes Conflict
When the higher timeframe histogram is bearish but the lower timeframe squeeze fires bullish, this is a counter-trend setup. These can work, but the probability is lower and the move is typically shorter-lived. The best approach in this scenario is to either skip the trade or significantly reduce position size and target a nearby resistance level rather than holding for a full trend move.
Multi-Timeframe Confluence Checklist
-
1Higher timeframe (Daily/4H) histogram aligns with intended trade direction
-
2Setup timeframe (1H/30M) has 4+ consecutive red dots before the fire
-
3Squeeze fires in same direction as higher timeframe bias
-
4Entry timeframe (15M/5M) shows a confirmed breakout candle in the trade direction
-
5No major news event within 30 minutes of entry (avoid fundamental volatility spikes)
-
6Risk/reward ratio of at least 1:2 achievable to the next structural level
Backtesting Forex EAs with TTM Squeeze Logic
Incorporating TTM Squeeze logic into an EA's backtesting framework allows you to objectively evaluate how well the indicator performs across historical data before committing real capital. When backtesting squeeze-based systems, there are specific considerations that differ from testing simpler indicators.
1. Use Tick Data or High-Quality OHLC Data
Bollinger Band and Keltner Channel calculations are highly sensitive to the quality of historical price data. Standard MetaTrader broker data often has gaps, repainting issues on lower timeframes, and inconsistent spread values that distort backtest results. For serious squeeze-based EA testing, use tick data providers such as Dukascopy or Tickstory to ensure the compression and expansion of bands is calculated accurately.
2. Test Across Multiple Market Regimes
The TTM Squeeze performs differently in trending versus ranging markets. A robust EA should be backtested across periods that include at least one prolonged trending phase, one extended ranging phase, and at least one high-volatility event period (e.g. a major NFP run, a central bank rate cycle). If the EA only performs well during trending phases, it is not genuinely robust.
Benchmarking tip: Split your backtest data into thirds — in-sample (for parameter selection), out-of-sample (for validation), and walk-forward (for real-world simulation). A squeeze EA that degrades significantly in the out-of-sample period is likely curve-fitted to the in-sample data.
3. Track Squeeze Duration vs Trade Outcome
Log the number of consecutive red dots preceding each squeeze fire and cross-reference it against the subsequent trade outcome (win/loss, pip movement, max adverse excursion). This analysis often reveals a meaningful relationship: longer squeezes tend to precede larger and more sustained moves. Your EA can use this data to filter out short squeezes (e.g. fewer than 3 red dots) and only trade fires following extended compression.
4. Measure False Fire Rate
Track how often a squeeze fires but fails to produce a directionally consistent move of at least 1× ATR within the next 3–5 bars. A false fire rate above 40% suggests that your current parameter settings or market filter is insufficient, and that additional confluence criteria (e.g. session filter, trend filter, S&D zone filter) should be incorporated into the EA's entry logic.
MQL5 Example: Logging Squeeze Duration and Fire Events
// Tracks consecutive squeeze bars and logs fire events for analysis
input int BB_Period = 20;
input double BB_Mult = 2.0;
input int KC_Period = 20;
input double KC_Mult = 1.5;
input int MinDots = 4; // Minimum red dots before accepting a fire
int g_squeezeDuration = 0;
bool g_wasSqueezing = false;
//--- Called on each new bar
void OnTick()
{
static datetime lastBar = 0;
datetime currentBar = iTime(_Symbol, PERIOD_CURRENT, 0);
if(currentBar == lastBar) return;
lastBar = currentBar;
bool squeezeNow = IsSqueezeActive(1); // Use closed bar (shift=1)
double momNow = GetMomentum(1);
double momPrev = GetMomentum(2);
if(squeezeNow)
{
g_squeezeDuration++;
g_wasSqueezing = true;
}
else
{
// Squeeze just fired
if(g_wasSqueezing)
{
string direction = (momNow > 0 && momNow > momPrev) ? "BULLISH" :
(momNow < 0 && momNow < momPrev) ? "BEARISH" : "UNCLEAR";
if(g_squeezeDuration >= MinDots)
{
PrintFormat("FIRE | Time: %s | Duration: %d bars | Direction: %s | Momentum: %.5f",
TimeToString(currentBar), g_squeezeDuration, direction, momNow);
}
else
{
PrintFormat("FILTERED FIRE | Duration: %d bars (below MinDots=%d) | Direction: %s",
g_squeezeDuration, MinDots, direction);
}
}
g_squeezeDuration = 0;
g_wasSqueezing = false;
}
}
//--- Reuse squeeze / momentum helpers from prior example
bool IsSqueezeActive(int shift)
{
double bbUpper = iBands(_Symbol, PERIOD_CURRENT, BB_Period, 0, BB_Mult, PRICE_CLOSE, MODE_UPPER, shift);
double bbLower = iBands(_Symbol, PERIOD_CURRENT, BB_Period, 0, BB_Mult, PRICE_CLOSE, MODE_LOWER, shift);
double atr = iATR(_Symbol, PERIOD_CURRENT, KC_Period, shift);
return ((bbUpper - bbLower) < (2.0 * KC_Mult * atr));
}
double GetMomentum(int shift)
{
double midBB = iMA(_Symbol, PERIOD_CURRENT, BB_Period, 0, MODE_SMA, PRICE_CLOSE, shift);
double ema = iMA(_Symbol, PERIOD_CURRENT, KC_Period, 0, MODE_EMA, PRICE_CLOSE, shift);
return iClose(_Symbol, PERIOD_CURRENT, shift) - ((midBB + ema) / 2.0);
}
Key Backtest Metrics to Track for Squeeze EAs
| Metric | What It Reveals | Target |
|---|---|---|
| False Fire Rate | % of fires that failed to produce a 1×ATR move | Below 40% |
| Avg Squeeze Duration | Mean red dot count before fires on winning trades | 4+ bars ideal |
| Win Rate by Direction | Separate win rates for bullish vs bearish fires | Balanced or strategy-dependent |
| Profit Factor by Regime | How PF changes across trending vs ranging periods | PF > 1.3 in all regimes |
| Max Adverse Excursion | How far price moved against you before turning profitable | Should not exceed planned stop |
Common Mistakes When Trading the TTM Squeeze
Even experienced traders make avoidable errors when applying the TTM Squeeze. Understanding these pitfalls in advance — and knowing how to counter them — separates consistent performers from those who cycle through the indicator without lasting success.
❌ Mistake 1: Entering on the First Red Dot
The red dot tells you a squeeze has begun — it does not tell you when to enter. Entering as soon as the first red dot appears is premature; price may continue ranging for many more bars, and there is no directional signal yet. Wait for the fire (green dot) and momentum confirmation before considering an entry.
Fix: Only enter after the dot turns green AND the histogram confirms direction. The red dot phase is your preparation window, not your entry signal.
❌ Mistake 2: Ignoring the Histogram at Entry
Some traders see the green dot (fire) and enter without checking the histogram direction. If the squeeze fires but the histogram is barely off zero, unclear, or moving in the wrong direction relative to your bias, the setup lacks conviction. The histogram is the second half of the signal — without it, you have a volatility event but no directional edge.
Fix: Treat fire + histogram direction as a single compound signal. Both must be present and aligned before entering.
❌ Mistake 3: Using the TTM Squeeze in Isolation
The TTM Squeeze is a momentum and volatility timing tool — it is not a standalone trading system. Using it without reference to market structure, supply and demand zones, higher timeframe trend, or session context leads to taking trades at structurally poor locations, even when the squeeze signal itself looks clean.
Fix: Always anchor squeeze signals to a broader market context. A bullish fire at a weekly demand zone with higher timeframe uptrend bias is a far superior setup to the same fire in the middle of a range.
❌ Mistake 4: Holding Through Histogram Fade
Traders frequently hold positions long after the histogram has started to fade, hoping for a resumption that never comes. When bright green bars turn dark green (or bright red turn dark red), momentum is decelerating. This is not a reversal signal, but it is a clear warning that the move is maturing. Holding through multiple fading bars erodes profits that should have been locked in.
Fix: Set a trailing stop once the histogram begins to fade. Move to breakeven at minimum, or take partial profits at the first sign of dark bars. Let the trade breathe but protect gains.
❌ Mistake 5: Over-Optimising Parameters
Tweaking BB period, KC multiplier, and momentum period until the backtest looks perfect is a form of curve-fitting. The resulting parameter set may perform superbly on historical data but will fail in live trading because it has been tailored to past noise rather than the underlying structural principle. The default 20/2.0/20/1.5 settings exist because they work broadly across instruments and timeframes — trust them unless you have a very specific, data-backed reason to deviate.
Fix: Test parameter changes out-of-sample. If a modified parameter set only improves in-sample performance but degrades out-of-sample, it is curve-fitting. Revert to defaults.
❌ Mistake 6: Trading Squeezes Around Major News Events
Major economic releases — NFP, CPI, FOMC decisions, central bank rate announcements — can cause artificial squeeze conditions as price compresses in the minutes before the release. When the news drops, the resulting spike can fire a squeeze in either direction, often reversing violently within minutes. These are not genuine structural breakouts; they are news-driven volatility events that the indicator cannot distinguish from real squeezes.
Fix: Implement a news filter in your EA or manual trading plan. Do not trade squeezes that fire within 30 minutes of a high-impact news event. Check an economic calendar before every session.
Frequently Asked Questions
What is the best timeframe for the TTM Squeeze in Forex?
The TTM Squeeze works across all timeframes, but the highest-quality signals tend to appear on the 1H, 4H, and Daily charts where price action is less noisy. On the 15M and below, false fires are more common and require additional filters. For swing trading, the 4H chart is widely regarded as offering the best balance between signal frequency and reliability. Day traders often use the 1H for setup identification and the 15M for precise entry timing.
How is the TTM Squeeze different from the Bollinger Band Squeeze?
The Bollinger Band Squeeze is simply a measure of BB width narrowing relative to its own historical range — it tells you volatility is low but gives no directional bias. The TTM Squeeze adds two enhancements: it uses Keltner Channels as a reference threshold (a more robust measure of whether volatility is genuinely compressed), and it pairs the squeeze detection with a momentum histogram that provides a directional read. The result is a more actionable, two-component signal rather than a pure volatility alert.
Can the TTM Squeeze be used on indices, commodities, and crypto?
Yes — the TTM Squeeze is instrument-agnostic and has been applied across equities, ETFs, futures, commodities, and cryptocurrency markets. John Carter himself originally popularised it in stock and futures trading. In Forex, the indicator adapts well, particularly on major and minor pairs. For highly volatile assets like crypto, the BB multiplier is sometimes increased to 2.5 to account for the wider normal price swings and reduce false fire frequency.
How many red dots indicate a strong squeeze?
As a general guideline, 4 or more consecutive red dots is considered a meaningful squeeze worth monitoring. 8 or more red dots represents a strong compression period and is often associated with larger subsequent moves. Anything under 3 dots is considered a weak squeeze and is typically filtered out in professional EA configurations. The absolute number matters less than whether the compression is accompanied by genuinely tightening price action on the chart — a 10-dot squeeze in a pair that is still making large candles is less convincing than a 5-dot squeeze with visibly compressed price bars.
What should I do when the squeeze fires but price immediately reverses?
A squeeze fire that immediately reverses is a false fire — one of the known weaknesses of the indicator in choppy or news-driven markets. If you have a predefined stop below the entry candle's low (for longs) or above its high (for shorts), the stop handles this scenario cleanly. Post-trade, analyse whether the false fire occurred near a major news event, within a known ranging market period, or against a higher timeframe trend — these are the three most common causes and should inform whether to add additional filters to your strategy.
Is the TTM Squeeze available in MetaTrader 4 and MetaTrader 5?
The TTM Squeeze is not a built-in indicator in either MT4 or MT5, but community-built versions are widely available on the MQL5 marketplace and various Forex forums. When selecting an MT4/MT5 version, verify that it correctly implements both the squeeze dot logic (BB width vs KC width) and the momentum histogram — some simplified versions omit the histogram or miscalculate the Keltner Channels using SMA rather than EMA as the midpoint. The MQL5 code examples earlier in this lesson provide the calculation logic you need to verify any third-party implementation.
Key Takeaways
-
The TTM Squeeze identifies volatility coiling by comparing Bollinger Bands width to Keltner Channel width
-
Red dots mean the squeeze is active and energy is building; green dots mean the squeeze has fired
-
The momentum histogram colour and slope determine your trade direction — always trade with the histogram, not against it
-
Longer squeezes (more consecutive red dots) typically precede stronger breakout moves
-
Always combine TTM Squeeze with price action, higher timeframe bias, and key supply/demand zones for the highest-probability setups