VibeFox Market Phases
- Indicators
- Version: 1.0
- Activations: 5
VibeFox Market Phases — market-cycle classifier with colored phase zones and impulse entries
VibeFox Market Phases is a real-time market-state indicator for MetaTrader 5. Instead of leaving you to guess whether the market is flat, coiling, breaking out or trending, it classifies every bar into one of four phases and paints them as colored background zones right on the price chart. When the market rolls into a fresh impulse, a clear BUY or SELL marker is placed at the transition, and every control is gathered into one modern interactive panel.
How the indicator works
The classification follows the SL / Kenderov methodology: the market does not move randomly but cycles through four repeating phases — Range → Consolidation (Squeeze) → Activity (Breakout) → Trend, and then back to a new Range. Each phase calls for a different style of trading, so knowing the current phase is half the battle.
To detect the phase on each closed bar the indicator combines two classic engines — ATR (Average True Range, measuring volatility) and ADX with its +DI / -DI directional lines (measuring trend strength and direction). It also tracks a trailing average of ATR over the recent range and a recent price band (highest high / lowest low) to spot breakouts. From these it decides, bar by bar, which phase the market is in, and groups neighboring bars into contiguous colored segments.
Range (Balance / Flat)
ADX is below the ADX Low threshold and price oscillates inside a band. There is no trend — the sensible approach is to trade the band edges, not breakouts. Painted with the Range color.
Squeeze (Consolidation)
Volatility contracts: the current ATR drops below Squeeze % of its recent average ATR. The spring is loading and a move is brewing — this is the moment to prepare a breakout, not to chase the quiet range. Painted with the Squeeze color.
Activity (Breakout)
ATR turns up out of the squeeze, price breaks the recent band, and ADX rises through the ADX Low level. This is the birth of a move — the market is waking up and committing to a direction. Painted with the Active color.
Trend (Impulse)
ADX climbs above the ADX High threshold and becomes directional: when +DI is above -DI the phase is Trend Up (green), otherwise Trend Down (red). This is where trend-following tools work best. The Upper and Down colors paint the two trend directions.
Entry points
The main value of VibeFox Market Phases is the automatic entry at the moment the market commits to a new impulse. The indicator watches the phase transitions itself and places a clear marker right on the price chart. An entry fires on the transition into a trend: when the phase switches from Squeeze, Activity or Range into Trend Up, a BUY marker is placed; when it switches into Trend Down, a SELL marker appears. This catches the impulse at its start rather than chasing it mid-way.
The two directions are toggled independently with Long (BUY into an up impulse) and Short (SELL into a down impulse). Buy and sell markers are colored separately with the Buy and Sell settings, so direction is read instantly. The Marker selector switches the glyph between a plain cross (+), filled triangles, or arrows with a tail, while the Size control scales the marker in pixels (6 to 40) to fit any chart density. Notifications are sent once per closed bar.
Full visual control
Each of the five phase colors — Range, Squeeze, Active, Upper (Trend Up) and Down (Trend Down) — has its own color picker with an independent transparency (0-100%), so the zones can be blended softly into the chart background or made boldly visible. The entry markers carry their own transparency as well. The phase zones are drawn as objects on the price chart (window 0), while the indicator itself lives in its own subwindow where the control panel sits.
Interactive on-chart panel
The whole interface is a smooth canvas-based panel built for fast mouse control. The phase parameters and color swatches are gathered into tidy rows, and the entry block is set apart with its own gold ENTRY heading, so signal settings do not get mixed up with phase settings. The panel header holds the control icons.
Power — turns the drawing of entry markers on and off without removing the indicator; the phase zones remain.
Settings (gear) — opens and closes the settings section.
Updown (arrows) — moves the panel between its subwindow and the main chart.
Close (cross) — closes the indicator.
Resizable — drag the bottom-right corner to scale the panel.
Collapsible — a double click on the header collapses the panel into a compact strip.
Mouse wheel — hover over any numeric field and scroll the wheel to change the value without opening the keyboard.
Settings and personalization
The Settings button opens a section where the panel is fitted to your workspace: a light, dark or automatic Theme, an adjustable panel width, header size, row height and font size. Extra touches let you hide the bottom bar via 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 on the Inputs tab only set the starting values. You can also run several independent copies on one chart by giving each a unique Instance, to compare different phase settings side by side.
Entry notifications
You do not need to sit and guard the chart waiting for a new impulse. 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 letter 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 working with.
Visual history (HTML report)
Enable the Html channel, and every entry signal is saved to an HTML report together with a screenshot of the chart at the moment it fired. The report is stored in the terminal's Files folder, in the VibeFox_Market_Phases directory (MQL5/Files/VibeFox_Market_Phases/result.html), and opens in any browser — you get a visual log of all the impulse entries the indicator found. A one-click trash button clears the report and its screenshots whenever you want to start over.
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 full help page is built into the panel, available in multiple languages, so every control is explained right where you use it.
Parameters (Inputs tab)
Most settings can also be changed live right on the panel (the Settings button) — the input parameters only set the initial values at startup.
Market Phases
ATR Period — the ATR period that measures volatility (2..200). Default: 14.
ADX Period — the ADX period that measures trend strength (2..200). Default: 14.
ADX Low — below this ADX level the market is treated as Range / flat (5..60). Default: 20.
ADX High — above this ADX level the market is treated as Trend / impulse (10..80). Default: 25.
Squeeze % — squeeze threshold: when ATR is below this percent of its average, the phase is Consolidation (30..99). Default: 80.
Bars of history to process — how many bars back the phases are calculated, 0 = all available. Default: 500.
Range / Balance Color — background color of the Range phase. Default: dark blue-gray.
Range Transparency — Range zone transparency in percent, 0-100. Default: 0.
Squeeze / Consolidation Color — background color of the Squeeze phase. Default: dark amber.
Squeeze Transparency — Squeeze zone transparency in percent, 0-100. Default: 0.
Activity / Breakout Color — background color of the Activity phase. Default: dark cyan.
Activity Transparency — Activity zone transparency in percent, 0-100. Default: 0.
Trend Up Color — background color of the Trend Up phase. Default: dark green.
Trend Up Transparency — Trend Up zone transparency in percent, 0-100. Default: 0.
Trend Down Color — background color of the Trend Down phase. Default: dark red.
Trend Down Transparency — Trend Down zone transparency in percent, 0-100. Default: 0.
Entry Points
Long signals — enables BUY markers on the transition into a Trend-Up impulse. Default: on.
Short signals — enables SELL markers on the transition into a Trend-Down impulse. Default: on.
Marker Font Size — the size of the entry markers in pixels, 6..40. Default: 12.
Entry Marker — the marker glyph: Cross (+), Triangle, or Arrow. Default: Arrow.
Buy Color — the color of the BUY marker. Default: LimeGreen.
Buy Transparency — buy marker transparency in percent, 0-100. Default: 0.
Sell Color — the color of the SELL marker. Default: Red.
Sell Transparency — sell marker transparency in percent, 0-100. Default: 0.
Notifications
Push Notification — enables push alerts to the MetaTrader mobile app. Default: off.
Alert Popup — enables pop-up alerts inside the terminal. Default: off.
Email — enables email alerts through the terminal's mail settings. Default: off.
Html Report — saves each signal with a chart screenshot to Files/VibeFox_Market_Phases/result.html. Default: off.
Telegram — forwards signals with chart screenshots to a Telegram chat via the HTML report. Default: off.
Telegram - bot token — the token of the Telegram bot used for delivery. Default: empty.
Telegram - chat id — the target Telegram chat identifier. Default: empty.
Panel / Settings
Panel width, px — the width of the on-chart panel in pixels, 300..800. Default: 800.
Header size — the height of the panel header, 1..6. Default: 1.
Theme — the color theme of the panel: Light, Dark, or Auto. Default: Auto.
Row height (px) — the height of each parameter row in pixels. Default: 34.
Font size — the font size used inside the panel. Default: 8.
Hide Footer — hides the bottom bar of the panel. Default: off.
Mini Header on collapse — shows a compact header strip when the panel is collapsed. Default: off.
Close on click outside — automatically collapses the panel when clicking outside it. Default: off.
Instance — a unique number for each copy of the indicator on the same chart, allows running multiple instances side by side. Default: 1.
Panel Start Window — sets the initial position of the panel: main chart or subwindow. Default: Subwindow.
