VibeFox Squeeze Momentum
- Indicators
- Version: 1.10
- Updated: 2 July 2026
- Activations: 5
VibeFox Squeeze Momentum — momentum oscillator with squeeze detection and automatic entry signals
VibeFox Squeeze Momentum is a real-time oscillator for MetaTrader 5, based on the Squeeze Momentum concept popularised by LazyBear. It measures the strength and direction of market momentum in a separate subwindow, detects the periods when the market is compressed into a tight range — the squeeze — and marks the exact bar when that compression releases. Two independent entry signals catch the moments a trader cares about most: the momentum crossing its zero line and the squeeze firing. All controls are gathered into one smooth interactive canvas panel on the chart.
What the indicator measures
The indicator works with two layers of information that are calculated simultaneously and displayed together in the subwindow.
The momentum histogram is the core oscillator. Its value is the linear regression of the difference between price and the midpoint of the recent range, smoothed over the KC Length period. Bars above zero show bullish momentum; bars below zero show bearish momentum. Color coding makes the state of momentum readable at a glance: bright Lime for rising positive momentum, darker Green for falling positive momentum, bright Red for falling negative momentum, and Maroon for rising negative momentum — so you see not only whether momentum is bullish or bearish but also whether it is accelerating or decelerating.
The squeeze dots run along the zero line and show the state of market compression. A squeeze is active when the Bollinger Bands (BB) sit entirely inside the Keltner Channels (KC) — the market is coiling, volatility has contracted, and a breakout is building. The dot color changes to reflect the state: a dark dot means the squeeze is on, a silver dot marks the bar when the squeeze has just fired (released), and a blue dot means no squeeze is present. This lets you see, at any point in history, whether momentum is building during compression or expanding freely.
How the squeeze is detected
The BB envelope is built with a simple moving average over BB Length bars and standard deviation bands at BB Multiplier times the standard deviation. The KC envelope uses an exponential moving average over KC Length bars and an ATR-derived band at KC Multiplier times the ATR. When Use True Range is on, the True Range (max of High-Low, High-PrevClose, PrevClose-Low) is used for the ATR calculation; when it is off, a simple High-Low range is used. When both upper and lower Bollinger Bands fall inside the corresponding Keltner Channel bands, the squeeze is active. The moment the Bollinger Bands widen enough to step outside the Keltner Channels, the squeeze fires — this is the transition from dark dot to silver dot on the zero line.
Entry points
Two independent signal types are available, each with its own toggle. They share the same marker size and color settings. Both signals are detected on closed bars only and are never redrawn after the bar closes.
Entry Momentum
The Entry Momentum signal fires when the histogram momentum crosses the zero line. A crossing from below zero to above zero places a BUY marker on the price chart; a crossing from above zero to below zero places a SELL marker. This is the most direct signal: the market has shifted from net negative momentum to net positive, or vice versa. The signal is independent of squeeze state — it can fire at any time, inside or outside a squeeze.
Entry Squeeze
The Entry Squeeze signal fires at the exact bar when a squeeze releases: the squeeze dot transitions from the active (dark) state to the fired (silver) state, meaning the Bollinger Bands have just stepped outside the Keltner Channels. The signal direction is determined by the momentum value at that bar: if momentum is positive the marker is a BUY; if momentum is negative the marker is a SELL. This signal is specifically designed to catch the breakout that the compression was building toward — the squeeze was the spring loading, the fired signal is the release.
Markers are colored with the Buy Color and Sell Color settings. The Marker Size control scales the arrows from 1 to 5 to suit any chart density. All historical entry markers are redrawn automatically whenever a parameter changes.
Full visual control
The histogram bar colors are fixed to the classic four-color LazyBear scheme — Lime, Green, Red, Maroon — encoding both sign and momentum direction simultaneously. The squeeze dot palette uses DodgerBlue for no-squeeze, a dark tone for squeeze-on, and Silver for squeeze-fired, giving a clear three-state readout on the zero line. A dashed zero level is always drawn for reference. The Line Width of the histogram bars is set to 3 pixels by default and can be adjusted in the input dialog.
Interactive on-chart panel
The entire interface is a smooth canvas-based panel built for fast mouse control. Squeeze parameters and entry signal toggles are laid out in tidy three-column rows, with the entry block set apart under its own gold ENTRY heading so signal settings are never confused with calculation settings. The panel header holds the control icons.
Power — switches all drawing on and off without removing the indicator from the chart. The histogram and squeeze dots disappear; chart markers are erased. Click again to resume and rescan all history.
Settings (gear) — opens and closes the settings section.
Updown (arrows) — moves the panel between the separate subwindow and the main chart.
Close (cross) — closes the indicator.
Resizable — drag the bottom-right corner to scale the panel to any size.
Collapsible — a double-click on the header collapses the panel to a compact strip.
Mouse wheel — hover over any numeric field and scroll to change the value without opening the keyboard. Changes to BB or KC parameters trigger an immediate full recalculation.
Settings and personalisation
The Settings button opens a section where the panel is fitted to your workspace: a light, dark or automatic Theme (Auto follows the chart background), adjustable panel width, header size, row height and font size. Extra touches let you hide the bottom bar with Hide Footer, shrink the header when collapsed with Mini Header, and automatically collapse the panel on a click outside it. Almost every parameter changes live right on the panel — the input fields in the Inputs dialog only set the starting values. You can run several independent copies on one chart by giving each a unique Instance number, to monitor different BB or KC periods side by side.
Entry notifications
You do not need to watch the chart waiting for a signal. Each entry can be sent through several notification channels that are enabled independently right on the panel.
Alert — a pop-up message inside the terminal.
Push — a mobile notification to the MetaTrader app on your phone.
Email — a message sent through the terminal's mail settings.
Telegram — the alert text together with a chart screenshot, sent straight to your Telegram chat.
Enable only the channels you need and you will be notified the moment a new entry appears on the symbol and timeframe you are monitoring. Both signal types — Momentum and Squeeze — share the same notification channels.
Visual history — Html report
Enable the Html channel and every entry signal is saved to an HTML report together with a screenshot of the subwindow chart at the moment it fired. The panel is automatically hidden before the screenshot is taken so the chart data is fully visible, then restored immediately after. The report is stored in the terminal's Files folder, in the VibeFox_SqueezeMomentum sub-directory, and opens in any browser — giving you a visual log of every entry the indicator has found. The trash button clears the report and its screenshots in one click whenever you want to start fresh.
Telegram Alerts
Signals can also be delivered straight to your Telegram chat — the alert text together with a screenshot of the chart at the moment of detection. Turn on the Telegram channel and enter your bot token and chat id in the inputs.
Delivery rides on the HTML report: each new signal is written into the report, and the report — opened in a browser — forwards it to your Telegram chat on its own. For this reason, enabling Telegram automatically keeps the Html report on, and the two channels work together.
Built-in multilingual help
A complete help page is built into the panel and available in 10 languages, so every control is explained right where you use it.
Parameters (Inputs tab)
Most settings can also be changed live directly on the panel (Settings button) — the input parameters only set the initial values at launch.
Squeeze
BB Length — period for the Bollinger Bands simple moving average and standard deviation calculation, range 2..200. Default: 20.
BB Multiplier — standard deviation multiplier for the Bollinger Bands width, range 0.5..10. Default: 2.0.
KC Length — period for the Keltner Channel exponential moving average and ATR; also the linear regression period for the momentum value, range 2..200. Default: 20.
KC Multiplier — ATR multiplier for the Keltner Channel width, range 0.5..10. Default: 1.5.
Use True Range (KC) — when on, the Keltner Channel ATR is calculated using True Range (accounts for overnight gaps and limit moves); when off, a simple High-Low range is used. Default: on.
Entry Points
Momentum Shift (zero cross: up=BUY, down=SELL) — enables the Entry Momentum signal: fires on each bar where the momentum histogram crosses zero from negative to positive (BUY) or from positive to negative (SELL). Default: off.
Squeeze Fired (squeeze release) — enables the Entry Squeeze signal: fires on the bar when the squeeze releases (Bollinger Bands step outside Keltner Channels); marker direction follows the sign of momentum at that bar. Default: off.
Marker Size (1-5) — size of the entry arrow markers on the price chart. Default: 2.
Buy Color — color of BUY entry markers. Default: LimeGreen.
Sell Color — color of SELL entry markers. Default: Red.
Notifications
Push Notification — push notification to the mobile MetaTrader app. Default: off.
Alert Popup — pop-up Alert window inside the terminal. Default: off.
Email — message sent through the terminal's mail settings. Default: off.
Html Report — saves each signal with a chart screenshot to an HTML report (Files folder, VibeFox_SqueezeMomentum directory), opens in any browser. Default: off.
Telegram — send each signal to your Telegram chat (alert text plus a chart screenshot) through the HTML report. Default: off.
Telegram bot token — the token of your Telegram bot, used to send the messages.
Telegram chat id — the id of the Telegram chat that receives the signals.
Panel / Settings
Panel width, px (300..800) — panel width in pixels. Default: 800.
Header size (1..6) — header size. Default: 1.
Theme — color theme: Auto (follows chart background), Dark or Light. Default: Auto.
Row height (px) — row height of the panel in pixels. Default: 34.
Font size — panel font size. Default: 8.
Hide Footer — hide the bottom strip of the panel. Default: off.
Mini Header on collapse — show a mini header when the panel is collapsed. Default: off.
Close on click outside — collapse the panel on a click outside it. Default: off.
Instance (unique per copy: 1,2,3...) — instance number; allows multiple independent copies on the same chart with different parameters. Default: 1.
Panel Start Window — where the panel opens at launch: Subwindow or Chart. Default: Subwindow.
