ZigZag Smart Trend [TradingFinder] Major & Minor Structured Wave🔵 Introduction
🟣 Zigzag
Zigzag is a lagging indicator; this indicator identifies points on a price chart that have more significant changes than its previous wave and then by connecting these lines to each other, it assists traders in trend detection.
This indicator reduces random price fluctuations and attempts to make the primary price trend clearer.
🟣 Pivot
Pivots are points where the price chart changes direction. Pivots, also called reversal points, form when supply and demand forces dominate one another.
Different types of technical analysis pivots can be introduced into two categories, minor pivots, and major pivots, each of which has a specific meaning in analysis.
Major Pivot : These pivots actually indicate major changes in the direction of the chart and occur at the end of trends. Analysts seeking to reach the primary analysis focus more on major pivot points. In fact, most technical analysis tools are examined and determined based on major pivots.
Minor Pivot : This type of pivot focuses more on small and subsidiary points and directions. Therefore, it occurs at the end of corrections. Analysts focusing on minor pivots represent small trends, and it should be noted that minor pivots are not suitable for use in primary technical tools.
How to identify minor and major pivots :
Minor pivots are pivots formed between two major pivots and fail to break the opposite major pivot.
Major pivots are pivots that have either successfully broken the opposite pivot or have moved more than the previous pivot of the same type.
🔵 How to use
Based on identifying pivots and drawing zigzag lines, you can have various uses for this indicator.
Identifying support and resistance levels :
Identifying Elliott Waves :
Identifying classic patterns :
Identifying pivots with higher validity :
Identifying internal and external breakouts :
Identifying trends and range areas :
Identifying pivot types along with major and minor recognition :
MHH : Major Higher High
MLH : Major Lower High
MLL : Major Lower Low
MHL : Major Higher Low
mHH : Minor Higher High
mLH : Minor Lower High
mLL : Minor Lower Low
mHL : Minor Higher Low
🔵 Settings
Pivot Period Zigzag Line : Using this input, you can determine the pivot period for identifying zigzag swings.
Show Zigzag Line : To show or not to show the zigzag line.
Zigzag Line Color : Change the color of the zigzag line.
Zigzag Line Style : Change the Style of the zigzag line.
Zigzag Line Width : Change the Width of the zigzag line.
Show Label : To show or not to show Pivot Type.
Color Label : Change the color of the Pivot Type Label.
Search in scripts for "pivot"
Multi-Timeframe SFP + SMTImportant: Please Read First
This indicator is not a "one size fits all" solution. It is a professional and complex tool that requires you to learn how to use it, in addition to backtesting different settings to discover what works best for your specific trading style and the assets you trade. The default settings provided are my personal preferences for trading higher-timeframe setups, but you are encouraged to experiment and find your own optimal configuration.
Please note that while this initial version is solid, it may still contain small errors or bugs. I will be actively working on improving the indicator over time. Also, be aware that the script is not written for maximum efficiency and may be resource-intensive, but this should not pose a problem for most users.
The source code for this indicator is open. If you truly want to understand precisely how all the logic works, you can copy and paste the code into an AI assistant like Gemini or ChatGPT and ask it to explain any part of the script to you.
Author's Preferred Settings (Guideline)
As a starting point, here are the settings I personally use for my trading:
SFP Timeframe: 4-Hour (Strength: 5-5)
Max Lookback: 35 Bars
Raid Expiration: 1 Bar
SFP Lines Limit: 1
SMT Timeframe 1: 30-Minute (Strength: 2-2) with 3-Minute LTF Detection.
SMT Timeframe 2: 15-Minute (Strength: 3-3) with 3-Minute LTF Detection.
SMT Timeframe 3: 1-Hour (Strength: 1-1) with 3-Minute LTF Detection.
SMT Timeframe 4: 15-Minute (Strength: 1-1) with 3-Minute LTF Detection.
Multi-Timeframe SMT: An Overview
This indicator is a powerful tool designed to identify high-probability trading setups by combining two key institutional concepts: Swing Failure Patterns (SFP) on a higher timeframe and Smart Money Technique (SMT) divergences on a lower timeframe. A key feature is the ability to configure and run up to four independent SMT analyses simultaneously, allowing you to monitor for divergences across multiple timeframes (e.g., 15m, 1H, 4H) from a single indicator.
Its primary purpose is to generate automated signals through TradingView's alert system. By setting up alerts, the script runs server-side, monitoring the market for you. When a setup presents itself, it will send a push notification to your device, allowing you to personally evaluate the trade without being tied to your screen.
The Strategy: HTF Liquidity Sweeps into LTF SMT
The core strategy is built on a classic institutional trading model:
Wait for a liquidity sweep on a significant high timeframe (e.g., 4-hour, Daily).
Once liquidity is taken, look for a confirmation of a shift in market structure on a lower timeframe.
This indicator uses an SMT divergence as that confirmation signal, indicating that smart money may be stepping in to reverse the price.
How It Works: The Two-Step Process
The indicator's logic follows a precise two-step process to generate a signal:
Step 1: The Swing Failure Pattern (SFP)
First, the indicator identifies a high-timeframe liquidity sweep. This is configured in the "Swing Failure Pattern (SFP) Timeframe" settings.
It looks for a candle that wicks above a previous high (or below a previous low) but then closes back within the range of that pivot. This action is known as a "raid" or a "swing failure," suggesting the move failed to find genuine momentum.
Step 2: The SMT Divergence
The moment a valid SFP is confirmed, the indicator's multiple SMT engines activate.
Each engine begins monitoring the specific SMT timeframe you have configured (e.g., "SMT Timeframe 1," "SMT Timeframe 2," etc.) for a Smart Money Technique (SMT) divergence.
An SMT divergence occurs when two closely correlated assets fail to move in sync. For example, after a raid on a high, Asset A makes a new high, but Asset B fails to do so. This disagreement suggests weakness and a potential reversal.
When the script finds this divergence, it plots the SMT line and triggers an alert.
The Power of Alerts
The true strength of this indicator lies in its alert capabilities. You can create alerts for both unconfirmed and confirmed SMTs.
Enable Alerts LTF Detection: These alerts trigger when an unconfirmed, potential SMT is spotted on the lower "LTF Detection" timeframe. While not yet confirmed, these early alerts can notify you of a potential move before it fully happens, allowing you to be ahead of the curve and find the best possible trade entries.
Enable Alerts Confirmed SMT: These alerts trigger only when a permanent, confirmed SMT line is plotted on your chosen SMT timeframe. These signals are more reliable but occur later than the early detection alerts.
Key Concepts Explained
What is Pivot Strength?
Pivot Strength determines how significant a high or low needs to be to qualify as a valid structural point. A setting of 5-5, for example, means that for a candle's high to be considered a valid pivot high, its high must be higher than the highs of the 5 candles to its left and the 5 candles to its right.
Higher Strength (e.g., 5-5, 8-8): Creates fewer, but more significant, pivots. This is ideal for identifying major structural highs and lows on higher timeframes.
Lower Strength (e.g., 2-2, 3-3): Creates more pivots, making it suitable for identifying the smaller shifts in momentum on lower timeframes.
Raid Expiration & Validity
An SFP signal is not valid forever. The "Raid Expiration" setting determines how many SFP timeframe bars can pass after a raid before that signal is considered "stale" and can no longer be used to validate an SMT. This ensures your SMT divergences are always in response to recent liquidity sweeps.
Why You Must Be on the Right Chart Timeframe to See SMT Lines
Pine Script™ has a fundamental rule: an indicator running on a chart can only "see" the bars of that chart's timeframe or higher.
When the SMT logic is set to the 15-minute timeframe, it calculates its pivots based on 15-minute data. To accurately plot lines connecting these pivots, you must be on a 15-minute chart or lower (e.g., 5-minute, 1-minute).
If you are on a higher timeframe chart, like the 1-hour, the 15-minute bars do not exist on that chart, so the indicator has no bars to draw the lines on.
This is precisely why the alert system is so powerful. You can set your alert to run on the 15-minute timeframe, and TradingView's servers will monitor that timeframe for you, sending a notification regardless of what chart you are currently viewing.
TrendzonesHi all!
This indicator plots trendlines. These lines are not plotted as traditional lines, but are instead zones. This is useful if you think that trend lines are more of an area of importance than a line.
It does so by finding pivots and connecting two of them if they have not been broken (more about that later) in-between the pivots.
These trend zones can be used as support/resistance that the price can react to.
• The first trendline is drawn between the high/low of the first and second pivot.
• The second trendline's first point is at the open/close of the pivot (either the first pivot or the second one) that has the smallest difference between the high/low and the nearest open/close. The same difference (between the high/low and the open/close) is then subtracted from the other pivot's high/low. This creates a point at the other pivot bar. A trendline is then drawn between the points.
This creates two trendlines and a zone between the two trendlines. This zone is the one kept and is shown by the script.
You can define the pivot lengths used to find trend zones (defaults to 3/3). You can also define the number of pivots to look back for, to find trend zones and the number of active zones, both of these defaults to 3. You can also choose to let the script create new zones based on time ("Oldest") or the zone that is furthest away in price, this defaults to be based on time but it can be useful for letting the script remove the one which is furthest away in price. Another useful setting is the one called "Cross source". This defines the price that has to cross the trend zone to make it invalid (broken). This defaults to "Close", i.e. the bar has to close on the "wrong side" of the trend zone.
The current zones are shown with an extension to the right, but you can also choose to keep the previous lines (without extension). Please note that kept zones are only the ones that are broken, not the replaced ones. I.e. the zones that are kept are the ones that are crossed by the user defined "cross source" (defaults to the closing/current price of the bar).
Hope this makes sense, let me know if you have any questions.
Best of trading luck!
The Strat [LuxAlgo]The Strat indicator is a full toolkit regarding most of the concepts within "The Strat" methodology with features such as candle numbering, pivot machine gun (PMG) highlighting, custom combo highlighting, and various statistics included.
Alerts are also included for the detection of specific candle numbers, custom combos, and PMGs.
🔶 SETTINGS
Show Numbers on Chart: Shows candle numbering on the chart.
Style Candles: Style candles based on the detected number. Only effective on non-line charts and if the script is brought to the front.
🔹 Custom Combo Search
Combo: User defined combo to be searched by the script. Combos can be composed of any series of numbers including (1, 2, -2, 3), e.g : 2-21. No spaces or other characters should be used.
🔹 Pivot Machine Gun
Show Labels: Highlight detected PMGs with a label.
Min Sequence Length: Minimum sequence length of consecutive higher lows/lower highs required to detect a PMG.
Min Breaks: Minimum amount of broken previous highs/lows required to detect a PMG.
Show Levels: Show levels of the broken highs/lows.
🔹 Pivot Combos
Pivot Lookback: Lookback period used for detecting pivot points.
Right Bars Scan: Number of bars scanned to the right side of a detected pivot.
Left Bars Scan: Number of bars scanned to the left side of a detected pivot.
🔹 Dashboard
Show Dashboard: Displays statistics dashboard on chart.
Numbers Counter: Displays the numbers counter section on the dashboard.
Pivot Combos: Displays pivots combo section on the dashboard.
%: Display the percentage of detected pivot combos on the dashboard instead of absolute numbers.
Pivot Combos Rows: Number of rows displayed by the "Pivots Combo" dashboard section.
Show MTF: Showa MTF candle numbering on the dashboard.
Location: Location of the dashboard on the chart.
Size: Size of the displayed dashboard.
🔶 USAGE
This script allows users with an understanding of The Strat to quickly highlight elements such as candle numbers, pivot machine guns, and custom combos. The usage for these concepts is given in the sub-sections below.
🔹 Candle Numbers
The Strat assigns a number to individual candles, this number is determined by the current candle position relative to the precedent candle, these include:
Number 1 - Inside bar, occurs when the previous candle range engulfs the current one.
Number 2 Up - Upside Directional Bar, occurs when the current price high breaks the previous high while the current low is lower than the previous high.
Number 2 Down - Downside Directional Bar, occurs when the current price low breaks the previous low while the current high is higher than the previous low.
Number 3 - Outside bar, occurs when the current candle range engulfs the previous one.
The script can highlight the number of a candle by using labels but can also style candles by depending on the candle number. Inside bars (1) only have their candle wick highlighted, directional bars (2) (-2) only have their candle body highlighted. Outside bars have their candle range highlighted.
Note that downside directional bars are highlighted with the number -2.
Users can see the total amount of times a specific candle number is detected on the historical data on the dashboard available within the settings, as well as the number of times a candle number is detected relative to the total amount of detected candle numbers expressed as a percentage.
It is also possible to see the current candle numbers returned by multiple timeframes on the dashboard.
🔹 Searching For Custom Combos
Combos are made of a sequence of two or more candle numbers. These combos can highlight multiple reversals/continuation scenarios. Various common combos are documented by The Strat community.
This script allows users to search for custom combos by entering them on the Combo user setting field.
When a user combo is found, it is highlighted on the chart as a box highlighting the combo range.
🔹 Pivot Combos
It can be of interest to a user to display the combo associated with a pivot high/low. This script will highlight the location of pivot points on the chart and display its associated combo by default. These are based on the Pivot Combo lookback and not displayed in real-time.
Users can see on the dashboard the combos associated with a pivot high/low, these are ranked by frequency.
🔹 Pivot Machine Gun (PMG)
Pivot Machine Guns (PMG)s describe the scenario where a single price variation breaks the value of multiple past successive higher lows/lower highs. This can highlight a self-exciting behavior, where even more past successive higher lows/lower highs get broken.
Users can select the minimum sequence length of successive higher lows/lower highs required for a PMG to be detected, as well the amount of these successive higher lows/lower highs that must be broken.
Resistance/Support Indicator - FontiramisuIndicator showing resistances and support, based on pivots location
When a new pivot location is near from a resistance/support the latter gains weight.
You can modify multiple parameters :
Nb Max res/sup : Define the number max res/sup to keep in our res/sup history array. The greater it is the older bar index will be taken.
Nb show res/sup : Define the number of res/sup to be drawn.
Min weight shown : Define min res/sup weight to be shown. Weight is used to measure strengh of res/sup.
% range stack : Define price percentage change required to stack a pivot into an existing res/sup. Default is 0.015 = 1.5%.
Pivots are calculated with deviation parameter to validate with more precision.
Fontilab Library is used to code this indicator.
The Butterfly [theUltimator5]This is a technical analysis tool designed to automatically detect and visualize Butterfly harmonic patterns based on recent market pivot structures. This indicator uses a unique plotting and detection algorithm to find and display valid Butterfly patterns on the chart.
The indicator works in real-time and historically by identifying major swing highs and lows (pivots) based on a user-defined ZigZag length. It then evaluates whether the most recent price structure conforms to the ideal proportions of a bullish or bearish Butterfly pattern. If the ratios between price legs XA, AB, BC, and projected CD meet defined tolerances, the pattern is plotted on the chart along with a projected D point for potential reversal.
Key Features:
Automatic Pivot Detection: The script analyzes recent price action to construct a ZigZag pattern, identifying swing points as potential X, A, B, and C coordinates.
Butterfly Pattern Validation: The pattern is validated against traditional Fibonacci ratios:
--AB should be approximately 78.6% of XA.
--BC must lie between 38.2% and 88.6% of AB.
--CD is projected as a multiple of BC, with user control over the ratio (e.g., 1.618–2.24).
Bullish and Bearish Recognition: The pattern logic detects both bullish and bearish Butterflies, automatically adjusting plotting direction and color themes.
Custom Ratio Tolerance: Users can define how strictly the AB/XA and BC/AB legs must adhere to ideal ratios, using a percentage-based tolerance slider.
Fallback Detection Logic: If a new pattern is not identified in recent bars, the script performs a backward search on the last four pivots to find the most recent valid pattern.
Force Mode: A toggle allows users to force the drawing of a Butterfly pattern on the most recent pivot structure, regardless of whether the ideal Fibonacci rules are satisfied.
Dynamic Visualization:
--Clear labeling of X, A, B, C, and D points.
--Colored connecting lines and filled triangles to visualize structure.
--Optional table displaying key Fibonacci ratios and how close each leg is to ideal values.
Inputs:
Length: Controls the sensitivity of the ZigZag pivots. Smaller values result in more frequent pivots.
Tolerance (%): Adjustable threshold for acceptable deviation in AB/XA and BC/AB ratios.
CD Length Multiplier: Projects point D by multiplying the BC leg using a value between 1.618 and 2.24.
Force New Pattern: Overrides validation checks to display a Butterfly structure on recent pivots regardless of ratio accuracy.
Show Table: Enables a table showing calculated ratios and deviations from the ideal.
StatPivot- Dynamic Range Analyzer - indicator [PresentTrading]Hello everyone! In the following few open scripts, I would like to share various statistical tools that benefit trading. For this time, it is a powerful indicator called StatPivot- Dynamic Range Analyzer that brings a whole new dimension to your technical analysis toolkit.
This tool goes beyond traditional pivot point analysis by providing comprehensive statistical insights about price movements, helping you identify high-probability trading opportunities based on historical data patterns rather than subjective interpretations. Whether you're a day trader, swing trader, or position trader, StatPivot's real-time percentile rankings give you a statistical edge in understanding exactly where current price action stands within historical contexts.
Welcome to share your opinions! Looking forward to sharing the next tool soon!
█ Introduction and How it is Different
StatPivot is an advanced technical analysis tool that revolutionizes retracement analysis. Unlike traditional pivot indicators that only show static support/resistance levels, StatPivot delivers dynamic statistical insights based on historical pivot patterns.
Its key innovation is real-time percentile calculation - while conventional tools require new pivot formations before updating (often too late for trading decisions), StatPivot continuously analyzes where current price stands within historical retracement distributions.
Furthermore, StatPivot provides comprehensive statistical metrics including mean, median, standard deviation, and percentile distributions of price movements, giving traders a probabilistic edge by revealing which price levels represent statistically significant zones for potential reversals or continuations. By transforming raw price data into statistical insights, StatPivot helps traders move beyond subjective price analysis to evidence-based decision making.
█ Strategy, How it Works: Detailed Explanation
🔶 Pivot Point Detection and Analysis
The core of StatPivot's functionality begins with identifying significant pivot points in the price structure. Using the parameters left and right, the indicator locates pivot highs and lows by examining a specified number of bars to the left and right of each potential pivot point:
Copyp_low = ta.pivotlow(low, left, right)
p_high = ta.pivothigh(high, left, right)
For a point to qualify as a pivot low, it must have left higher lows to its left and right higher lows to its right. Similarly, a pivot high must have left lower highs to its left and right lower highs to its right. This approach ensures that only significant turning points are recognized.
🔶 Percentage Change Calculation
Once pivot points are identified, StatPivot calculates the percentage changes between consecutive pivot points:
For drops (when a pivot low is lower than the previous pivot low):
CopydropPercent = (previous_pivot_low - current_pivot_low) / previous_pivot_low * 100
For rises (when a pivot high is higher than the previous pivot high):
CopyrisePercent = (current_pivot_high - previous_pivot_high) / previous_pivot_high * 100
These calculations quantify the magnitude of each market swing, allowing for statistical analysis of historical price movements.
🔶 Statistical Distribution Analysis
StatPivot computes comprehensive statistics on the historical distribution of drops and rises:
Average (Mean): The arithmetic mean of all recorded percentage changes
CopyavgDrop = array.avg(dropValues)
Median: The middle value when all percentage changes are arranged in order
CopymedianDrop = array.median(dropValues)
Standard Deviation: Measures the dispersion of percentage changes from the average
CopystdDevDrop = array.stdev(dropValues)
Percentiles (25th, 75th): Values below which 25% and 75% of observations fall
Copyq1 = array.get(sorted, math.floor(cnt * 0.25))
q3 = array.get(sorted, math.floor(cnt * 0.75))
VaR95: The maximum expected percentage drop with 95% confidence
Copyvar95D = array.get(sortedD, math.floor(nD * 0.95))
Coefficient of Variation (CV): Measures relative variability
CopycvD = stdDevDrop / avgDrop
These statistics provide a comprehensive view of market behavior, enabling traders to understand the typical ranges and extreme moves.
🔶 Real-time Percentile Ranking
StatPivot's most innovative feature is its real-time percentile calculation. For each current price, it calculates:
The percentage drop from the latest pivot high:
CopycurrentDropPct = (latestPivotHigh - close) / latestPivotHigh * 100
The percentage rise from the latest pivot low:
CopycurrentRisePct = (close - latestPivotLow) / latestPivotLow * 100
The percentile ranks of these values within the historical distribution:
CopyrealtimeDropRank = (count of historical drops <= currentDropPct) / total drops * 100
This calculation reveals exactly where the current price movement stands in relation to all historical movements, providing crucial context for decision-making.
🔶 Cluster Analysis
To identify the most common retracement zones, StatPivot performs a cluster analysis by dividing the range of historical drops into five equal intervals:
CopyrangeSize = maxVal - minVal
For each interval boundary:
Copyboundaries = minVal + rangeSize * i / 5
By counting the number of observations in each interval, the indicator identifies the most frequently occurring retracement zones, which often serve as significant support or resistance areas.
🔶 Expected Price Targets
Using the statistical data, StatPivot calculates expected price targets:
CopytargetBuyPrice = close * (1 - avgDrop / 100)
targetSellPrice = close * (1 + avgRise / 100)
These targets represent statistically probable price levels for potential entries and exits based on the average historical behavior of the market.
█ Trade Direction
StatPivot functions as an analytical tool rather than a direct trading signal generator, providing statistical insights that can be applied to various trading strategies. However, the data it generates can be interpreted for different trade directions:
For Long Trades:
Entry considerations: Look for price drops that reach the 70-80th percentile range in the historical distribution, suggesting a statistically significant retracement
Target setting: Use the Expected Sell price or consider the average rise percentage as a reasonable target
Risk management: Set stop losses below recent pivot lows or at a distance related to the statistical volatility (standard deviation)
For Short Trades:
Entry considerations: Look for price rises that reach the 70-80th percentile range, indicating an unusual extension
Target setting: Use the Expected Buy price or average drop percentage as a target
Risk management: Set stop losses above recent pivot highs or based on statistical measures of volatility
For Range Trading:
Use the most common drop and rise clusters to identify probable reversal zones
Trade bounces between these statistically significant levels
For Trend Following:
Confirm trend strength by analyzing consecutive higher pivot lows (uptrend) or lower pivot highs (downtrend)
Use lower percentile retracements (20-30th percentile) as entry opportunities in established trends
█ Usage
StatPivot offers multiple ways to integrate its statistical insights into your trading workflow:
Statistical Table Analysis: Review the comprehensive statistics displayed in the data table to understand the market's behavior. Pay particular attention to:
Average drop and rise percentages to set reasonable expectations
Standard deviation to gauge volatility
VaR95 for risk assessment
Real-time Percentile Monitoring: Watch the real-time percentile display to see where the current price movement stands within the historical distribution. This can help identify:
Extreme movements (90th+ percentile) that might indicate reversal opportunities
Typical retracements (40-60th percentile) that might continue further
Shallow pullbacks (10-30th percentile) that might represent continuation opportunities in trends
Support and Resistance Identification: Utilize the plotted pivot points as key support and resistance levels, especially when they align with statistically significant percentile ranges.
Target Price Setting: Use the expected buy and sell prices calculated from historical averages as initial targets for your trades.
Risk Management: Apply the statistical measurements like standard deviation and VaR95 to set appropriate stop loss levels that account for the market's historical volatility.
Pattern Recognition: Over time, learn to recognize when certain percentile levels consistently lead to reversals or continuations in your specific market, and develop personalized strategies based on these observations.
█ Default Settings
The default settings of StatPivot have been carefully calibrated to provide reliable statistical analysis across a variety of markets and timeframes, but understanding their effects allows for optimal customization:
Left Bars (30) and Right Bars (30): These parameters determine how pivot points are identified. With both set to 30 by default:
A pivot low must be the lowest point among 30 bars to its left and 30 bars to its right
A pivot high must be the highest point among 30 bars to its left and 30 bars to its right
Effect on performance: Larger values create fewer but more significant pivot points, reducing noise but potentially missing important market structures. Smaller values generate more pivot points, capturing more nuanced movements but potentially including noise.
Table Position (Top Right): Determines where the statistical data table appears on the chart.
Effect on performance: No impact on analytical performance, purely a visual preference.
Show Distribution Histogram (False): Controls whether the distribution histogram of drop percentages is displayed.
Effect on performance: Enabling this provides visual insight into the distribution of retracements but can clutter the chart.
Show Real-time Percentile (True): Toggles the display of real-time percentile rankings.
Effect on performance: A critical setting that enables the dynamic analysis of current price movements. Disabling this removes one of the key advantages of the indicator.
Real-time Percentile Display Mode (Label): Chooses between label display or indicator line for percentile rankings.
Effect on performance: Labels provide precise information at the current price point, while indicator lines show the evolution of percentile rankings over time.
Advanced Considerations for Settings Optimization:
Timeframe Adjustment: Higher timeframes generally benefit from larger Left/Right values to identify truly significant pivots, while lower timeframes may require smaller values to capture shorter-term swings.
Volatility-Based Tuning: In highly volatile markets, consider increasing the Left/Right values to filter out noise. In less volatile conditions, lower values can help identify more potential entry and exit points.
Market-Specific Optimization: Different markets (forex, stocks, commodities) display different retracement patterns. Monitor the statistics table to see if your market typically shows larger or smaller retracements than the current settings are optimized for.
Trading Style Alignment: Adjust the settings to match your trading timeframe. Day traders might prefer settings that identify shorter-term pivots (smaller Left/Right values), while swing traders benefit from more significant pivots (larger Left/Right values).
By understanding how these settings affect the analysis and customizing them to your specific market and trading style, you can maximize the effectiveness of StatPivot as a powerful statistical tool for identifying high-probability trading opportunities.
Liquidity Grab Zones | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Liquidity Grab Zones Indicator! This indicator finds liquidity grabs in the current ticker and renders buyside & sellside liquidity grab zones. The retests and breakout of the zones are labeled, and you can set up alerts to get notified. For more information, please check the "HOW DOES IT WORK" section.
Features of the new Liquidity Grab Zones Indicator :
Renders Buyside & Sellside Liquidity Grab Zones
Retests & Breaks
Inverse Zones After Broken Feature
Alerts For All Features
Customizable Algorithm
Customizable Styles
🚩UNIQUENESS
Liquidity grabs can be useful when determining candles that have executed a lot of market orders, so you can plann your trades accordingly. This indicator lets you customize the pivot length and the wick-body ratio for liquidity grabs, provide retest & breakout labels, with customized styling and alerts.
📌 HOW DOES IT WORK ?
Liquidity grabs occur when one of the latest pivots has a false breakout. Then, if the wick to body ratio of the bar is higher than 0.5 (can be changed from the settings) a zone is plotted.
These zones usually indicate areas of high market interest where price action may reverse or accelerate. Identifying these zones can provide traders with critical levels for entering or exiting trades. A breakout of these zones generally mean strong movements are inbound, while failing breakouts make these zones act like support / resistance zones.
The indicator also reverses the type of the zone after an invalidation (can be turned off from the settings). This feature helps traders identify potential reversals more accurately.
The zone width is set to the area from the wick to the body of the candlestick, which can be seen here :
⚙️SETTINGS
1. General Configuration
Pivot Length -> This setting determines the range of the pivots. This means a candle has to have the highest / lowest wick of the previous X bars and the next X bars to become a high / low pivot.
Wick-Body Ratio -> After a pivot has a false breakout, the wick-body ratio of the latest candle is tested. The resulting ratio must be higher than this setting for it to be considered as a liquidity grab.
Zone Invalidation -> Select between Wick & Close price for Liquidity Grab Zone Invalidation.
Use these customizable settings to fine-tune the indicator according to your trading strategy and preferences.
Liquidity Grabs | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Liquidity Grabs indicator! This indicator can renders bubbles with different sizes at candles that have liquidity grabs, which happen when a liquidity areas (buyside / sellside liquidity) is swept. These candles often fill a lot of market orders that were sitting on the liquidity zone. You can check "How Does It Work" section for more information.
Features of the new Liquidity Grabs Indicator :
Renders Liquidity Grabs
Customizable Algorithm
Customizable Styles
Alerts
🚩UNIQUENESS
Liquidity grabs can be useful when determining candles that have executed a lot of market orders, and planning your trades accordingly. This indicator renders liquidity grabs in an unique bubble style, the size of the bubble is calculated by the size of the wick that caused the liquidity grab. The indicator also lets you customize the pivot length and the wick-body ratio for liquidity grabs.
📌 HOW DOES IT WORK ?
Liquidity grabs occur when one of the latest pivots has a false breakout. Then, if the wick to body ratio of the bar is higher than 0.5 (can be changed from the settings) a bubble is plotted. Using the wick length as a metric to measure liquidity is good because long wicks can translate to a large amount of buyers / sellers entering the market.
The bubble size is determined by the wick to body ratio of the candle.
⚙️SETTINGS
1. General Configuration
Pivot Length -> This setting determines the range of the pivots. This means a candle has to have the highest / lowest wick of the previous X bars and the next X bars to become a high / low pivot.
Wick-Body Ratio -> After a pivot has a false breakout, the wick-body ratio of the latest candle is tested. The resulting ratio must be higher than this setting for it to be considered as a liquidity grab.
Auto Pivots with S/R LevelsPlots out the pivot point with corresponding Support / Resistance levels.
It will automatically determine the time frame to calculate pivots based on the current view resolution.
Monthly resolution will pull a yearly pivot
Weekly resolution will pull a monthly pivot
Daily view will pull a weekly pivot
Intraday view will pull a daily pivot.
You have the choice of using Standard pivots or Fibonacci pivots
You can choose to only display the most recent pivot or all pivots
You can chose to extend the most recent pivot across the whole chart as a price line
TODO:
- Add in the ability to choose how far back historically to display pivots
- Add in calculations for smaller resolutions to calculate off lower time frames. EX: minute resolution should pull hour time frame to calculate pivots.
Chart Patterns [ActiveQuants]The Chart Patterns indicator is a comprehensive tool designed to automatically identify a variety of common chart patterns directly on your price chart. By detecting sequences of pivot highs and lows , this indicator helps traders spot potential trend continuations , reversals , and key market structures such as Double Tops and Double Bottoms . Enhance your technical analysis by quickly recognizing these formations as they emerge.
How It Works
The indicator operates in a two-stage process:
Pivot Point Detection: It first identifies significant swing highs and swing lows (pivot points) based on a user-defined Period . These pivots form the fundamental building blocks for pattern recognition.
Pattern Recognition: Using the sequence of these detected pivot points, the script then applies logical rules to identify the following patterns:
Lower Low (LL)
Lower Low & Lower High (LL & LH)
Higher High (HH)
Higher High & Higher Low (HH & HL)
Double Tops
Double Bottoms
Patterns are drawn on the chart with connecting lines and labeled for easy identification. Double Tops and Double Bottoms also feature a status system: " Active " while forming, " Confirmed " upon neckline breakout, or " Invalid " if specific conditions negate the pattern before confirmation.
█ KEY FEATURES
Comprehensive Pattern Detection: Identifies six distinct types of chart patterns, offering insights into both trend continuation and potential reversals.
Pivot-Based Analysis: Uses a robust method of identifying pivot highs and lows as the foundation for pattern formation.
Pattern Status for Double Tops/Bottoms:
- Active: A Double Top or Double Bottom pattern has formed its two peaks/troughs and the intervening neckline point, but the price has not yet broken beyond the neckline. The pattern is developing .
- Confirmed: The price has decisively closed beyond the neckline (below for Double Top, above for Double Bottom), signaling a potential entry or validation of the pattern.
- Invalid: An " Active " Double Top or Double Bottom pattern can be invalidated if, before a neckline breakout occurs, a new pivot point forms that negates the pattern’s structural integrity. For example, if a new pivot low forms above or at the neckline of an Active Double Top, the pattern is considered invalid because the market failed to break down and instead showed relative strength.
Customizable Visuals: Allows users to define colors for bullish and bearish patterns, line widths, and the visibility of pivot points.
Selective Pattern Display: Users can choose to display all patterns or filter by status (Active, Confirmed, Invalid) for Double Tops/Bottoms. Individual pattern types can also be toggled on or off.
Historical Analysis Control: The Show Last History (Bars) input allows users to specify how far back the indicator should plot patterns, optimizing performance and chart readability.
Clear Labeling: Patterns are clearly labeled on the chart, with Double Tops/Bottoms also showing " Top 1 ," " Top 2 ," or " Bottom 1 ," " Bottom 2 " labels.
█ PATTERNS DETECTED
Lower Low (LL): Indicates a potential bearish continuation or the start of a downtrend. Forms when price makes a lower low during an uptrend.
Lower Low & Lower High (LL & LH): A stronger confirmation of a bearish trend, where the market forms a lower low followed by a lower high .
Higher High (HH): Signals a potential bullish continuation or the start of an uptrend. Forms when price makes a higher high during a downtrend.
Higher High & Higher Low (HH & HL): A stronger confirmation of a bullish trend, where the market forms a higher high followed by a higher low .
Double Top: A bearish reversal pattern characterized by two distinct peaks at roughly the same price level, separated by a trough (neckline). Confirmation occurs when price breaks below the neckline.
Double Bottom: A bullish reversal pattern featuring two distinct troughs at roughly the same price level, separated by a peak (neckline). Confirmation occurs when price breaks above the neckline.
█ EXAMPLE: DOUBLE TOP INVALIDATION
Understanding how a Double Top or Double Bottom can be invalidated is crucial. Here's an example for a Double Top:
Formation: The indicator identifies two peaks (Top 1, Top 2) at a similar price level, with a corrective trough (Neckline Pivot P5) in between. The pattern is labeled " Double Top " and is in an " Active " state. ( Imagine points P4 and P6 are the two tops, and P5 is the low point of the neckline between them ).
Pre-Breakout Condition: The price action continues, but before it breaks decisively below the P5 neckline level, a new significant swing low (a new pivot low) forms.
Invalidation Check: The indicator checks the price level of this new pivot low. If this new pivot low occurs at a price equal to or higher than the P5 neckline level, the " Active " Double Top pattern is re-labeled as " Invalid Double Top ". ( See image below for a visual representation of this scenario )
In this example, the Double Top formed with Top 1 (P4) and Top 2 (P6). The neckline is at P5. Before price broke below P5, a new pivot low formed at the red circle. Since this new pivot low is above the P5 neckline, the Double Top is marked " Invalid ".
The logic is that the market failed to break the neckline support and instead established a higher low (or a low at the support level), suggesting that the immediate bearish pressure has waned, thus invalidating the bearish reversal implication of the Double Top before it could confirm. A similar logic applies to Double Bottoms (a new pivot high forming below or at the neckline before an upside breakout).
█ USER INPUTS
Visibility and Common Styling
- Show Last History (Bars):
Specifies the number of recent bars the indicator will analyze and plot patterns on.
Default: 3000 bars. Min: 10.
- Patterns:
Filters which patterns are displayed based on their status.
Options: All, Active, Confirmed, Invalid.
Default: All.
- Pattern Line Width:
Sets the thickness of the lines used to draw the patterns.
Default: 1. Min: 1, Max: 10.
- Bearish Color:
Color for bearish patterns (LL, LL & LH, Double Tops).
Default: Red.
- Bullish Color:
Color for bullish patterns (HH, HH & HL, Double Bottoms).
Default: Green.
Pivot Points
- Period:
The lookback period on either side of a bar to qualify it as a pivot high or low. Higher values detect more significant pivots.
Default: 10 bars. Min: 2.
- Show Pivot Highs:
Toggles the visibility of detected pivot high markers.
Default: Enabled.
- Show Pivot Lows:
Toggles the visibility of detected pivot low markers.
Default: Enabled.
- Pivot Highs Color:
Color for the pivot high markers.
Default: #ff5252 (Reddish).
- Pivot Lows Color:
Color for the pivot low markers.
Default: #089981 (Greenish).
Patterns (Toggles)
- Lower Low:
Enable/disable detection and display of Lower Low patterns.
Default: Enabled.
- Lower Low & Lower High:
Enable/disable detection and display of Lower Low & Lower High patterns.
Default: Enabled.
- Higher High:
Enable/disable detection and display of Higher High patterns.
Default: Enabled.
- Higher High & Higher Low:
Enable/disable detection and display of Higher High & Higher Low patterns.
Default: Enabled.
- Double Tops:
Enable/disable detection and display of Double Top patterns.
Default: Enabled.
- Double Bottoms:
Enable/disable detection and display of Double Bottom patterns.
Default: Enabled.
█ CONCLUSION
The Chart Patterns indicator is a versatile and powerful assistant for traders who utilize classical chart pattern analysis. By automating the detection of key formations and providing clear visual cues along with status updates for patterns like Double Tops and Bottoms, it allows traders to focus on strategy development and execution. With its customizable settings, it can be adapted to various instruments and timeframes, making it a valuable addition to any technical trader's toolkit.
█ IMPORTANT NOTES
⚠ Pivot Period Sensitivity: The Period setting for pivot detection is crucial. A shorter period will identify more frequent, smaller swings, while a longer period will focus on more significant turning points. Adjust this setting based on the asset's volatility, the timeframe you are trading and your trading style.
⚠ Confirmation is Key: While the indicator identifies patterns, always wait for pattern confirmation (e.g., neckline breaks for Double Tops/Bottoms) and consider other factors like volume and market context before making trading decisions.
⚠ Confirmed Bars for Detection: Patterns are identified based on confirmed pivot points, which means a pivot is recognized period bars after it has formed. Status updates for Double Tops/Bottoms (Active, Confirmed, Invalid) also occur on confirmed bars. This approach enhances reliability and reduces the likelihood of repainting based on intra-bar price fluctuations.
⚠ Not a Standalone System: Chart patterns provide valuable insights, but they should be used in conjunction with other technical analysis tools (e.g., trendlines, moving averages, oscillators) and a sound risk management plan.
⚠ Lagging Nature: By their very definition, chart patterns are lagging indicators as they require a sequence of price action and several pivot points to complete their formation.
█ RISK DISCLAIMER
Trading involves a substantial risk of loss and is not suitable for every investor. The information provided by the Chart Patterns indicator is for educational and informational purposes only. It should not be considered as financial advice or a recommendation to buy or sell any security. Chart patterns indicate potential price movements but do not guarantee future results. Always perform your own due diligence and consult with a qualified financial advisor before making any investment decisions. Past performance is not indicative of future results.
📈 Happy trading! 🚀
Price breakout and reversal [TCS] | PAThis indicator is designed to identify potential breaks and reversals in price movements for a financial instrument.
The indicator displays several elements to assist users in spotting specific market conditions:
1. High and Low Pivots : The indicator marks the highest and lowest points on the price chart within a customizable lookback period. These pivots represent important turning points in the price movement and serve as reference levels for potential breakouts and reversals.
2. Fair Value Line : A horizontal line is drawn at the midpoint between the high and low pivots. This line represents the "fair value" based on the recent price action. Traders may consider this level as a reference for evaluating the price's deviation from its average value.
3. Bullish Breakouts : When the closing price of the financial instrument crosses above the high pivot the indicator identifies a potential bullish breakout. This suggests a possible buying opportunity.
4. Bearish Breakouts : Conversely, a bearish breakout is identified when the closing price crosses below the low pivot. This may indicate a selling opportunity.
5. Fair Value Breakouts : In addition to regular breakouts, the indicator can detect breakouts based on the fair value line. If the closing price crosses above or below the fair value line, it may signal a fair value breakout, indicating the price's potential return to its average level.
6. Reversals : Reversal patterns are essential in technical analysis. The indicator identifies potential bullish and bearish reversals .
The indicator enhances its visual signals with geometric shapes (triangles and diamonds) placed above or below the price bars to represent different types of breakouts and reversals.
Moreover, the indicator can be configured to send alerts to the user when any of these specific events occur, helping traders stay informed and respond promptly to potential trading opportunities.
Please note that this code is for educational purposes only and should not be used for trading without further testing and analysis.
Momentum Permission + Pivot Entry (v1.4 CLEAN ENTRY)//@version=5
indicator("Momentum Permission + Pivot Entry (v1.4 CLEAN ENTRY)", overlay=true)
// ─────────── INPUTS ───────────
pivotLookback = input.int(3, "Pivot Lookback")
smaLen = input.int(50, "SMA Length")
relVolTh = input.float(1.3, "RelVol Threshold")
// ─────────── TREND + MOMENTUM — BASICS ───────────
vwapLine = ta.vwap
smaLine = ta.sma(close, smaLen)
relVol = volume / ta.sma(volume, 10)
pivotLow = ta.lowest(low, pivotLookback) == low
trendUp = close > smaLine
aboveVWAP = close > vwapLine
greenCandle = close > open
// ─────────── PERMISSION (Context Only) ───────────
permitSignal = trendUp and (relVol > relVolTh)
// ─────────── ENTRY LOGIC — ONE CLEAN SIGNAL ───────────
rawEntry = permitSignal and aboveVWAP and pivotLow and greenCandle
// Anti-spam: only first signal in a move
entrySignal = rawEntry and not rawEntry
// ─────────── VISUAL SHAPES (Clean) ───────────
plotshape(permitSignal, style=shape.triangleup, color=color.lime, size=size.tiny, location=location.bottom, text="PERMIT")
plotshape(entrySignal, style=shape.triangleup, color=color.aqua, size=size.small, text="ENTRY")
// ─────────── TREND VISUALS ───────────
plot(vwapLine, "VWAP", color=color.blue, linewidth=2)
plot(smaLine, "SMA50", color=color.orange, linewidth=2)
Support & Resistance Zone Hunter [BOSWaves]Support & Resistance Zone Hunter - Dynamic Structural Zones with Real-Time Breakout Intelligence
Overview
The Support & Resistance Zone Hunter is a professional-grade structural mapping framework designed to automatically detect high-probability support and resistance areas in real time. Unlike traditional static levels or manually drawn zones, this system leverages pivot detection, range thresholds, and optional volume validation to create dynamic zones that reflect the true structural architecture of the market.
Zones evolve as price interacts with their boundaries. The first touch of a zone determines its bias - bullish, bearish, or neutral - and the system tracks the full lifecycle of each zone from formation, testing, and bias establishment to potential breakout events. Diamond-shaped breakout signals highlight structurally significant price expansions while filtering noise using a configurable cooldown period.
By visualizing market structure in this way, traders gain a deeper understanding of price behavior, trend momentum, and areas where liquidity and reactive forces are concentrated.
Theoretical Foundation
The Support & Resistance Zone Hunter is built on the premise that meaningful structural zones arise from two core principles:
Pivot-Based Turning Points : Only significant highs and lows that represent actual swings in price are considered.
Contextual Validation : Zones must pass minimum range criteria and optional volume thresholds to ensure their relevance.
Markets naturally generate numerous micro-pivots that do not carry predictive significance. By filtering out minor swings and validating zones against volume and range, the system isolates levels that are more likely to attract future price interaction or act as catalysts for breakout moves.
This framework captures not only where price is likely to react but also the direction of potential pressure, providing a statistically grounded, visually intuitive representation of market structure.
How It Works
The Support & Resistance Zone Hunter constructs zones through a multi-layered process that blends pivot logic, range validation, and real-time bias determination:
1. Pivot Detection Core
The indicator identifies pivot highs and pivot lows using a configurable lookback period. Zones are only considered valid when both a top and bottom pivot are present.
2. Zone Qualification Engine
Prospective zones must satisfy two conditions:
Range Threshold : The distance between pivot high and low must exceed the minimum percentage set by the user.
Volume Requirement : If enabled, the current volume must exceed the 50-period moving average.
Only zones meeting these criteria are drawn, reducing noise and emphasizing high-probability structural levels.
3. Zone Lifecycle
Once a valid top and bottom pivot exist:
The zone is created starting from the pivot formation bar.
Zones remain active until both boundaries have been touched by price.
The first boundary touched establishes bias: resistance first → bullish bias ,support first → bearish bias, neither → neutral.
Inactive zones stop expanding but remain visible historically to maintain a clear structural context.
4. Visual Rendering
Active zones are displayed as filled boxes with color corresponding to their bias. Top, bottom, and midpoint lines are drawn for reference. Once a zone becomes inactive, its lines are removed while the filled box remains as a historical footprint.
5. Breakout Detection
Breakout signals occur when price closes above the top boundary or below the bottom boundary of an active zone. The system applies a cooldown period and requires price to return to the zone since the previous breakout to prevent signal spam. Bullish and bearish breakouts are visually represented by diamond-shaped markers with configurable colors.
Interpretation
The Support & Resistance Zone Hunter provides a structural view of market balance:
Bullish Zones : Form when resistance is tested first, indicating upward pressure and potential continuation.
Bearish Zones : Form when support is tested first, reflecting downward pressure and continuation risk.
Neutral Zones : Fresh zones that have not yet been interacted with, representing undiscovered liquidity.
Breakout Diamonds : Highlight significant structural price expansions, helping traders identify confirmed continuation moves while filtering noise.
Zones do not simply indicate past levels; they dynamically reflect the evolving battle between buyers and sellers, providing actionable context for both trend continuation and reversion strategies.
Strategy Integration
The Support & Resistance Zone Hunter is versatile and can be applied across multiple trading approaches:
Trend Continuation : Use bullish and bearish zones to confirm directional bias. Breakout diamonds indicate structural continuation opportunities.
Reversion Entries : Neutral zones often act as magnets in ranging markets, allowing for high-probability mean-reversion setups.
Breakout Trading : Diamonds mark true structural expansions, reducing false breakout risk and guiding stop placement or momentum entries.
Liquidity Zone Alignment : Combining the indicator with order block, breaker, or volume-based tools helps validate zones against broader market participation.
Technical Implementation Details
Pivot Engine : Two-sided pivot detection based on configurable lookback.
Zone Qualification : Minimum range requirement and optional volume filter.
Bias Logic : Determined by the first boundary touched.
Zone Lifecycle : Active until both boundaries are touched, historical visibility retained.
Breakout Signals : Diamond markers with cooldown filtering and price-return validation.
Visuals : Transparent filled zones with live top, bottom, and midpoint lines.
Suggested Optimal Parameters
Pivot Lookback : 10 - 30 for intraday, 20 - 50 for swing trading.
Minimum Range % : 0.5 - 2% for crypto or indices, 1 - 3% for metals or forex.
Volume Filter : Enable for assets with inconsistent liquidity; disable for consistently liquid markets.
Breakout Cooldown : 5 - 20 bars depending on volatility.
These suggested parameters should be used as a baseline; their effectiveness depends on the asset and timeframe, so fine-tuning is expected for optimal performance.
Performance Characteristics
High Effectiveness:
Markets with clear pivot structure and reliable volume.
Trending symbols with consistent retests.
Assets where zones attract repeated price interaction.
Reduced Effectiveness:
Random walk markets lacking structural pivots.
Low-volatility periods with minimal price reaction.
Assets with irregular volume distribution or erratic price action.
Integration Guidelines
Use zone color as contextual bias rather than a standalone signal.
Combine with structural tools, order blocks, or volume-based indicators for confluence.
Validate zones on higher timeframes to refine lower timeframe entries.
Treat breakout diamonds as confirmation of continuation rather than independent triggers.
Disclaimer
The Support & Resistance Zone Hunter provides structural zone mapping and breakout analytics. It does not predict price movement or guarantee profitability. Success requires disciplined risk management, proper parameter calibration, and integration into a comprehensive trading strategy.
ICT Essentials [LDT]ICT Essentials
Overview
ICT Essentials is an all-in-one trading utility built to create a natural and efficient workflow for ICT-based traders.
Every component has been designed to integrate seamlessly and update dynamically across timeframes.
The indicator focuses on clarity, performance and customization, allowing traders to tailor every part of their trading experience.
Equal Highs & Lows
This feature automatically detects and marks Equal Highs (EQH) and Equal Lows (EQL) with full control over visuals and behavior.
Users can customize line colors, widths, and styles, label size, color, background transparency and text offset.
The logic uses an optimized scanning and caching system that maintains smooth performance even on higher timeframes.
It provides a precise and adaptive way to identify structural liquidity points whilst keeping the chart clean and readable.
Killzones & Session Pivots
Plots the main trading sessions such as Asia, London and New York (AM, Lunch, PM) with full flexibility and styling options.
Each session can be enabled or disabled individually, with its own color, transparency and label preferences.
Session highs and lows are automatically tracked and plotted as pivots with extension modes like Until Mitigated or Past Mitigation.
This system gives traders the ability to organize market sessions exactly how they prefer whilst keeping the chart consistent and efficient.
Daily Pivots and Tier System
Alongside session pivots, the script tracks daily highs and lows to provide a broader structural view of price. These pivots are stored and displayed on the chart with their appearance updating automatically when price interacts with them.
The system includes a unique tier-based visibility filter that maintains a clean chart by preventing duplicate or overlapping pivots. Recent daily pivots are cached and compared to session pivots and when two levels fall within a defined proximity, the redundant one is automatically hidden. This creates a clear hierarchy of daily and session levels, keeping the most relevant structure visible whilst removing noise.
All aspects of the daily pivot system are fully customizable, including the number of tracked pivots, color, style settings and how mitigated levels are handled. The caching and filtering logic ensures smooth performance and a visually organized workspace even as the data updates in real time.
Key Times
Allows up to five custom key time markers such as the Midnight Open, 6:00 AM or 10:00 AM.
Each marker can be fully customized with its own text, color, line style and thickness.
This makes it simple to visualize key reaction points that align with each traders timing model.
Higher Timeframe Candles
Displays higher timeframe candles such as 1H, 4H or Daily directly on the active chart to provide context without switching views.
Users can customize body, wick and border colors, along with adding optional trace lines for the open, close, high and low and can also show the countdown timers for remaining candle time.
Adjustable spacing, positioning and label visibility makes the display blend naturally with any trading setup.
This module helps traders connect multiple timeframes visually in a clean and intuitive way.
Watermark
Adds a customizable watermark with title, subtitle and symbol or timeframe information.
Every element can be adjusted for color, size, transparency, alignment and position.
The result is a polished, professional chart layout that adapts to the user's personal style.
Optimization and Design
ICT Essentials is built for performance, using cached arrays and lightweight calculations to maintain responsiveness on all timeframes.
Each feature can be toggled individually to suit the traders focus or system performance.
The script delivers a fluid, customizable and highly optimized trading experience designed to feel natural and effortless in day-to-day use.
Credits
This script takes reference and inspiration from several open-source indicators:
Equal Highs and Lows by jzstur
ICT HTF Candles (fadi) by fadizeidan
ICT Killzones + Pivots EP by tradeforopp
AG FX - Watermark by AGFXTRADING
All components have been refactored, optimized and unified into a single framework for a smoother and more efficient workflow.
Fibonacci Levels on Any Indicator [By MUQWISHI]▋ INTRODUCTION :
A “Fibonacci Levels on Any Indicator” can be applied to any indicator to draw Fibonacci levels based on provided conditions of two price points to produce a sequence of horizontal line levels starting from 0% to 100% in addition to extension levels. The 0% level is measured as the start of retracement, while the 100% level is the beginning of the extension levels. This tool was developed to be easy to add to any indicator, and it could be valuable to some traders in terms of managing trades by setting targets and reducing risk in the trend direction.
_______________________
▋ USAGE:
➤ NEEDS TO IDENTIFY 4 ELEMENTS:
1. Starting Point. What’re the conditions / When will the drawing of the Fibonacci levels begin?
2. Ending Point. What’re the conditions / When will the drawing of the Fibonacci levels end?
3. High Point. What is the price for a 100% Fibonacci level (0% for the downside)?
4. Low Point. What is the price for a 0% Fibonacci level (100% for the downside)?
➤ STARTING & ENDING POINTS CONDITIONS:
Need to specify the condition when the drawing of Fibonacci levels starts and ends, and the indicator shows different prepared conditions.
New Phase: Import a value (plot) from an existing indicator, where its status changes from NaN to a real number.
Crosses Above/Below: Import a value(1) (plot) from an existing indicator, where it crosses above/below value(2).
Reversal Up/Down: Import a value(1) (plot) from an existing indicator, where it rises/decreases than the previous value(1).
First/Last Bar: Useful to draw stationary Fibonacci levels.
➤ UPPER & LOWER PIVOTS (0% & 100%):
Need to specify the two price points representing 0% & 100% Fibonacci levels to expose the sequence of Fibonacci lines.
Upper Pivot. By default, the ATR Upper Band. It’s possible to import a custom value from an existing indicator.
Lower Pivot. By default, the ATR Lower Band. It’s possible to import a custom value from an existing indicator.
➤ FIBONACCI STYLING OPTIONS:
Ability to customize line & label style, color, reverse, and hide/show levels.
_______________________
▋ IMPLEMENTATION:
Here are some examples of implementing the indicator.
Note: All presented examples below are for demonstration purposes, and they're not trading suggestions.
# Example 1: (Reversal Up/Down)
We want to implement Fibonacci levels on the Hull MA by mohamed982 . Our requirements are as follows:
Fibonacci levels start when the Hull MA reverses up.
Fibonacci levels end when the Hull MA reverses down.
Upper Pivot is the ATR Upper Band.
Lower Pivot is the ATR Lower Band.
After adding the required indicator (Hull MA), here’re the implementation and results
# Example 2: (Crosses Above/Below)
We want to implement Fibonacci Level on the Squeeze Momentum by LazyBear . Our requirements are as follows:
Fibonacci levels start when the Squeeze Momentum histogram crosses above 0.
Fibonacci levels end when the Squeeze Momentum histogram crosses below 0.
Upper Pivot is the Bollinger Upper Band.
Lower Pivot is the Bollinger Lower Band.
After adding the required indicators (Squeeze Momentum & Bollinger Band), here’re the implementation and results
# Example 3: (Crosses Above/Below)
We want to implement Fibonacci Level on the Crossing Moving Averages. Our requirements are as follows:
Fibonacci levels start when the 20-EMA crosses above 100-MA.
Fibonacci levels end when the 20-EMA crosses below 100-MA.
Upper Pivot is the ATR Upper Band.
Lower Pivot is the ATR Lower Band.
After adding the required indicators (20-EMA & 100-MA), here’re the implementation and results
# Example 4: (New Phase: When the previous value is NaN, and the current value is a real number.)
We want to implement Fibonacci Level on the Supertrend. Our requirements are as follows:
Fibonacci levels start when an up-Supertrend (green) line shows up.
Fibonacci levels end when a down-Supertrend (red) line shows up.
Upper Pivot is the down-Supertrend.
Lower Pivot is the up-Supertrend.
After adding the required indicator (Supertrend), here’re the implementation and results
# Example 5: (First/Last Bar)
We want to implement Fibonacci Level between two points, 330 & 300. Our requirements are as follows:
Fibonacci levels start at first bar on the chart.
Fibonacci levels end at last bar on the chart.
Upper Pivot is 330.
Lower Pivot is 300.
Here’re the implementation and results.
To customize the number of bars back (like 50 bars)
_______________________
▋ Final Comments:
The “Fibonacci Levels on Any Indicator” is made to apply on other indicators for planning Fibonacci Levels.
It can be implemented in different ways, along with presented examples.
This indicator does not work with plots that were developed by drawing classes.
Please let me know if you have any questions.
Thank you.
Swing High/Low Support ResistanceThis indicator detects recent swing highs and swing lows using Pine Script pivots and marks them with visible chart labels. These points highlight potential turning areas in price action and can help identify short-term support or resistance for intraday or swing trading.
How to Apply
Locate the indicator in TradingView’s “Indicators” library; search by its name or author.
Click the star icon to mark it as a favourite for quick future access.
Apply directly to your chosen chart and timeframe with a single click—no need to enter or paste code.
Adjust the input parameters from the settings panel if desired to personalize swing sensitivity.
Choose Your Timeframe:
Apply to any intraday or swing timeframe; shorter lengths show more frequent pivots.
Set Sensitivity:
Use the “Swing Detection Length” input to adjust how many bars define a pivot, making swings more or less sensitive to price action.
How to Analyze
Swing High Labels: Mark recent local peaks, suggesting resistance zones or possible reversal points.
Swing Low Labels: Highlight recent bottoms, indicating support or bounce areas.
Monitor labels for clustering or repeated appearance at similar levels, which may strengthen their importance as price reacts near those points.
Track how price behaves after forming new pivots—multiple tests can affirm the relevance of a level.
What Traders Should Watch
Price reaction at labeled areas: frequent tests may anticipate reversals or breakouts.
Transition between higher highs/higher lows (uptrend) vs. lower highs/lower lows (downtrend).
Combine the swing levels with other analysis methods, such as volume, RSI, or EMA, for better signal quality.
Features Included
Dynamic swing high and low detection via confirmed pivots.
Direct labeling on the chart for market structure clarity.
No repainting—labels show only after complete formation.
Fully automatic updates as price action unfolds.
No promotional, external, or non-compliant elements; open source and safe for public or private use.
Compliance Notes
No signals, buy/sell calls, financial advice, or performance claims.
No hidden code, advertising, or off-platform contacts.
Pure educational and analytical utility; adheres to all TradingView house rules and script publishing policies.
Disclaimer
This indicator is for informational purposes only and does not constitute advice. Always do your own research and use proper risk management.
Market Structure Trailing Stop MTF [Inspired by LuxAlgo]# Market Structure Trailing Stop MTF
**OPEN-SOURCE SCRIPT**
*208k+ views on original · Modified for MTF Support*
This indicator is a direct adaptation of the renowned **Market Structure Trailing Stop** by **LuxAlgo** (original script: [Market Structure Trailing Stop ]()). The core logic remains untouched, providing dynamic trailing stops based on market structure breaks (CHoCH/BOS). The **only modification** is the addition of **Multi-Timeframe (MTF) support**, allowing users to apply the trailing stops and structures from **higher timeframes (HTF)** directly on their current chart. This enhances usability for traders analyzing cross-timeframe confluence without switching charts.
**Special thanks to LuxAlgo** for releasing this powerful open-source tool under CC BY-NC-SA 4.0. Your contributions to the TradingView community have inspired countless traders—grateful for the solid foundation!
## 🔶 How the Script Works: A Deep Dive
At its heart, this indicator detects **market structure shifts** (bullish or bearish breaks of swing highs/lows) and uses them to generate **adaptive trailing stops**. These stops trail the price while protecting profits and acting as dynamic support/resistance levels. The MTF enhancement pulls this logic from user-specified higher timeframes, overlaying HTF structures and stops on the lower timeframe chart for seamless multi-timeframe analysis.
### Core Logic (Unchanged from LuxAlgo's Original)
1. **Pivot Detection**:
- Uses `ta.pivothigh()` and `ta.pivotlow()` with a user-defined lookback (`length`) to identify swing highs (PH) and lows (PL).
- Coordinates (price `y` and bar index/time `x`) are stored in persistent variables (`var`) for tracking recent pivots.
2. **Market Structure Detection**:
- **Bullish Structure (BOS/CHoCH)**: Triggers when `close > recent PH` (break above swing high).
- If `resetOn = 'CHoCH'`, resets only on major shifts (Change of Character); otherwise, on all breaks.
- Sets trend state `os = 1` (bullish) and highlights the break with a horizontal line (dashed for CHoCH, dotted for BOS).
- Initializes trailing stop at the local minimum (lowest low since the pivot) using a backward loop: `btm = math.min(low , btm)`.
- **Bearish Structure**: Triggers when `close < recent PL`, mirroring the bullish logic (`os = -1`, local maximum for stop).
- Structure state `ms` tracks the break type (1 for bull, -1 for bear, 0 neutral), resetting based on user settings.
3. **Trailing Stop Calculation**:
- Tracks **trailing max/min**:
- On new bull structure: Reset `max = close`.
- On new bear: Reset `min = close`.
- Otherwise: `max = math.max(close, max)` / `min = math.min(close, min)`.
- **Stop Adjustment** (the "trailing" magic):
- On fresh structure: `ts = btm` (bull) or `top` (bear).
- In ongoing trend: Increment/decrement by a percentage of the max/min change:
- Bull: `ts += (max - max ) * (incr / 100)`
- Bear: `ts += (min - min ) * (incr / 100)`
- This creates a **ratcheting effect**: Stops move favorably with the trend but never against it, converging toward price at a controlled rate.
- **Visuals**:
- Plots `ts` line colored by trend (teal for bull, red for bear).
- Fills area between `close` and `ts` (orange on retracements).
- Draws structure lines from pivot to break point.
4. **Edge Cases**:
- Variables like `ph_cross`/`pl_cross` prevent multiple triggers on the same pivot.
- Neutral state (`ms = 0`) preserves prior `max/min` until a new structure.
### MTF Enhancement (Our Addition)
- **request.security() Integration**:
- Wraps the entire core function `f()` in a security call for each timeframe (`tf1`, `tf2`).
- Returns HTF values (e.g., `ts1`, `os1`, structure times/prices) to the chart's context.
- Uses `lookahead=barmerge.lookahead_off` for accurate historical repainting-free data.
- Structures are drawn using `xloc.bar_time` to align HTF lines precisely on the LTF chart.
- **Multi-Output Handling**:
- Separate plots/fills/lines for each TF (e.g., `plot_ts1`, `plot_ts2`).
- Colors and toggles per TF to distinguish HTF1 (e.g., teal/red) from HTF2 (e.g., blue/maroon).
- **Benefits**: Spot HTF bias on LTF entries, e.g., enter longs only if both TF1 (1H) and TF2 (4H) show bullish `os=1`.
This keeps the script lightweight—**no repainting, max 500 lines**, and fully compatible with LuxAlgo's original behavior when TFs are set to the chart's timeframe.
## 🔶 SETTINGS
### Core Parameters
- **Pivot Lookback** (`length = 14`): Bars left/right for pivot detection. Higher = smoother structures, fewer signals; lower = more noise.
- **Increment Factor %** (`incr = 100`): Speed of stop convergence (0-∞). 100% = full ratchet (mirrors max/min exactly); <100% = slower trail, reduces whipsaws.
- **Reset Stop On** (`'CHoCH'`): `'CHoCH'` = Reset only on major reversals (dashed lines); `'All'` = Reset on every BOS/CHoCH (tighter stops).
### MTF Support
- **Timeframe 1** (`tf1 = ""`): HTF for first set (e.g., "1H"). Empty = current chart.
- **Timeframe 2** (`tf2 = ""`): Second HTF (e.g., "4H"). Enables dual confluence.
### Display Toggles
- **Show Structures** (`true`): Draws horizontal lines for breaks (per TF colors).
- **Show Trailing Stop TF1/TF2** (`true`): Plots the stop line.
- **Show Fill TF1/TF2** (`true`): Area fill between close and stop.
### Candle Coloring (Optional)
- **Color Candles** (`false`): Enables custom `plotcandle` for body/wick/border.
- **Candle Color Based On TF** (`"None"`): `"TF1"`, `"TF2"`, or none. Colors bull trend green, bear red.
- **Candle Colors**: Separate inputs for bull/bear body, wick, border (e.g., solid green body, transparent wick).
### Alerts
- **Enable MS Break Alerts** (`false`): Notifies on structure breaks (bull/bear per TF) **only on bar close** (`barstate.isconfirmed` + `alert.freq_once_per_bar_close`).
- **Enable Stop Hit Alerts** (`false`): Triggers on stop breaches (long/short per TF), using `ta.crossunder/crossover`.
### Colors
- **TF1 Colors**: Bullish (teal), Bearish (red), Retracement (orange).
- **TF2 Colors**: Bullish (blue), Bearish (maroon), Retracement (orange).
- **Area Transparency** (`80`): Fill opacity (0-100).
## 🔶 USAGE
Trailing stops shine in **trend-following strategies**:
- **Entries**: Use structure breaks as signals (e.g., long on bullish BOS from HTF1).
- **Exits**: Trail stops for profit-locking; alert on hits for automation.
- **Confluence**: Overlay HTF1 (e.g., 1H) for bias, HTF2 (e.g., Daily) for major levels—enter LTF only on alignment.
- **Risk Management**: Lower `incr` avoids early stops in chop; reset on `'All'` for aggressive trailing.
! (i.imgur.com)
*HTF1 shows bullish structure (teal line), trailing stop ratchets up—long entry confirmed on LTF pullback.*
! (i.imgur.com)
*TF1 (blue) bearish, TF2 (red) neutral—avoid shorts until alignment.*
! (i.imgur.com)
*Colored based on TF1 trend: Green bodies on bull `os=1`.*
Pro Tip: Test on demo—pair with LuxAlgo's other tools like Smart Money Concepts for full structure ecosystem.
## 🔶 DETAILS: Mathematical Breakdown
On bullish break:
- Local min: `btm = ta.lowest(n - ph_x)` (optimized loop equivalent).
- Stop init: `ts = btm`.
- Update: `Δmax = max - max `, `ts_new = ts + Δmax * (incr/100)`.
Bearish mirrors with `Δmin` (negative, so decrements `ts`).
In MTF: HTF `time` aligns lines via `line.new(htf_time, level, current_time, level, xloc.bar_time)`.
No logs/math libs needed—pure Pine v5 efficiency.
## Disclaimer
This is for educational purposes. Not financial advice. Backtest thoroughly. Original by LuxAlgo—modify at your risk. See TradingView's (www.tradingview.com). Licensed under CC BY-NC-SA 4.0 (attribution to LuxAlgo required).
Fork Handles by @treypeng
Candle based indicator that shows swing highs and lows (pivots).
It draws an up or down arrow for simple three candle 'single' swings.
For stronger five candle 'double' swings, it colours the candle. Good for highlighting stronger reversals.
Both of these stylings can be toggled on/off individually.
Default colours
Swing HIGH on an UP candle: bright green
Swing HIGH on an DOWN candle: bright red
Swing LOW on an UP candle: blue
Swing LOW on an DOWN candle: brown
Double swings are grey or white.
Regular candles are just kept to your own default colours as specified in the chart settings.
👏 for anyone who gets the 'fork handles' joke reference.
Intermarket Swing Projection [LuxAlgo]The Intermarket Swing Projection allows traders to plot price movement swings from any user-selected asset directly onto the chart in the form of zigzags and/or horizontal support and resistance levels.
This tool rescale the external asset price on the user chart, enabling traders to make direct comparisons.
It answers the question of how different the price behavior is between two assets, accounting for each asset's volatility.
🔶 USAGE
This tool is based on swing detection of two different assets: the chart and a user-selected asset. It allows traders to compare two assets on an equal footing while accounting for volatility and price behavior.
Traders can customize the detection by selecting a custom ticker, timeframe, the number of swings and length for swing detection. This makes the tool a Swiss army knife for asset comparison.
As we can see in the image below, the Show Last, Pivot Length, and Spread parameters are key to defining the final output of the tool.
"Show Last" defines how many pivots are displayed. "Pivot Length" is used for pivot detection; a larger value will detect larger market structures. "Spread" defines how far apart the horizontal levels will be from their original location in terms of volatility.
🔹 Comparing different assets
This image shows the Nasdaq 100 futures contract compared to four other futures contracts: S&P 500, gold, bitcoin, and euro/U.S. dollar.
Plotting all of these assets in Nasdaq 100 terms makes it easy to compare and analyze price behaviors and identify key levels.
In the top left chart, we have NQ vs. ES. It's no surprise that they are practically an exact match; a large portion of the S&P 500 is technology.
In the top right chart, NQ vs. GC, we see totally different behaviors. We can clearly see the summer consolidation in gold and the resumption of the uptrend, which took gold above 29,200 NQ points, up from 21,200.
In the bottom right chart, we see bitcoin making new highs, way above the Nasdaq in May, July, and October. However, the last high was way below the Nasdaq prices on October 27—the first lower high in a while. Sellers are pushing down.
Finally, the bottom left chart is NQ vs. 6E. We can see large volatility in the uptrend since February, with NQ unable to catch up until now. The last swing low was almost a match, and 6E is in a range.
As we can see, this tool allows us to perform intermarket analysis properly by accounting for each asset's volatility and price behavior. Then, we plot them on the same scale on equal terms, which makes performing this kind of analysis easy.
As we can see in the chart above, the assets are the same as in the previous image, but the timeframe is 1H with different settings.
Note the horizontal levels acting as support and resistance, as well as how NQ prices react to the zones marked with white circles. These levels are derived from custom assets selected by the user.
🔹 Displaying Elements
Zig-zag allows traders to clearly see the path that the selected asset's price took, as well as its turning points.
Horizontal levels are displayed from those turning points to the present and can be used as support or resistance. Traders can adjust the spread parameter in the settings panel to expand or contract those levels' volatility.
There are two color modes for the levels: average and pivots. In the first mode, green is used for levels below the average and red for levels above the average. The second uses green for swing lows and red for swing highs.
The backpaint feature is enabled by default and allows the swings to be displayed in the correct location. With this feature disabled, the swings will be displayed in the current location when a new swing is detected.
🔶 DETAILS
On a more technical note, the rescaling is formed by calculating three main elements from all the swings detected on the custom and chart assets:
The chart asset's average of all swing points
The chart asset's standard deviation of all swing points
The custom asset's z-score for each swing point
Then, the re-scaled swing point is calculated as the average plus the z-score multiplied by the standard deviation. This makes it possible to plot AAPL swings on an NQ chart, for example.
Thanks to re-scaling, we can directly compare the price behavior of two assets with different price ranges and volatility on the same chart.
🔶 SETTINGS
🔹 Trendlines
Ticker: Select the custom ticker.
Timeframe: Select a custom timeframe.
Show Last: Select how many swing points to display.
Pivot Length: Select the size for swing point detection.
Spread: Volatility multiplier for horizontal levels. Larger values mean the levels are farther apart.
Backpaint: Enable or disable the backpaint feature. When enabled, the drawings will be displayed where they were detected. When disabled, the drawings will be displayed at the moment of detection.
🔹 Style
Show ZigZag: Enable or disable the ZigZag display and choose a line style.
Show Levels: Enable or disable the levels display and choose a line style.
Color Mode: Choose between Average Mode, which colors all levels below the average bullish and all levels above bearish, and Pivot Mode, which colors swing highs bearish and swing lows bullish.
Bullish: Select a bullish color.
Bearish: Select a bearish color.
ZigZag: Select the ZigZag color.
Double Top/Bottom [AlgoAlpha]Introducing the Double Top/Bottom Indicator by AlgoAlpha, a powerful tool designed to identify key reversal patterns in the market with precision. This indicator meticulously detects double tops and double bottoms, helping traders recognize potential trend reversals and make informed trading decisions.
Key Features:
🔍 Pattern Detection : Accurately identifies double top and double bottom formations based on customizable time horizons.
🎨 Customizable Appearance : Choose your preferred colors for bullish and bearish trends to match your trading style.
📊 Signal Labels : Option to display only the second pivot of the double top/bottom for a cleaner chart view.
🔧 Flexible Settings : Adjust the time horizon to control the look-back period, allowing for detection of both short-term and long-term patterns.
📈 Visual Enhancements : Draws trend lines and fills between pivotal points to visually highlight potential reversal zones.
🔔 Alerts : Set up alerts for potential double top and double bottom formations to stay informed of key market movements.
How to Use the Double Top/Bottom Indicator :
🛠 Add the Indicator : Simply add the Double Top/Bottom Indicator to your TradingView chart from your favorites. Customize the time horizon and appearance settings to fit your trading preferences.
📊 Analyze Patterns : Watch for the identified double top and double bottom patterns along with the corresponding trend lines and filled areas to anticipate potential market reversals.
🔔 Set Alerts : Enable alerts to receive notifications when double top or double bottom patterns are detected, ensuring you never miss a critical trading opportunity.
How It Works : The indicator scans the price action for pivot highs and lows within a specified time horizon, identifying potential double top and double bottom patterns. It maintains a sequence of these pivots and verifies the formation of these patterns based on the relationship between consecutive pivots and the proximity to a defined limit. When a double top or double bottom is confirmed, the indicator marks the second pivot point with a label and draws trend lines to visualize the reversal pattern. Additionally, it provides alert conditions to notify traders of potential confirmations, enhancing decision-making without cluttering the chart.
⚠️ Important Reminder : The labels indicating double tops and bottoms appear with a delay and are intended to mark the formations after they have already formed. They are not meant to be used as real-time trading signals. While they align perfectly with pivot points in hindsight, please use them as markers for analysis rather than immediate trading triggers.
PivottrendHi all!
This script is based on the concept of "higher highs and higher lows" and "lower highs and lower lows". Bullish/bearish trend changes when a previous pivot (low in bullish trend and high in bearish trend) is broken (or has equal value). Some settings are customizable by the user:
Timeframe
- You can choose what timeframe the pivots are found on
Left length
- The left length used for the pivots found
Right length
- The right length used for the pivots found
Show labels
- Choose if you want to display buy and sell labels
Show pivots
- Choose if you want to display the pivots found
Show MSS
- Choose if you want to display a line when price breaks a previous pivot
The "look and feel" is inspired by the script "SuperTrend" by KivancOzbilgic ().
Best of trading luck!
ATR ZigZag - Volatility-Filtered Market StructureDescription
This indicator draws ZigZags using an ATR based threshold for direction switching to identify major swing highs and lows. Instead of relying on fractals or fixed bar-count swings, pivots are confirmed only when price moves beyond the prior extreme by:
threshold = ATR(length) × ATR_mult
This filters noise, enforces valid swing structure (high → low → high), and adapts automatically to volatility. The ATR ZigZag is ideal for traders who want a clean, objective view of swing structure without noise. This has many uses, including mapping swing structure, drawing chart patterns, and trading around extremes.
Lag and Repainting
Pivots are confirmed only after price moves sufficiently in the opposite direction. This creates necessary lag. The ZigZag is drawn when this occurs, and will anchor to the high/low in the past. Optional detection dot plots show exactly when confirmation occurred.
What You See
ZigZag: dashed gray line, repainted to anchor at the confirmed highs and lows
Latest Pivot Levels: Dashed horizontal lines at the most recent confirmed high/low.
Optional Live Swing Leg: A real-time line from the last confirmed pivot to the current swing extreme, updating until a new pivot forms.
Optional ATR Boxes: 1×ATR shaded zones around the latest pivot for structural context.
Optional Pivot Confirmation Dots: Markers show the bar where the threshold is crossed and a swing is officially confirmed. This is to understand the lag and see when the ZigZag repainted.






















