Request A Free Quote
MetaTrader 5 New Release

MT5 TTM Squeeze Indicator

MT5 TTM Squeeze Indicator shows when Bollinger Bands contract inside the Keltner Channel, marks squeeze releases in the direction of momentum, and plots a momentum histogram in a separate window. Two signal modes, a squeeze-length filter, closed-bar calculation and a built-in MFE/MAE Tracker are included.

MT5 Squeeze Momentum Indicator mt5 ttm squeeze indicator ttm squeeze indicator metatrader 5
5-Day Free Trial Cancel Anytime Continuous Product Updates Mon-Fri Free Support
Lifetime License
€150one-time
This indicator only · 1 PC · No recurring payments · Free updates included
Start Free Trial — 5 Days Free
Try all indicators & trade copiers free. If you don’t cancel within 5 days, a €25/mo subscription starts automatically.

Already a subscriber or have purchased a product?

Overview

TTM Squeeze Explained

The TTM Squeeze, popularised by John Carter, compares two volatility envelopes: Bollinger Bands and a Keltner Channel. When the Bollinger Bands contract inside the Keltner Channel, volatility is compressed; when they expand back outside it, the squeeze is released. A momentum histogram shows the direction of price relative to its recent range.

The MT5 TTM Squeeze Indicator plots this in a separate window below the MetaTrader 5 chart. Dots on the zero line show the squeeze state on every bar: red while the Bollinger Bands are inside the Keltner Channel, green while they are outside it. The momentum histogram is drawn around the zero line and changes shade as momentum rises or falls.

When a squeeze is released, the indicator marks the event with an arrow in the direction of momentum. Two signal modes are available: Standard marks the first bar after the squeeze ends, and Ascent Descent marks the following bar and takes the direction from the slope of the histogram. A squeeze-length filter sets how many squeeze bars must come before a release for it to be marked.

All values are calculated on closed bars only, so the dots, histogram and arrows of a bar do not change once it is drawn. A built-in MFE/MAE Tracker measures how far price moved for and against each marked event over several holding periods and shows the results in a table on the chart.

Capabilities

TTM Squeeze Indicator — Key Features

Squeeze Dots

Dots on the zero line show on every bar whether volatility is compressed.

The indicator compares the upper Bollinger Band with the upper Keltner Channel line on each bar.

  • Red dot — the Bollinger Bands are inside the Keltner Channel: the squeeze is on.
  • Green dot — the Bollinger Bands are outside the Keltner Channel: the squeeze is off.

The Bollinger Bands use the closing price with a 20-bar period and 2.0 standard deviations by default. The Keltner Channel is centred on a 20-bar simple moving average of the typical price, with a width of 1.5 times the 20-bar average high–low range. The period, the standard deviation and the Keltner multiplier are adjustable.

Momentum Histogram

A histogram around the zero line shows the direction and strength of momentum.

The histogram measures where the close stands relative to the middle of the recent range: the average of the 20-bar Donchian midline and the 20-bar simple moving average of the typical price. The result is smoothed with a linear regression over the same period. Bars above zero show price above that reference, bars below zero show price below it.

The shade shows the change from the previous bar: royal blue while momentum is rising, midnight blue while it is falling, on both sides of the zero line. Colours can be changed in the Colors tab.

Squeeze Release Signals

An arrow marks the bar on which a squeeze ends.

A buy arrow is drawn below the zero line and a sell arrow above it, at a distance based on the average size of the histogram. The arrows sit in the indicator window, not on the price chart.

  • Standard mode — the first green dot after a run of red dots. The arrow points in the direction of momentum: buy when the histogram is above zero, sell when it is below.
  • Ascent Descent mode — the second green bar after the squeeze. The direction comes from the slope of the histogram: buy when momentum is rising, sell when it is falling, regardless of which side of zero it is on.

Squeeze Length Filter

Short squeezes can be filtered out.

The Squeeze length setting is the minimum number of consecutive red-dot bars before the release. At the default of 1, every release is marked. Higher values mark only releases that follow a longer period of compression.

Closed-Bar Calculation

Values are calculated when a bar closes.

The dots, the histogram and the arrows are calculated on closed bars only. The forming bar is left empty until it closes, so the values of a bar do not change after they appear. A release is marked once its bar has closed.

Built-In MFE/MAE Tracker

Measures how far price moved for and against each marked release.

When enabled, the tracker takes each buy and sell arrow, uses the close of the signal bar as the reference price, and records the maximum favourable excursion (MFE) and maximum adverse excursion (MAE) over up to four holding periods, set in minutes or days, and optionally until the opposite signal.

