ZigZag Support and Resistance Levels
- Indicators
- Version: 3.0
- Updated: 12 October 2026
ZigZag Support and Resistance Levels is an indicator that identifies support and resistance levels using ZigZag pivot points across multiple timeframes. It combines levels from selected timeframes into a single chart, helping traders identify potential confluence areas and important price levels. The indicator groups nearby levels into ATR-based support and resistance zones, distinguishes active levels from broken levels, and provides an interactive on-chart control panel for real-time visualization.
Key Features
1. Multi-Timeframe Analysis
- Analyzes support and resistance levels across multiple timeframes simultaneously.
- Supports custom timeframe combinations using a comma-separated list, such as M1,M5,H1.
- Automatically uses the current chart timeframe when no timeframes are specified.
- Displays higher-timeframe support and resistance levels directly on the current chart.
- Identifies potential confluence areas where levels from different timeframes are grouped together.
2. ZigZag Pivot Detection
- Detects swing highs and lows using configurable Depth, Deviation, and Backstep parameters.
- Processes ZigZag pivot points independently for each selected timeframe.
- Option to show or hide the current timeframe ZigZag overlay.
3. Support and Resistance Level Detection
- Creates support levels from low pivots and resistance levels from high pivots.
- Distinguishes active levels from broken levels using customizable colors.
- Supports configurable breakout tracking with a maximum breakout count.
- Option to extend levels forward until broken.
- Option to show or hide broken levels.
- Displays timeframe information alongside support and resistance labels.
4. ATR-Based Cluster Detection and Confluence Zones
- Groups nearby support and resistance levels into zones using a configurable ATR-based merge distance.
- Uses ATR values to adapt clustering to market volatility.
- Combines eligible levels from multiple timeframes to identify potential confluence zones.
- Separates resistance zones from support zones using independent colors.
- Displays zones with translucent backgrounds and visible boundaries.
- Option to include or exclude broken levels from cluster calculations.
- Independent controls for cluster visibility, boundaries, and labels.
5. Interactive Control Panel
- Provides an interactive on-chart panel for real-time visualization controls.
- Toggle support and resistance levels, clusters, boundaries, and labels without reopening indicator settings.
- Independently control level labels, confluence labels, breakout counts, and displayed prices.
- Show or hide broken levels, extended levels, and the ZigZag overlay.
- Supports Dark and Light panel modes.
- Customizable panel position and a minimize/expand button.
6. Visualization and Label Customization
- Independent colors for support levels, resistance levels, broken levels, and cluster zones.
- Separate visibility controls for current-timeframe level labels and higher-timeframe confluence labels.
- Customizable font names and font sizes for level and confluence labels.
- Optional breakout counts and price information in level labels.
- Higher-timeframe labels are positioned beyond the current chart candle for improved readability.
Key Benefits
- Analyze support and resistance across multiple timeframes without switching charts.
- Identify potential confluence zones formed by nearby levels from different timeframes.
- Distinguish active and broken levels at a glance.
- Use ATR-based clustering to visualize areas of repeated price interaction.
- Customize chart visibility and labels through the interactive control panel.
- Suitable for both single-timeframe and multi-timeframe analysis.
- Self-contained: no separate indicator installation required.
Who This Indicator Is For
- Price action traders who use support and resistance levels in their market analysis.
- Intraday and swing traders analyzing market structure across multiple timeframes.
- Traders who look for confluence between higher and lower timeframe levels.
- Users who prefer configurable, interactive chart visualization.
Input Parameters
| Parameter Group | Parameter | Description |
|---|---|---|
| General Settings | ||
| General | Lookback Days | Number of days of historical data to analyze. |
| General | Analysis Timeframes | Comma-separated timeframes (e.g., M1,M5,H1). Leave empty to use the current chart timeframe. |
| ZigZag Settings | ||
| ZigZag | ZigZag Depth | Depth parameter used for ZigZag pivot detection. |
| ZigZag | ZigZag Deviation | Deviation parameter in points. |
| ZigZag | ZigZag Backstep | Backstep parameter used to filter nearby pivots. |
| ZigZag | Show Current Timeframe ZigZag | Show or hide the ZigZag overlay on the current chart. |
| Support & Resistance Settings | ||
| S/R | ATR Period | ATR calculation period used for clustering. |
| S/R | Cluster Merge Distance (ATR) | ATR multiplier used to determine the cluster merge distance. |
| S/R | Include Broken Levels | Include broken levels when building confluence zones. |
| S/R | Maximum Breakouts | Maximum breakout count used in level processing. |
| S/R | Extend Levels | Extend support and resistance levels until broken. |
| Display Settings | ||
| Display | Show S/R Levels | Show or hide support and resistance levels. |
| Display | Show Confluence Zones | Show or hide clustered support and resistance zones. |
| Display | Show Zone Boundaries | Show or hide horizontal zone boundary lines. |
| Display | Show Broken Levels | Show or hide broken support and resistance levels. |
| Label Settings | ||
| Labels | Show Level Labels | Show labels for current-timeframe support and resistance levels. |
| Labels | Show Zone Labels | Show or hide cluster zone labels. |
| Labels | Show Confluence Level Labels | Show labels for higher-timeframe support and resistance levels. |
| Labels | Show Level Break Count | Include breakout counts in level labels. |
| Labels | Show Level Price | Include price values in level labels. |
| Labels | Level Label Font Size | Font size for regular level labels. |
| Labels | Level Label Font Name | Font used for regular level labels. |
| Labels | Confluence Label Font Size | Font size for higher-timeframe labels. |
| Labels | Confluence Label Font Name | Font used for higher-timeframe labels. |
| Panel Settings | ||
| Panel | Show Control Panel | Enable or disable the interactive control panel. |
| Panel | Panel X Position | Horizontal panel position in pixels. |
| Panel | Panel Y Position | Vertical panel position in pixels. |
| Panel | Panel Mode | Select Dark or Light panel appearance. |
| Color Settings | ||
| Colors | Resistance Color | Color for active resistance levels. |
| Colors | Support Color | Color for active support levels. |
| Colors | Broken Level Color | Color for broken support and resistance levels. |
| Colors | Resistance Zone Color | Color for resistance cluster zones. |
| Colors | Support Zone Color | Color for support cluster zones. |
| Colors | Zone Label Color | Configured color for zone labels. |
Summary
- ZigZag Support and Resistance Levels identifies support and resistance levels across multiple timeframes using ZigZag pivot data.
- Combines nearby levels into ATR-based confluence zones to highlight potential areas of price interaction.
- Distinguishes active and broken levels with customizable colors, labels, and extension behavior.
- Provides an interactive on-chart panel for controlling the visibility of levels, zones, labels, and ZigZag.
- Supports customizable timeframes, panel appearance, and label typography.
Disclaimer
Trading financial markets involves risk. This indicator does not guarantee any specific outcome and should not be used as the sole basis for trading decisions. It is intended for analytical purposes only.

Hola Bro, en primer lugar agradezco que crearas este indicador, la verdad, ayuda mucho, yo no tengo ninguna queja o inconveniente con el indicador, me ha ayudado mucho pero el panel de configuracion en donde decidimos lo que queremos ver y tiene los botones de on y off aveces es molesto, aunque se puede minimizar a veces se imprime en el grafico y se vuelve dificil y mas cuando trabajas a pantalla dividida dentro del mismo mt5 ***si puedes hacer que el panel sea opcional seria desde los ajistes del indicador seria maravilloso, sino se puede aigual muchas gracias, feliz dia