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.
Already a subscriber or have purchased a product?
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.
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.
Squeeze Dots
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.
Momentum Histogram
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.
Standard Mode
Ascent Descent Mode
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 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.
Indicator Settings & Parameters
Inputs as they appear in the indicator’s Inputs tab, followed by the plots listed in the Colors tab.
| Parameter | Description |
|---|---|
| License | |
| License Email | The email used for your trial, subscription or purchase. The license is verified with this email. |
| Squeeze | |
| Signal Mode | Standard: 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. |
| Period | Period of the Bollinger Bands, the Keltner Channel and the momentum calculation. Default: 20. |
| Bollinger Bands std. deviation | Standard deviation multiplier of the Bollinger Bands. Default: 2.0. |
| Keltner Channel multiplier | Multiplier of the average high–low range that sets the Keltner Channel width. Default: 1.5. |
| Squeeze length | Minimum number of consecutive squeeze bars before a release for an arrow to be drawn. Default: 1. |
| Max Bars | Number of historical bars calculated. Default: 10,000. |
| MFE/MAE Tracker | |
| Enable Tracker | Turns the MFE/MAE Tracker and its table on or off. Default: false. |
| Enable Opposite Signal | Adds a column that measures each signal until the next opposite signal. Default: true. |
| Calculation Precision | Data used for the excursions: Minute or Tick. Default: Minute. |
| Enable Period 1–4 | Turns each of the four holding periods on or off. Default: true. |
| Period 1–4 Type | Unit of each holding period: Minutes or Days. Default: Minutes. |
| Period 1–4 Value | Length of each holding period. Defaults: 30, 60, 180 and 360. |
| Track Long Signals | Includes buy arrows in the table. Default: true. |
| Track Short Signals | Includes sell arrows in the table. Default: true. |
| Show Indicator Name | Shows 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 Size | Font size of the table. Default: 10. |
| Plots (Colors tab) | |
| SqueezeOn / SqueezeOff | The green and red squeeze dots on the zero line. |
| Buy / Sell | Arrows for squeeze releases. |
| Momentum | Momentum histogram with four colours: rising and falling, above and below zero. |
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.
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
- Get access
Start the free trial, subscribe, or buy a lifetime license on this page.
- 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.
- Copy to the MetaTrader 5 data folder
In MetaTrader 5, go to
File → Open Data Folder, openMQL5 → Indicatorsand copy the downloaded .ex5 file there. - 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.
- 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.
"Best Seller" and "Trending" reflect Nordman Algorithms sales and usage data, January–September 2026.
Disclaimer — Software Use & Risk Disclosure
Nordman Algorithms is a trade name of Nordman Algorithms OÜ (Reg. No. 14435535), registered in Tallinn, Estonia.
Software Use
Software Nature & User Responsibility — Nordman Algorithms provides algorithmic software tools for technical analysis. Nordman Algorithms is not a financial advisor and is not liable for any losses. All trades conducted based on the software’s output are executed at the user’s sole discretion and risk.
Visual Markers & Signal Disclosure — This software may display visual markers (such as arrows, dots, or alerts) when predefined mathematical conditions are met. These markers are provided for educational and analytical purposes only, must not be interpreted as financial guidance, and do not constitute a recommendation to buy, sell, or hold any financial instrument. Users must independently validate all visual cues within their own trading methodology.
No Financial Advice — Nordman Algorithms does not provide discretionary trading signals, investment advice, or managed signal services. Our software represents a mathematical visualization of historical and real-time data. The appearance of a visual marker does not guarantee a profitable trade or predict future market behavior.
Read the full Terms of Service →Risk Disclosure
Trading Risk Warning — Futures, Forex, and options trading involve significant risk. Risk capital is money that can be lost without jeopardizing financial security. Only risk capital should be used for trading. Past performance is not indicative of future results. An investor could potentially lose all or more than the initial amount committed.
ESMA Risk Warning — Financial instruments, especially those involving leverage such as CFDs and Forex, are complex and carry a high risk of rapid financial loss. Our software provides analytical outputs and visual markers based on predefined mathematical conditions and does not mitigate or reduce inherent market risks. You should carefully consider whether you understand how leveraged financial instruments work and whether you can afford the high risk of losing your capital.
CFTC Rule 4.41 — Hypothetical or simulated performance results have inherent limitations. Unlike actual performance records, simulated results do not represent real trading. Because trades have not actually been executed, these results may under- or over-compensate for the impact of market factors such as liquidity. Simulated results are also subject to the benefit of hindsight. No representation is being made that any account will achieve profits or losses similar to those shown.
Read the full Risk Disclosure →Trademark Notice — MetaTrader 5 and MT5 are trademarks of MetaQuotes Ltd. Nordman Algorithms is an independent software developer and is not affiliated with, sponsored by, or endorsed by MetaQuotes Ltd. References to MetaTrader 5 identify software compatibility.
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.