The results appear as a table in the indicator window: the median MFE/MAE ratio for long and short signals in each period. An Export button saves the table and the settings to a CSV file. Long and short signals can be tracked separately, and calculations can use minute or tick data.

See how the MFE/MAE Tracker is calculated and how to read the table →

Signals Readable by Expert Advisors

Squeeze state, momentum and signals are stored in indicator buffers.

An Expert Advisor can read the indicator through iCustom() and CopyBuffer(): the green and red squeeze dots in buffers 0–1, the signal direction in buffer 2 (1 for buy, −1 for sell), the buy and sell arrows in buffers 3–4 and the momentum histogram in buffer 5. Bars without a value hold EMPTY_VALUE.

Calculation Depth

The number of historical bars processed is adjustable.

The indicator calculates up to 10,000 bars of history by default. A smaller value loads faster; a larger one shows more past squeezes and gives the MFE/MAE Tracker a larger sample.

How to Use

How to Read and Use the TTM Squeeze

Reading the Squeeze Dots

A row of red dots shows a period of compressed volatility: the Bollinger Bands have narrowed inside the Keltner Channel. The first green dot after the red ones shows that the bands have expanded outside the channel again.

The dots describe volatility only. They do not show direction; that comes from the histogram.

Reading the Momentum Histogram

Bars above zero show the close above the middle of its recent range, bars below zero show it below. Taller bars show a larger distance.

A change of shade shows that momentum has turned: from royal blue to midnight blue when it starts falling, and back when it starts rising. A shade change can come before the histogram crosses zero.

Reading the Arrows

In Standard mode, an arrow marks the first bar after the squeeze ends, pointing in the direction of the histogram at that bar. In Ascent Descent mode, the arrow comes one bar later and follows the slope of the histogram, which can differ from its side of zero.

Arrows mark squeeze releases. A release can be followed by a sustained move, a short move or no follow-through, so the arrows are best read together with the price chart and the trader’s own rules.

Choosing the Settings

The defaults of a 20-bar period, 2.0 standard deviations and a 1.5 Keltner multiplier follow the common TTM Squeeze settings. A lower Keltner multiplier narrows the channel, so fewer bars count as a squeeze; a higher one widens it.

A higher Squeeze length marks only releases after longer compressions, which reduces the number of arrows.

Measuring Signals with the MFE/MAE Tracker

Enable the tracker and set the holding periods that match how long you usually keep a trade. The table shows, for each period, the median ratio between the favourable and the adverse move after the arrows on the loaded history.

The results describe past bars on the current symbol and timeframe with the current settings. Changing the settings, the symbol or the timeframe changes the sample.

Settings

Indicator Settings & Parameters

Inputs as they appear in the indicator’s Inputs tab, followed by the plots listed in the Colors tab.

ParameterDescription
License
License EmailThe email used for your trial, subscription or purchase. The license is verified with this email.
Squeeze
Signal ModeStandard: arrow on the first bar after the squeeze ends, in the direction of momentum. Ascent Descent: arrow on the next bar, in the direction of the histogram’s slope. Default: Standard.
PeriodPeriod of the Bollinger Bands, the Keltner Channel and the momentum calculation. Default: 20.
Bollinger Bands std. deviationStandard deviation multiplier of the Bollinger Bands. Default: 2.0.
Keltner Channel multiplierMultiplier of the average high–low range that sets the Keltner Channel width. Default: 1.5.
Squeeze lengthMinimum number of consecutive squeeze bars before a release for an arrow to be drawn. Default: 1.
Max BarsNumber of historical bars calculated. Default: 10,000.
MFE/MAE Tracker
Enable TrackerTurns the MFE/MAE Tracker and its table on or off. Default: false.
Enable Opposite SignalAdds a column that measures each signal until the next opposite signal. Default: true.
Calculation PrecisionData used for the excursions: Minute or Tick. Default: Minute.
Enable Period 1–4Turns each of the four holding periods on or off. Default: true.
Period 1–4 TypeUnit of each holding period: Minutes or Days. Default: Minutes.
Period 1–4 ValueLength of each holding period. Defaults: 30, 60, 180 and 360.
Track Long SignalsIncludes buy arrows in the table. Default: true.
Track Short SignalsIncludes sell arrows in the table. Default: true.
Show Indicator NameShows the indicator name above the table. Default: false.
Table Width (%)Width of the table as a share of the indicator window. Default: 35.
Table Font SizeFont size of the table. Default: 10.
Plots (Colors tab)
SqueezeOn / SqueezeOffThe green and red squeeze dots on the zero line.
Buy / SellArrows for squeeze releases.
MomentumMomentum histogram with four colours: rising and falling, above and below zero.
FAQ

