VibeFox ZigZag
- Indicators
- Version: 1.0
- Activations: 5
VibeFox ZigZag — swing pivots with breakout and reversal entry points
VibeFox ZigZag is a real-time swing-structure indicator for MetaTrader 5. It draws the classic ZigZag line that connects significant highs and lows, marks the moment an entry signal appears right on the price chart, and gathers every control into one modern interactive panel. Instead of eyeballing the chart for tops and bottoms, you see the market structure and the entry point at the very moment they form.
How the indicator works
ZigZag filters out minor price noise and keeps only the meaningful turning points — the swing highs (peaks) and swing lows (troughs). It then connects consecutive pivots with straight segments, producing a clean skeleton of the trend. The construction is controlled by three classic parameters.
Depth sets the minimum number of bars between two pivots, so the line ignores small wiggles and reacts only to moves that last long enough. Deviation is the minimum size of a reversal in points required to register a new pivot — it filters out shallow pullbacks. Backstep is the minimum number of bars between two extrema of the same kind, preventing two peaks (or two troughs) from sitting too close together. Together they let you tune the line from a fast, detailed zigzag to a slow one that shows only major swings.
The ZigZag line is drawn directly on the price chart as trend-line objects, while the indicator itself lives in its own subwindow, where the control panel sits. The Bars setting limits how much history is processed — set it to 0 to scan all available bars, or use a smaller value for faster redraws on heavy charts.
Entry points
The main value of VibeFox ZigZag is its automatic entry points: the indicator tracks the conditions itself and places a clear marker right on the price chart. Two independent signal types are available, each with its own toggle.
Entry — Pivot reversal
The first signal fires on every confirmed ZigZag pivot. When the line forms a trough (a swing low), a BUY marker is placed below the bar — the down-move has ended and price is turning up. When the line forms a peak (a swing high), a SELL marker appears above the bar — the up-move has ended and price is turning down. This is the reversal signal: it catches the turning point of the swing structure itself.
Entry — Pivot breakout
The second signal fires when price closes beyond the level of the last opposite pivot. A close above the most recent peak places a BUY marker — structure is breaking upward. A close below the most recent trough places a SELL marker — structure is breaking downward. This is the momentum/continuation signal: it reacts when the market confirms a new direction rather than at the turning point.
Buy and sell markers are colored separately with the Buy Color and Sell Color 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.
Full visual control
The ZigZag line color is set with ZigZag Line Color and the thickness with ZigZag Line Width from 1 to 5 pixels. The line and both entry markers each support a transparency setting (0-100%) in the color picker popup, so you can blend them softly into the chart background. Markers on the price chart are sized and colored independently, so entries stand out clearly against any background.
Interactive on-chart panel
The whole interface is a smooth canvas-based panel built for fast mouse control. The ZigZag parameters 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 line settings. The panel header holds the control icons.
Power — turns the drawing of entry markers on and off without removing the indicator from the chart.
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 ZigZag settings side by side.
Entry notifications
You do not need to sit and guard 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 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_ZigZag directory (MQL5/Files/VibeFox_ZigZag/result.html), and opens in any browser — you get a visual log of all the 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.
ZigZag
Depth — the minimum number of bars between two pivots (2..100). Default: 12.
Deviation — the minimum reversal size in points required to register a new pivot. Default: 5.
Backstep — the minimum number of bars between two extrema. Default: 3.
Bars of history to process — how many bars back the ZigZag is calculated, 0 = all available. Default: 500.
ZigZag Line Color — the color of the ZigZag line on the price chart. Default: DodgerBlue.
ZigZag Line Transparency — line transparency in percent, 0-100. Default: 0.
ZigZag Line Width — the thickness of the line in pixels, 1..5. Default: 2.
Entry Points
Pivot Reversals — enables markers on confirmed ZigZag pivots (trough = BUY, peak = SELL). Default: on.
Pivot Breakout — enables markers when price closes beyond the last opposite pivot. 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_ZigZag/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.
