ZigZag with Fibonacci Levels
Dec 10, 2020

The ZigZag with Fibonacci Levels indicator identifies significant price structural pivots to automatically plot ZigZag trendlines and corresponding Fibonacci retracement and extension levels. This tool provides traders with a clear visual representation of market structure and potential support or resistance zones based on historical price swings.
Usage
The Usage section describes how the script can be used to analyze market structure. By identifying swing highs and swing lows over a user-defined period, the script highlights the current trend direction and critical price levels.
- Market Structure Identification: The ZigZag lines connect significant price peaks and troughs, filtering out minor price fluctuations to reveal the underlying trend.
- Dynamic Fibonacci Projections: Once a swing is established, the tool projects Fibonacci levels starting from 0% to 100%. If the price moves beyond the 100% level, the script automatically generates further extension levels (e.g., 1.272, 1.618, etc.) until the price is contained within the plotted range.
- Visual Customization: Users can toggle the visibility of the ZigZag lines or the Fibonacci levels independently. This is useful for traders who only want to see horizontal SR zones without the diagonal trendlines.
- Trend Reversal Alerts: The script includes built-in alerts that trigger when the ZigZag direction changes, signaling a potential shift in market momentum.
Details
The script utilizes a lookback period to determine local price extremes (Highest Highs and Lowest Lows). A direction variable tracks whether the market is currently in an "Up" or "Down" swing.
The Fibonacci logic calculates the difference between previous pivot points. It applies standard ratios (0.236, 0.382, 0.500, 0.618, 0.786) to this range. Unlike static Fibonacci tools, this implementation is adaptive; it continues to draw extension levels incrementally (1.0, 1.272, 1.414, 1.618, etc.) as long as the current price remains outside the initial 0-100% boundary.
Settings
- ZigZag Period: Determines the lookback window for finding pivot highs and lows. Higher values result in broader, more significant swings.
- Show Zig Zag: Toggles the visibility of the diagonal lines connecting the pivots.
- Show Fibonacci Ratios: Toggles the visibility of the horizontal Fibonacci levels and their labels.
- Line Color for Fibo Levels: Sets the color for all plotted Fibonacci lines.
- Zigzag Colors: Allows independent color selection for bullish (Up) and bearish (Down) ZigZag segments.
- Label Location: Controls whether price and ratio labels appear on the "Left" (at the start of the level) or the "Right" (extended into the future).
- Enable Level (0.236 - 0.786): Individual checkboxes to show or hide specific standard Fibonacci retracement ratios.
FAQ
How do I adjust the sensitivity of the trend detection? You can modify the "ZigZag Period" in the settings; increasing this number will make the script ignore smaller price movements and focus on long-term trends.
Why are some Fibonacci levels appearing above the 100% mark? The script is designed to provide price targets. If the current price exceeds the 100% level of the previous swing, it will automatically plot extension levels like 1.272 and 1.618 until the price is reached.
How can I access the ZigZag with Fibonacci Levels indicator? You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.
Unlock Unlimited Access to the LuxAlgo Library
Upgrade your plan to get all indicators, strategies, charts, and full access to Quant, our AI agent.
Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.
Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.
Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.
As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.
Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.
Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.
This does not represent our full Disclaimer. Please read our full disclaimer.
© 2026 LuxAlgo Global, LLC.