Frequently Asked Questions

TTM Squeeze Basics

A volatility indicator popularised by John Carter. It shows when Bollinger Bands contract inside a Keltner Channel, a sign of compressed volatility, and when they expand back outside it. A momentum histogram shows the direction of price relative to its recent range.

A red dot means the Bollinger Bands are inside the Keltner Channel and the squeeze is on. A green dot means the bands are outside the channel and the squeeze is off. The first green dot after red ones marks the release.

Standard mode marks the first bar after the squeeze ends and takes the direction from the side of zero the histogram is on. Ascent Descent mode marks the next bar and takes the direction from whether the histogram is rising or falling.

No. All values are calculated on closed bars. The forming bar stays empty until it closes, and the dots, histogram and arrows of a closed bar do not change afterwards.

Signals & Configuration

Raise the Squeeze length so that only releases after a longer run of red dots are marked, or lower the Keltner Channel multiplier so that fewer bars count as a squeeze.

For the buy and sell arrows on the loaded history, it shows the median ratio between the favourable and the adverse price move over each holding period you set, and optionally until the opposite signal. The table can be exported to CSV.

Yes. The signal direction is in buffer 2 (1 for buy, −1 for sell), the squeeze dots in buffers 0–1 and the momentum histogram in buffer 5. Bars without a value hold EMPTY_VALUE.

No. It shows the squeeze state, momentum and release signals. Trade decisions and order execution are up to you.

Requirements & Installation

System Requirements & Installation

What you need to run the indicator, how to download and install it in MetaTrader 5, and how the license works.

System Requirements

Platform
MetaTrader 5 (Desktop)
Operating system
Windows 10 or Windows 11
Instruments
Forex pairs, metals, indices, CFDs and other symbols available from your broker in MetaTrader 5
Data
Your broker’s price feed in MetaTrader 5

Not available on MetaTrader 5 Web or Mobile. Custom indicators run in the MetaTrader 5 desktop terminal only.

License Terms

Lifetime License
This indicator only, 1 live and 1 demo account, one-time payment, free updates included.
All-Access Subscription
All indicators and trade copiers, billed monthly, cancel anytime, updates included while the subscription is active.
Free trial
5 days on the subscription plan. If not cancelled, the subscription starts automatically.
License binding
Linked to your email and to your MetaTrader 5 trading accounts: one live account and one demo account.
Computers
Not restricted. The license is linked to your trading accounts, not to a specific computer.

Installation

  1. Get access

    Start the free trial, subscribe, or buy a lifetime license on this page.

  2. Download

    The indicator is not sent by email. Open (top right of this page) and enter the email you used for your trial, subscription or purchase. The indicator file (.ex5) downloads to your computer.

  3. Copy to the MetaTrader 5 data folder

    In MetaTrader 5, go to File → Open Data Folder, open MQL5 → Indicators and copy the downloaded .ex5 file there.

  4. Add to a chart

    Restart MetaTrader 5 or right-click Indicators in the Navigator window and select Refresh. Then drag the indicator from the Navigator onto a chart.

  5. Activate the license

    In the indicator inputs, enter the same email. On first activation, the license is linked to that email and to the trading account the terminal is logged into.

    The license check needs DLL imports. Allow them in the indicator’s Common tab or under Tools → Options → Expert Advisors. Without them, or without a valid email, the indicator shows a message and does not load.

Updating: When a new version is released, download it again through and replace the existing .ex5 file in the same folder.

Installation questions? Contact support, Monday to Friday.

Developed by Nordman Algorithms

Developed, tested, documented, and maintained by our algorithmic trading software development team.

Meet the Team →
We Value Your Feedback Help us make it better

If you’ve spotted a bug, feel something essential is missing, or have ideas that could make this indicator better — we want to hear it.
Your feedback directly shapes future updates.

Send Feedback →
Custom Programming

Need a different setup?

We can customize this indicator to your specifications: add new functions, modify the logic, refine visuals, or integrate it with other MetaTrader 5 tools. We also convert indicators into Expert Advisors with trailing stops, position parameter controls, execution filters and rule-based automation built to your technical specifications.

Every project is delivered with full source code and post-delivery support. Fixed-price quote before development begins.

Custom Logic Expert Advisor Development Risk & Trailing-Stop Modules Full Source Code