MTF OB Supply Demand ZonesHello everyone,
This exceptional indicator provides you with visual representations of bullish and bearish order blocks or supply and demand zones across multiple timeframes. In simple terms, bullish order blocks are represented by a small red candle followed by a large red candle, while bearish order blocks are depicted as a small green candle followed by a large red candle. Supply and demand zones are drawn by using order blocks.
Features:
Display order blocks from up to three different timeframes.
Customize the maximum number of boxes shown and the colors of the zones.
Choose from three different modes: OB (Order Block), Extended OB, and Supply/Demand.
Mode Descriptions:
OB: Includes the body of the candle.
Extended OB: Encompasses the body and wick of the candle.
Supply/Demand: Covers the body, wick, and half the body of the large candle.
Usage:
Ensure that charts 2 and 3 are set to a higher timeframe. For modes 2 and 3, it’s recommended to reduce the maximum number of boxes shown. The zones or boxes are transparent, allowing for overlap. This feature aids in identifying reversal zones or confirmed zones. The more intense the color, the stronger the confirmation. If a green zone overlaps a red zone (or vice versa), it signifies a reversal zone.
Thank you for checking out this indicator!
---
Additional Information:
Order blocks refer to specific price areas where large market participants, such as institutional traders, have previously placed significant buy or sell orders. These clusters of orders can impact price movement, liquidity, and market sentiment.
Order blocks are a strategic approach to identifying key levels of support and resistance based on the behavior of institutional traders. These key levels are then utilized as entry or exit points for trades.
An order block is an area where there has been a large concentration of limit orders awaiting execution. These blocks are identified on a chart by observing previous price action and pinpointing areas where the price experienced significant movement or abrupt changes in direction.
Order blocks are used in the following popular trading philosophies:
Smart Money Concepts (SMC)
Inner Circle Trading (ICT)
Price Action
---
Credits to: @AGFXTRADING
חפש סקריפטים עבור "zone"
Donchian MA Bands [LuxAlgo]The Donchian MA Bands script is a complete trend indicator derived from the popular Donchian channel indicator as well as various customizable moving averages to estimate trend direction and build support/resistance levels & zones.
🔶 USAGE
The indicator outputs various elements, the main ones being a lower dynamic zone (blue by default), an upper dynamic zone (in orange by default), and one support and resistance level/zones (red/green by default).
A prominent lower zone is indicative of an uptrend, while a prominent upper zone is indicative of a downtrend. These zones can be used as support/resistance as well.
Support/resistance zones and levels can be used using a breakout methodology or to determine price bounced if a level was tested multiple times.
The indicator contains various modes affecting the output of the indicator, described below.
🔹 Clouds
Clouds return one upper/lower dynamic zone and look/act similarly to a trailing stop. Price over the lower zone is indicative of an uptrend, and price under the upper zone is indicative of a downtrend.
🔹 Upper Band
The upper band mode returns a dynamic zone closer to prices during an uptrend, and farther away during a downtrend.
This band can act as a support during uptrends.
🔹 Lower Band
The lower band mode returns a dynamic zone closer to prices during an uptrend, and farther away during a downtrend.
This band can act as a resistance during downtrends.
🔹 Bands
Bands return both upper and lower zones, the zones are more apparent depending on the price trend direction, with uptrends being indicated by a more visible lower zone, and downtrends being indicated by a more visible upper zone.
Breakout dots are highlighted when price breakout the indicator displayed extremities, and can be indicative of a confirmed trend reversal.
These breakouts can be more effective for trend following during trending markets. Ranging markets might return breakouts highlighting the top/bottom.
🔶 DETAILS
The core of this script is the highest / lowest mean average (MA) value for a given number of bars back ( Donchian lines).
This is repeated a few times with the obtained values.
When Bands are chosen ( Style ) this will be repeated 1 more time.
The type of mean average can be customized ( Type MA ), as well as the number of bars back ( Length ).
Depending on the choice of bands ( Style ) the script will focus on certain area's of interest.
When the option Clouds , Upper band or Lower band is chosen, an extra feature, support/resistance (S/R), will be shown.
These color-filled areas are visible when there is a difference between the 2nd and 3rd highest/lowest values.
The lines/areas can be used for stop loss, entry, exit,...
You can set the type of MA and Length separately ( Settings -> S/R ).
If you don't need this feature, simply set Type ( Settings -> S/R ) -> NONE
The shape sometimes resembles triangles, indicating a potential direction
Default the average of the highest and lowest values is plotted (Style -> Mid Donchian)
This can act as potential support/resistance or visualization of the trend, the mean average is not plotted but can be (Style -> MA)
🔹 Note
When the option Bands is chosen, an indication is plotted when the closing price breaks above the highest band or breaks below the lower band. This isn't necessarily a buy/sell signal, it is merely a signal that these lines are broken.
Users should decide on their own how they use the bands/lines/areas as entry, exit, trailing stop, stop loss, profit taking,...
🔶 SETTINGS
🔹 Bands
Style: Clouds (default), Upper band, Lower band, Bands
Type MA: choose between SMA, EMA, RMA, HullMA, WMA, VWMA (default), DEMA, TEMA, NONE (off)
Length: Length of moving average and Donchian calculations (default 20)
Colour Bands
🔹 S/R (Support/Resistance, visible with Clouds, Upper band or Lower band)
Type MA: choose between SMA, EMA, RMA, HullMA, WMA, VWMA (default), DEMA, TEMA, NONE (off)
Length: Length of moving average and Donchian calculations (default 20)
Colour S/R
Dual Fibonacci Zone & Ranged Vol DCA Strategy - R3c0nTraderWhat does this do?
This is for educational purposes and allows one to backtest two Fibonacci Zones simultaneously. This also includes an option for Ranged Volume as a parameter.
Pre-requisites:
First off, this is a Long only strategy as I wrote it with DCA in mind. It cannot be used for shorting. Shorting defeats the purpose of a DCA bot which has a goal that is Long a position not Short a position. If you want to short, there are plenty of free scripts out there that do this.
You must have some base knowledge or experience with Fibonacci trading, understanding what is ADX, +DI (and -DI), etc.
You can use this script without a 3Commas account and see how 3Commas DCA Bot would perform. However, I highly recommend inexperienced uses get a free account and going through the tutorials, FAQ's and knowledgebase. This would give you a base understanding of the settings you will see in this strategy and why you will need to know them. Only then should you try testing this strategy with a paper bot.
Background
After I had created and released "Fibonacci Zone DCA Strategy", I began expanding and testing other ideas.
The first idea was to add Ranged Volume to the Fibonacci Zone DCA strategy which I wanted for providing further confirmation before entering a trade. The second idea was to add a second Fibonacci Zone that was just as configurable as the first Fibonacci Zone. I managed to add both and they can be easily enabled or disabled via the strategy settings menu.
Things Got Real Interesting
Things got real interesting when I started testing strategies with two Fibonacci zones. Here's a quick list of what I found I was able to do:
Mix and match exit strategies. I could set the Fib-1 zone strategy to exit with a take profit % and separately set the Fib-2 zone strategy to exit when the price crosses the top-high fib border
Trade the trend. A common phrase amongst traders is "the Trend is your friend" and with the help of an additional Fib Zone, I was able to trade the trend more often by using two different Fib Zone strategies which if configured properly can shorten time to re-deploy capital, increase number of closed trades, and in some cases increase net profit.
Trade both bull market uptrends and bear market downtrends in the same strategy. I found I could configure one Fib Zone strategy to be really good in uptrends and another Fib Zone strategy to be really good in downtrends. In some cases, with both Fib Zone strategies enabled together in a single strategy I got better results than if the strategies were backtested separately.
There are many other trade strategies I am finding with this. One could be to trade a convergence or divergence of the two different Fib Zones. This could possibly be achieved by setting one strategy to have different Fibonacci length.
Credits:
Thank you "EvoCrypto" for granting me permission to use "Ranged Volume" to create this strategy
Thank you "eykpunter" for granting me permission to use "Fibonacci Zones" to create this strategy
Thank you "junyou0424" for granting me permission to use "DCA Bot with SuperTrend Emulator" which I used for adding bot inputs, calculations, and strategy
Volume-based Support & Resistance ZonesThe new and improved Support & Resistance Zones indicator is here. This indicator is based on high volume at fractal lows or fractal highs with the zones based on the size of the wick for that timeframe’s candle.
This helps traders visualize which price levels are of the most significance for either reversals or continuation of the trend when zones are broken and then re-tested.
Original script is thanks to synapticex and additional modifications is thanks to Lij_MC. Credit to both of them for most of the logic behind this script.
Since then I have made many changes to this script as noted below:
Changed default S/R lines from plots to lines, and gave option to user to change between solid line, dashed line, or dotted line for both S/R lines.
Added additional time frame and gave more TF options for TF1 other than current TF. Now you will have 4 time frames to plot S/R zones from.
Gave user option to easily change line thickness for all S/R lines.
Made it easier to change colors of S/R lines and zones by consolidating the options under settings (rather than under style).
Added extensions to active SR Zones to extend all the way right.
Added option to extend or not extend the previous S/R zones up to next S/R zone.
Added optional time frame labels to active S/R zones, with left and right options as well as option to adjust how far to the right label is set.
Fixed issue where the higher time frame S/R zone was not properly starting from the high/low of fractal. Now any higher time frame S/R will begin exactly at the High/Low points. Note that this may not work perfectly on stocks and if a fractal high/low is too many bars in the past, it will revert to a default max bars back to avoid script errors.
Added to script a function that will prevent S/R zones from lower time frames displaying while on a higher time frame. This helps clean up the chart quite a bit.
Created arrays for each time frame's boxes and lines so that the number of S/R zones can be controlled for each time frame and limit memory consumption.
New alert options added and customized alert messages.
- The way this indicator works is it looks for fractal highs or fractal lows with volume that pierces above the volume's Moving Average. This moving average value can be modified in the settings for each time frame.
- The fractal highs will be confirmed with 3 successive higher highs followed by 2 successive lower highs and vice versa for the fractal lows.
- The zone is created from the fractal high/low and the close of the candle for whatever time frame you selected. The bigger the zone, the more significant that zone is.
- You can disable any zone, change the zones to show lines only, and modify all the colors, transparencies, and thickness of lines for all the zones.
- To create alerts, you first want to enable the types of alerts you want for each time frame in the indicator's settings. Then after you apply changes, right click on one of the zones on the chart, and click "Add Alert on Vol S/R Zones". You do not need to add a title as the correct alert messages are already built-in.
- More changes will be coming in the future!
I hope you find this indicator useful, if so please give it a thumbs up!
If you have any suggestions or features you would like to see, just let me know in the comment section. Thanks and enjoy!
Auto Reaction Zones (XAUUSD)
✅ Auto Reaction Zones (XAUUSD) OANDA:XAUUSD
Auto Reaction Zones (XAUUSD) is an advanced supply & demand mapping tool designed to detect high-probability reaction zones using price impulses, volatility filters, market structure, and adaptive confirmation logic.
This indicator automatically identifies strong bullish and bearish reaction bases formed before impulsive movements, then plots dynamic demand and supply zones that help traders anticipate future reactions, reversals, or continuation points.
🔍 Core Features
▪ Automatic Supply & Demand Zone Detection
Identifies zones based on structural breakout impulses using ATR-based thresholds, volume confirmation, and validated base levels.
▪ Adaptive Confirmation Distance (ADR-Based)
The zone becomes active/confirmed only after price moves a configurable number of points.
A unique 3-case ADR logic adjusts the required confirmation distance based on current market volatility:
Case 1: Low ADR → smaller confirmation required
Case 2: Moderate ADR → medium confirmation
Case 3: High ADR → higher confirmation (more filtering)
This ensures stronger zones in high-volatility conditions (e.g., XAUUSD).
▪ Smart Zone Management
Automatic extension until tested or consumed
Optional lifetime limits (bars or days)
Auto-delete unconfirmed zones if price violates them too early
Hide tested or consumed zones for a cleaner chart
▪ Adjustable Zone Size Filtering
Option to enforce a minimum or maximum zone size, useful for cleaning noise and ultra-small reaction levels.
▪ ADR-Based Zone Spacing Filter
Prevents the creation of zones that are too close to each other.
Different spacing rules for same-direction and opposite-direction zones.
▪ Multi-Timeframe Mode
Overlay zones detected from higher timeframes directly onto your current chart.
▪ Directional Bias (EMA Filter)
Optionally restrict long/short zones based on EMA trend alignment.
▪ Real-Time Alerts
Receive alerts when price touches any active zone or only fresh zones.
🎯 Why This Indicator Is Different
Unlike typical supply/demand indicators that print every swing,
Auto Reaction Zones focuses on:
Only strong reaction bases
Only valid impulse-generated levels
Only zones confirmed by price movement
Only zones that respect volatility and minimum spacing rules
This results in cleaner charting, fewer false zones, and far more reliable reaction levels, especially on volatile instruments like XAUUSD.
⚠️ Disclaimer
This tool is not financial advice. Always combine zone analysis with broader market context and risk management.
Block-Based Trend Breakout (UTB/DTB) & S/R ZonesThis indicator is designed to detect potential trend reversals or volatility bursts by analyzing price action structured into "blocks." Its primary goal is to capture the earliest signals that a defined trend structure is weakening or breaking.
Signal Generation:
🟢 DTB (Downtrend Breakout): When a confirmed downtrend is identified (e.g., price has been falling for 2 blocks), the indicator waits for the price to break above the highest high of the last completed block in that trend. When this break occurs, it signals a potential bullish reversal with a green DTB triangle below the bar.
🔴 UTB (Uptrend Breakdown): When a confirmed uptrend is identified (e.g., price has been rising for 2 blocks), the indicator waits for the price to break below the lowest low of the last completed block. When this break occurs, it signals a potential bearish reversal with a red UTB triangle above the bar.
🛠️ Key Settings
Block Size (bars): The number of bars in each block used to analyze the trend structure. Lower values track short-term trends; higher values track long-term trends.
Trend Confirmation (steps): The minimum number of consecutive blocks required to "confirm" a trend.
Tolerance: Allowed Off-Trend Steps: The number of "noise" blocks allowed while confirming a trend.
Show Support/Resistance Zones: Toggles the histogram-based S/R zones on or off.
S/R Lookback (blocks): Determines how many blocks to look back for calculating S/R zones.
S/R Zone Width (in ATR): Sets the thickness of the S/R zones, denominated in ATRs.
If you find this useful please reach out and let me know how you use it as it's fairly unique... and thus different than anything I've ever seen or used.
Beta Zones [MMT]Beta Zones
Overview
The Beta Zones indicator is a multi-timeframe analysis tool designed to identify and visualize price ranges (zones) across different timeframes on a TradingView chart. It draws boxes to represent high and low price levels for each enabled timeframe, helping traders spot key support and resistance zones, track price movements, and assess market signals relative to these zones. The indicator is highly customizable, allowing users to toggle timeframes, adjust colors, and control historical visibility.
Features
Multi-Timeframe Support : Tracks up to five user-defined timeframes (default: 15m, 1H, 4H, 1D, 1W) to display price zones.
Dynamic Price Boxes : Draws boxes on the chart to represent the high and low prices for each timeframe, updating dynamically as new bars form.
Signal Indicators : Provides directional signals (▲, ▼, →) based on the previous close relative to the current box's top and bottom.
Customizable Display : Includes options to show or hide historical boxes, adjust box colors, and configure a summary table.
Summary Table : Displays a table with timeframe status, price range, and signal information for quick reference.
Settings
Timeframes
Enable/Disable : Toggle each timeframe (e.g., 15m, 1H, 4H, 1D, 1W) to display or hide its respective zones.
Timeframe Selection : Choose custom timeframes for each of the five slots.
Color Customization : Set unique fill and border colors for each timeframe's boxes (default colors: green, blue, orange, purple, red).
Display
Max Historical Boxes : Limit the number of historical boxes per timeframe (default: 1, max: 50).
Show History : Toggle visibility of historical boxes (default: false, showing only the latest box).
Min Box Height : Ensures boxes have a minimum height in ticks (default: 1.0, currently hardcoded).
Table
Show Table : Enable or disable the summary table (default: true).
Background Color : Customize the table's background color.
Header Color : Set the color for the table's header row.
Text Color : Adjust the text color for table content.
Table Columns
Timeframe : Displays the selected timeframe (e.g., 15m, 1H).
Color : Shows the color associated with the timeframe's boxes.
Status : Indicates if the timeframe is "Active" (valid and lower than the chart's timeframe), "Invalid" (enabled but not lower), or "Disabled".
Range : Shows the price range (high - low) of the current box.
Signal : Displays ▲ (price above box), ▼ (price below box), or → (price within box) based on the previous close.
How to Use
Add to Chart : Apply the indicator to your TradingView chart.
Configure Timeframes : Enable desired timeframes and adjust their settings (e.g., 15m, 1H) to match your trading strategy.
Analyze Zones : Use the boxes to identify key price levels for support, resistance, or breakout opportunities.
Monitor Signals : Check the table's "Signal" column to gauge price direction relative to each timeframe's zone.
Customize Appearance : Adjust colors and historical box visibility to suit your preferences.
Ideal For
Swing Traders : Identify key price zones across multiple timeframes for entry/exit points.
Day Traders : Monitor short-term price movements relative to higher timeframe zones.
Technical Analysts : Combine with other indicators to confirm support/resistance levels.
ICT IRL & ERL ZonesICT IRL & ERL Zones
This indicator visualizes Internal Range Liquidity (IRL) and External Range Liquidity (ERL) levels, based on ICT (Inner Circle Trader) concepts. It's designed to help traders identify key liquidity zones that often act as magnet levels or reversal points in price action.
🔍 How It Works
Lookback Range: The script analyzes the highest high and lowest low over a user-defined number of candles (default: 50).
IRL (Internal Range Liquidity):
Plots the highest high and lowest low within the lookback period.
Represented as orange lines and a shaded zone.
ERL (External Range Liquidity):
Extends the IRL boundaries by a small buffer (50 ticks above/below).
Visualizes zones where price may reach for liquidity beyond the current range.
Plotted as a green (high) and red (low) line.
⚙️ Inputs
Lookback Range: Number of candles to calculate the range (min 5).
Show IRL: Toggle visibility for Internal Range Liquidity zone.
Show ERL: Toggle visibility for External Range Liquidity buffer zone.
📊 Visual Elements
IRL High/Low: Orange lines with fill to mark the main liquidity range.
ERL High/Low: Green and red lines indicating potential liquidity sweep zones.
Zone Fill: Light orange shading to visually emphasize the IRL area.
📈 Use Case
Use this tool to:
Identify areas where price might consolidate or reverse.
Highlight likely zones of liquidity grabs before trend continuations or shifts.
Enhance entry/exit decisions based on smart money concepts.
Rocky's Dynamic DikFat Supply & Demand ZonesDynamic Supply & Demand Zones
Overview
The Dynamic Supply & Demand Zones indicator identifies key supply and demand levels on your chart by detecting pivot highs and lows. It draws customizable boxes around these zones, helping traders visualize areas where price may react. With flexible display options and dynamic box behavior, this tool is designed to assist in identifying potential support and resistance levels for various trading strategies.
Key Features
Pivot-Based Zones: Automatically detects supply (resistance) and demand (support) zones using pivot highs and lows on the chart’s timeframe.
Dynamic Box Sizing: Boxes shrink when price enters them, reflecting reduced zone strength, and stop adjusting once price fully crosses through.
Customizable Display: Choose to show current-day boxes, historical boxes, or all boxes, with an option to update past box colors dynamically.
Session-Based Extension: Boxes can extend to the current bar or stop at 4:00 PM of the creation day’s 9:30 AM–4:00 PM trading session (ideal for stock markets).
Color Coding: Borders change color based on price position:
Green for demand zones (price above the box).
Red for supply zones (price below the box).
White for neutral zones (price inside the box).
User-Friendly Inputs: Adjust pivot lookback periods, box visibility, extension behavior, and colors via intuitive input settings.
How It Works
Zone Detection: The indicator uses pivot highs and lows to define supply and demand zones, plotting boxes between these levels.
Box Behavior:
Boxes are created when pivot highs and lows are confirmed, with no overlap with the previous box.
When price enters a box, it shrinks to reflect interaction, stopping once price exits completely.
Boxes can extend to the current bar or end at 4:00 PM of the creation day (or next trading day if created after 4:00 PM or on weekends).
Display Options:
Current Only: Shows boxes created on the current day.
Historical Only: Shows boxes from previous days, with optional color updates.
All Boxes: Shows all boxes, with an option to hide historical box color updates.
Performance: Limits the number of boxes to 200 to ensure smooth performance, removing older boxes as needed.
Inputs
Pivot Look Right/Left: Set the number of bars (default: 2) to confirm pivot highs and lows.
What Boxes to Show: Select Current Only, Historical Only, or All Boxes (default: Current Only).
Boxes On/Off: Toggle box visibility (default: on).
Extend Boxes to Current Bar: Choose whether boxes extend to the current bar or stop at 4:00 PM (default: off, stops at 4:00 PM).
Update Past Box Colors: Enable/disable color updates for historical boxes (default: on).
Demand/Supply/Neutral Box Color: Customize border colors (default: green, red, white).
How to Use
Add the indicator to your chart.
Adjust inputs to match your trading style (e.g., pivot lookback, box extension, colors).
Use the boxes to identify potential support (demand) and resistance (supply) zones:
Green-bordered boxes (price above) may act as support.
Red-bordered boxes (price below) may act as resistance.
White-bordered boxes (price inside) indicate active price interaction.
Combine with other analysis tools (e.g., trendlines, indicators) to confirm trade setups.
Monitor box shrinking to gauge zone strength and watch for breakouts when price fully crosses a box.
Understanding Supply and Demand in Stock Trading
In stock trading, supply and demand are fundamental forces driving price movements. Demand refers to the willingness of buyers to purchase a stock at a given price, often creating support levels where buying interest prevents further price declines. Supply represents the willingness of sellers to offload a stock, forming resistance levels where selling pressure halts price increases. These zones are critical because they highlight areas where significant buying or selling activity has occurred, influencing future price behavior.
The importance of supply and demand lies in their ability to reveal where institutional traders, with large orders, have entered or exited the market. Demand zones, often seen at pivot lows, indicate strong buying interest and potential areas for price reversals or bounces. Supply zones, typically at pivot highs, signal heavy selling and possible reversal points for downward moves. By identifying these zones, traders can anticipate where price is likely to stall, reverse, or break out, enabling better entry and exit decisions. This indicator visualizes these zones as dynamic boxes, making it easier to spot high-probability trading opportunities while emphasizing the core market dynamics of supply and demand.
Feedback
This indicator is designed to help traders visualize supply and demand zones effectively. If you have suggestions for improvements, please share your feedback in the comments!
AO/AC Trading Zones Strategy [Skyrexio] Overview
AO/AC Trading Zones Strategy leverages the combination of Awesome Oscillator (AO), Acceleration/Deceleration Indicator (AC), Williams Fractals, Williams Alligator and Exponential Moving Average (EMA) to obtain the high probability long setups. Moreover, strategy uses multi trades system, adding funds to long position if it considered that current trend has likely became stronger. Combination of AO and AC is used for creating so-called trading zones to create the signals, while Alligator and Fractal are used in conjunction as an approximation of short-term trend to filter them. At the same time EMA (default EMA's period = 100) is used as high probability long-term trend filter to open long trades only if it considers current price action as an uptrend. More information in "Methodology" and "Justification of Methodology" paragraphs. The strategy opens only long trades.
Unique Features
No fixed stop-loss and take profit: Instead of fixed stop-loss level strategy utilizes technical condition obtained by Fractals and Alligator to identify when current uptrend is likely to be over. In some special cases strategy uses AO and AC combination to trail profit (more information in "Methodology" and "Justification of Methodology" paragraphs)
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Multilayer trades opening system: strategy uses only 10% of capital in every trade and open up to 5 trades at the same time if script consider current trend as strong one.
Short and long term trend trade filters: strategy uses EMA as high probability long-term trend filter and Alligator and Fractal combination as a short-term one.
Methodology
The strategy opens long trade when the following price met the conditions:
1. Price closed above EMA (by default, period = 100). Crossover is not obligatory.
2. Combination of Alligator and Williams Fractals shall consider current trend as an upward (all details in "Justification of Methodology" paragraph)
3. Both AC and AO shall print two consecutive increasing values. At the price candle close which corresponds to this condition algorithm opens the first long trade with 10% of capital.
4. If combination of Alligator and Williams Fractals shall consider current trend has been changed from up to downtrend, all long trades will be closed, no matter how many trades has been opened.
5. If AO and AC both continue printing the rising values strategy opens the long trade on each candle close with 10% of capital while number of opened trades reaches 5.
6. If AO and AC both has printed 5 rising values in a row algorithm close all trades if candle's low below the low of the 5-th candle with rising AO and AC values in a row.
Script also has additional visuals. If second long trade has been opened simultaneously the Alligator's teeth line is plotted with the green color. Also for every trade in a row from 2 to 5 the label "Buy More" is also plotted just below the teeth line. With every next simultaneously opened trade the green color of the space between teeth and price became less transparent.
Strategy settings
In the inputs window user can setup strategy setting:
EMA Length (by default = 100, period of EMA, used for long-term trend filtering EMA calculation).
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Let's explore the key concepts of this strategy and understand how they work together. We'll begin with the simplest: the EMA.
The Exponential Moving Average (EMA) is a type of moving average that assigns greater weight to recent price data, making it more responsive to current market changes compared to the Simple Moving Average (SMA). This tool is widely used in technical analysis to identify trends and generate buy or sell signals. The EMA is calculated as follows:
1.Calculate the Smoothing Multiplier:
Multiplier = 2 / (n + 1), Where n is the number of periods.
2. EMA Calculation
EMA = (Current Price) × Multiplier + (Previous EMA) × (1 − Multiplier)
In this strategy, the EMA acts as a long-term trend filter. For instance, long trades are considered only when the price closes above the EMA (default: 100-period). This increases the likelihood of entering trades aligned with the prevailing trend.
Next, let’s discuss the short-term trend filter, which combines the Williams Alligator and Williams Fractals. Williams Alligator
Developed by Bill Williams, the Alligator is a technical indicator that identifies trends and potential market reversals. It consists of three smoothed moving averages:
Jaw (Blue Line): The slowest of the three, based on a 13-period smoothed moving average shifted 8 bars ahead.
Teeth (Red Line): The medium-speed line, derived from an 8-period smoothed moving average shifted 5 bars forward.
Lips (Green Line): The fastest line, calculated using a 5-period smoothed moving average shifted 3 bars forward.
When the lines diverge and align in order, the "Alligator" is "awake," signaling a strong trend. When the lines overlap or intertwine, the "Alligator" is "asleep," indicating a range-bound or sideways market. This indicator helps traders determine when to enter or avoid trades.
Fractals, another tool by Bill Williams, help identify potential reversal points on a price chart. A fractal forms over at least five consecutive bars, with the middle bar showing either:
Up Fractal: Occurs when the middle bar has a higher high than the two preceding and two following bars, suggesting a potential downward reversal.
Down Fractal: Happens when the middle bar shows a lower low than the surrounding two bars, hinting at a possible upward reversal.
Traders often use fractals alongside other indicators to confirm trends or reversals, enhancing decision-making accuracy.
How do these tools work together in this strategy? Let’s consider an example of an uptrend.
When the price breaks above an up fractal, it signals a potential bullish trend. This occurs because the up fractal represents a shift in market behavior, where a temporary high was formed due to selling pressure. If the price revisits this level and breaks through, it suggests the market sentiment has turned bullish.
The breakout must occur above the Alligator’s teeth line to confirm the trend. A breakout below the teeth is considered invalid, and the downtrend might still persist. Conversely, in a downtrend, the same logic applies with down fractals.
In this strategy if the most recent up fractal breakout occurs above the Alligator's teeth and follows the last down fractal breakout below the teeth, the algorithm identifies an uptrend. Long trades can be opened during this phase if a signal aligns. If the price breaks a down fractal below the teeth line during an uptrend, the strategy assumes the uptrend has ended and closes all open long trades.
By combining the EMA as a long-term trend filter with the Alligator and fractals as short-term filters, this approach increases the likelihood of opening profitable trades while staying aligned with market dynamics.
Now let's talk about the trading zones concept and its signals. To understand this we need to briefly introduce what is AO and AC. The Awesome Oscillator (AO), developed by Bill Williams, is a momentum indicator designed to measure market momentum by contrasting recent price movements with a longer-term historical perspective. It helps traders detect potential trend reversals and assess the strength of ongoing trends.
The formula for AO is as follows:
AO = SMA5(Median Price) − SMA34(Median Price)
where:
Median Price = (High + Low) / 2
SMA5 = 5-period Simple Moving Average of the Median Price
SMA 34 = 34-period Simple Moving Average of the Median Price
The Acceleration/Deceleration (AC) Indicator, introduced by Bill Williams, measures the rate of change in market momentum. It highlights shifts in the driving force of price movements and helps traders spot early signs of trend changes. The AC Indicator is particularly useful for identifying whether the current momentum is accelerating or decelerating, which can indicate potential reversals or continuations. For AC calculation we shall use the AO calculated above is the following formula:
AC = AO − SMA5(AO) , where SMA5(AO)is the 5-period Simple Moving Average of the Awesome Oscillator
When the AC is above the zero line and rising, it suggests accelerating upward momentum.
When the AC is below the zero line and falling, it indicates accelerating downward momentum.
When the AC is below zero line and rising it suggests the decelerating the downtrend momentum. When AC is above the zero line and falling, it suggests the decelerating the uptrend momentum.
Now let's discuss the trading zones concept and how it can create the signal. Zones are created by the combination of AO and AC. We can divide three zone types:
Greed zone: when the AO and AC both are rising
Red zone: when the AO and AC both are decreasing
Gray zone: when one of AO or AC is rising, the other is falling
Gray zone is considered as uncertainty. AC and AO are moving in the opposite direction. Strategy skip such price action to decrease the chance to stuck in the losing trade during potential sideways. Red zone is also not interesting for the algorithm because both indicators consider the trend as bearish, but strategy opens only long trades. It is waiting for the green zone to increase the chance to open trade in the direction of the potential uptrend. When we have 2 candles in a row in the green zone script executes a long trade with 10% of capital.
Two green zone candles in a row is considered by algorithm as a bullish trend, but now so strong, that's the reason why trade is going to be closed when the combination of Alligator and Fractals will consider the the trend change from bullish to bearish. If id did not happens, algorithm starts to count the green zone candles in a row. When we have 5 in a row script change the trade closing condition. Such situation is considered is a high probability strong bull market and all trades will be closed if candle's low will be lower than fifth green zone candle's low. This is used to increase probability to secure the profit. If long trades are initiated, the strategy continues utilizing subsequent signals until the total number of trades reaches a maximum of 5. Each trade uses 10% of capital.
Why we use trading zones signals? If currently strategy algorithm considers the high probability of the short-term uptrend with the Alligator and Fractals combination pointed out above and the long-term trend is also suggested by the EMA filter as bullish. Rising AC and AO values in the direction of the most likely main trend signaling that we have the high probability of the fastest bullish phase on the market. The main idea is to take part in such rapid moves and add trades if this move continues its acceleration according to indicators.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.12.31. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 10%
Maximum Single Position Loss: -9.49%
Maximum Single Profit: +24.33%
Net Profit: +4374.70 USDT (+43.75%)
Total Trades: 278 (39.57% win rate)
Profit Factor: 2.203
Maximum Accumulated Loss: 668.16 USDT (-5.43%)
Average Profit per Trade: 15.74 USDT (+1.37%)
Average Trade Duration: 60 hours
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 4h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
Awesome_Accelerator_Zone OscillatorExplanation and Usage Guide for AO_AC_ZONE Oscillator
Indicator Overview
The **AO_AC_ZONE** oscillator is based on the concepts introduced by **Bill Williams** in his book *New Trading Dimensions*. This indicator combines the **Awesome Oscillator (AO)**, **Accelerator Oscillator (AC)**, and a custom **Zone Oscillator**, visualizing them together in a clear, color-coded format.
The Zone Oscillator is derived from the relationship between AO and AC, indicating the market's dominant momentum state (bullish, bearish, or neutral). It also integrates real-time candle coloring to visually align price bars with the Zone's momentum.
---
**Components**
1. **Awesome Oscillator (AO)**:
- AO measures the difference between a 5-period and 34-period Simple Moving Average (SMA) applied to the midpoints of candles.
- It reflects market momentum, where:
- Green bars = increasing momentum
- Red bars = decreasing momentum
2. **Accelerator Oscillator (AC)**:
- AC is calculated as the difference between AO and its 5-period SMA.
- It indicates the acceleration or deceleration of market momentum.
- Fuchsia bars = increasing momentum
- Purple bars = decreasing momentum
3. **Zone Oscillator**:
- The Zone combines AO and AC states:
- **Green Zone**: Both AO and AC are positive (bullish momentum).
- **Red Zone**: Both AO and AC are negative (bearish momentum).
- **Gray Zone**: AO and AC have differing signs (neutral/uncertain momentum).
- Candle colors dynamically match the Zone’s state for enhanced visual clarity.
---
**How to Use the Indicator**
**1. Interpreting the Oscillators**
- **AO**: Use it to detect momentum direction and changes. Pay attention to shifts in bar color:
- **Increasing AO (Aqua)**: Bullish momentum gaining strength.
- **Decreasing AO (Navy)**: Bullish momentum weakening or bearish momentum strengthening.
- **AC**: Provides early signals of momentum shifts.
- If AC changes color ahead of AO, it signals potential trend reversals or accelerations.
**2. Using the Zone Oscillator**
- **Green Zone**:
- Both AO and AC are positive.
- Indicates a strong bullish trend. Look for buying opportunities in line with the trend.
- **Red Zone**:
- Both AO and AC are negative.
- Signals strong bearish momentum. Look for shorting opportunities.
- **Gray Zone**:
- AO and AC are in conflict.
- Represents uncertainty; avoid trading or wait for a clear signal.
---
**Real-Time Application**
**Candle Coloring**
- The indicator modifies candle colors to match the Zone Oscillator's state:
- **Green Candles**: Strong bullish momentum.
- **Red Candles**: Strong bearish momentum.
- **Gray Candles**: Neutral momentum.
**Recommended Strategy (Based on New Trading Dimensions)**:
1. **Identify the Zone**:
- Focus on Green Zones for long entries and Red Zones for short entries.
2. **Look for AO/AC Confirmation**:
- Enter trades in the direction of both AO and AC when they align with the Zone.
- For exits, monitor when AO and AC conflict (Gray Zone).
3. **Use in Combination**:
- Combine this oscillator with fractals or trend indicators to confirm signals.
---
**Benefits**
- Visualizes momentum strength, acceleration, and alignment in one chart.
- Simplifies decision-making by integrating price action with oscillator dynamics.
- Supports faster trade identification and execution by highlighting bullish, bearish, and neutral zones.
---
**Disclaimer**
This indicator is a tool to assist in market analysis. Always incorporate proper risk management and avoid trading during uncertain conditions (Gray Zones). For optimal results, use this oscillator in conjunction with other analysis methods like support/resistance, volume analysis, and trend-following systems.
Time Zone PSenseiTitle: Time Zone PS Indicator
Author: Orlando Depablos
Description:
The Time Zone PS Indicator is a tool designed to help traders visualize different trading sessions on their charts. It allows users to specify three different trading sessions: the start of the day, the London session, and the New York (NYC) session. Each session is represented by a distinct color-coded background on the chart.
Features:
Customizable Sessions: Traders can define the start time and end time for each trading session according to their preference. This flexibility enables users to tailor the indicator to their specific trading strategies session time zones.
Session Display Control: Users have the option to choose whether they want to display each trading session on the chart. This feature allows for a clutter-free charting experience, where traders can focus on the sessions relevant to their analysis.
Visual Clarity: The indicator uses distinct colors for each trading session, making it easy for traders to differentiate between different time zones. This visual clarity aids in quickly identifying key trading periods throughout the day.
How to Use:
Setting Up Sessions: Use the input options to define the start and end times for the start of the day, the London session, and the NYC session. Adjust these values based on your trading preferences and time zone.
Display Preferences: Toggle the display options to choose which trading sessions you want to visualize on the chart. This allows for a customizable charting experience tailored to your specific needs.
Interpreting the Chart: Once configured, the indicator will display color-coded backgrounds on the chart corresponding to the defined trading sessions. Interpret these visual cues to identify key trading periods and plan your trading strategies accordingly.
Originality:
The Time Zone PS Indicator adds value to the TradingView community by providing traders with a customizable tool to visualize different trading sessions. While similar indicators exist, this script offers flexibility and ease of use, enhancing the charting experience for traders across various time zones.
Use Cases:
Session-Based Analysis: Traders can use the indicator to analyze price action within specific trading sessions, such as the London or NYC session, to identify potential trading opportunities.
Time Zone Adjustment: Traders operating in different time zones can adjust the indicator settings to align with their local trading hours, ensuring accurate visualization of relevant trading sessions.
Strategy Development: The indicator can aid in the development of trading strategies that capitalize on price movements during specific trading sessions, helping traders optimize their trading performance.
Chart Visualization:
The indicator provides a clear and concise visualization of different trading sessions on the chart. Each session is represented by a color-coded background, allowing traders to quickly identify key trading periods and make informed trading decisions.
Support and Resistance ZoneSupport and Resistance Zone Indicator :
Introduction :
The purpose of this indicator is to identify the chart symbol's main supports and resistances. It displays these key zones, which are very important psychological points for traders. Since support and resistance are not very precise levels, the indicator displays them as zones.
Pivots :
Pivots are a key concept in identifying support and resistance. The indicator uses two types of pivot:
Pivot high : This is a high point that has not been reached by a user-defined number of candles on either the left and right of this candle. The " left pivot leg " is the number of candles before this pivot point that have not reached the realized high, and the " right pivot leg " is the number of candles after this pivot point that have not reached this high. If these two conditions are met, the pivot point is considered a turning point, and resistance is probably the cause.
Pivot low : This is a low point that has not been reached by a user-defined number of candles on either the left or right. The " left pivot leg " is the number of candles before this pivot point that have not reached the candle low, and the " right pivot leg " is the number of candles after this pivot point that have not reached this low. If these two conditions are met, the pivot point is considered a turning point, and support is probably the cause.
Support/Resistance area :
If a pivot point has been identified, the indicator considers it a resistance if it's a pivot high, or a support if it's a pivot low. To define the support or resistance zone, we'll use the ATR (Average True Range), an indicator that measures asset volatility. We'll take the ATR of the candle for which the pivot was spotted, and use it as the width of the support or resistance zone. Thus the upper line of support/resistance is at pivot+atr/2 and the lower line is at pivot-atr/2 . The greater the volatility, the larger the zone.
New Support/Resistance :
If a new pivot has been identified, but the level of this pivot lies between the lower line and the upper line of the previous support or resistance, the indicator considers this to be the same support or resistance as before. In this case, no new support or resistance is created. The pivot must be outside the area of the previous support or resistance to be validated.
Anticipated Support/Resistance :
This indicator also allows early detection of support or resistance. To do this, the value of the right pivot legs will be shortened in order to find these areas more quickly. The support or resistance will then be considered anticipated and may disappear at any time if the high/low is reached. On the other hand, if the high/low is not reached, and a number of candles equal to the " Right Pivot Legs" parameter has elapsed since the detection of this anticipated support/resistance, it will be considered validated and will integrate the other supports/resistances of the chart.
Extended supports/resistances :
For a more optimal view, the indicator allows the user to choose the number of last support or resistance levels to be extended to the last candle. This must be specified in the indicator parameters.
Parameters :
Pivot Legs : Determine the left and right legs of the pivot i.e the number of candle before and after the pivot that doesn’t reach pivot point. The pivot is validated only if this two conditions are verified.
Extend Last Supports : Number of supports to extend to the last bar
Extend Last Resistances : Number of resistances to extend to the last bar
Show Support/Resistance Anticipated : If yes, will find anticipated support and resistance
Right Pivot Legs for Anticipation : Determine the right legs of pivots to find faster a support or a resistance.
Conclusion :
This indicator plot support and resistance zones based on pivot. The width of support and resistance zones are calculated with ATR. Possibility to find anticipated support and resistance in order to have more timeliness informations.
Enjoy the indicator and don’t forget to take the trade ;)
XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)//@version=6
strategy("XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)",
overlay = true,
initial_capital = 10000,
pyramiding = 10,
process_orders_on_close = true)
//━━━━━━━━━━━━━━━━━━━
// 1. INPUTS
//━━━━━━━━━━━━━━━━━━━
// TP / SL
tp1Pips = input.int(10, "TP1 (pips)", minval = 1)
fixedSLpips = input.int(50, "Fixed SL (pips)", minval = 5)
runnerRR = input.float(3.0, "Runner RR (TP2 = SL * RR)", step = 0.1, minval = 1.0)
// Daily risk
maxDailyLossPct = input.float(5.0, "Max daily loss % (stop trading)", step = 0.5)
maxDailyProfitPct = input.float(20.0, "Max daily profit % (stop trading)", step = 1.0)
// HTF S/R (1H)
htfTF = input.string("60", "HTF timeframe (minutes) for S/R block")
// Profit strategy (Option C)
profitStrategy = input.string("Minimal Risk | Full BE after TP1", "Profit Strategy", options = )
// Runner stop mode (your option 4)
runnerStopMode = input.string( "BE only", "Runner Stop Mode", options = )
// ATR trail settings (only used if ATR mode selected)
atrTrailLen = input.int(14, "ATR Length (trail)", minval = 1)
atrTrailMult = input.float(1.0, "ATR Multiplier (trail)", step = 0.1, minval = 0.1)
// Pip size (for XAUUSD: 1 pip = 0.10 if tick = 0.01)
pipSize = syminfo.mintick * 10.0
tp1Points = tp1Pips * pipSize
slPoints = fixedSLpips * pipSize
baseQty = input.float (1.0, "Base order size" , step = 0.01, minval = 0.01)
//━━━━━━━━━━━━━━━━━━━
// 2. DAILY RISK MANAGEMENT
//━━━━━━━━━━━━━━━━━━━
isNewDay = ta.change(time("D")) != 0
var float dayStartEquity = na
var bool dailyStopped = false
equityNow = strategy.initial_capital + strategy.netprofit
if isNewDay or na(dayStartEquity)
dayStartEquity := equityNow
dailyStopped := false
dailyPnL = equityNow - dayStartEquity
dailyPnLPct = dayStartEquity != 0 ? (dailyPnL / dayStartEquity) * 100.0 : 0.0
if not dailyStopped
if dailyPnLPct <= -maxDailyLossPct
dailyStopped := true
if dailyPnLPct >= maxDailyProfitPct
dailyStopped := true
canTradeToday = not dailyStopped
//━━━━━━━━━━━━━━━━━━━
// 3. 1H S/R ZONES (for direction block)
//━━━━━━━━━━━━━━━━━━━
htOpen = request.security(syminfo.tickerid, htfTF, open)
htHigh = request.security(syminfo.tickerid, htfTF, high)
htLow = request.security(syminfo.tickerid, htfTF, low)
htClose = request.security(syminfo.tickerid, htfTF, close)
// Engulf logic on HTF
htBullPrev = htClose > htOpen
htBearPrev = htClose < htOpen
htBearEngulf = htClose < htOpen and htBullPrev and htOpen >= htClose and htClose <= htOpen
htBullEngulf = htClose > htOpen and htBearPrev and htOpen <= htClose and htClose >= htOpen
// Liquidity sweep on HTF previous candle
htSweepHigh = htHigh > ta.highest(htHigh, 5)
htSweepLow = htLow < ta.lowest(htLow, 5)
// Store last HTF zones
var float htResHigh = na
var float htResLow = na
var float htSupHigh = na
var float htSupLow = na
if htBearEngulf and htSweepHigh
htResHigh := htHigh
htResLow := htLow
if htBullEngulf and htSweepLow
htSupHigh := htHigh
htSupLow := htLow
// Are we inside HTF zones?
inHtfRes = not na(htResHigh) and close <= htResHigh and close >= htResLow
inHtfSup = not na(htSupLow) and close >= htSupLow and close <= htSupHigh
// Block direction against HTF zones
longBlockedByZone = inHtfRes // no buys in HTF resistance
shortBlockedByZone = inHtfSup // no sells in HTF support
//━━━━━━━━━━━━━━━━━━━
// 4. 1m LOCAL ZONES (LIQUIDITY SWEEP + ENGULF + QUALITY SCORE)
//━━━━━━━━━━━━━━━━━━━
// 1m engulf patterns
bullPrev1 = close > open
bearPrev1 = close < open
bearEngulfNow = close < open and bullPrev1 and open >= close and close <= open
bullEngulfNow = close > open and bearPrev1 and open <= close and close >= open
// Liquidity sweep by previous candle on 1m
sweepHighPrev = high > ta.highest(high, 5)
sweepLowPrev = low < ta.lowest(low, 5)
// Local zone storage (one active support + one active resistance)
// Quality score: 1 = engulf only, 2 = engulf + sweep (we only trade ≥2)
var float supLow = na
var float supHigh = na
var int supQ = 0
var bool supUsed = false
var float resLow = na
var float resHigh = na
var int resQ = 0
var bool resUsed = false
// New resistance zone: previous bullish candle -> bear engulf
if bearEngulfNow
resLow := low
resHigh := high
resQ := sweepHighPrev ? 2 : 1
resUsed := false
// New support zone: previous bearish candle -> bull engulf
if bullEngulfNow
supLow := low
supHigh := high
supQ := sweepLowPrev ? 2 : 1
supUsed := false
// Raw "inside zone" detection
inSupRaw = not na(supLow) and close >= supLow and close <= supHigh
inResRaw = not na(resHigh) and close <= resHigh and close >= resLow
// QUALITY FILTER: only trade zones with quality ≥ 2 (engulf + sweep)
highQualitySup = supQ >= 2
highQualityRes = resQ >= 2
inSupZone = inSupRaw and highQualitySup and not supUsed
inResZone = inResRaw and highQualityRes and not resUsed
// Plot zones
plot(supLow, "Sup Low", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(supHigh, "Sup High", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(resLow, "Res Low", color = color.new(color.red, 60), style = plot.style_linebr)
plot(resHigh, "Res High", color = color.new(color.red, 60), style = plot.style_linebr)
//━━━━━━━━━━━━━━━━━━━
// 5. MODERATE BOS (3-BAR FRACTAL STRUCTURE)
//━━━━━━━━━━━━━━━━━━━
// 3-bar swing highs/lows
swHigh = high > high and high > high
swLow = low < low and low < low
var float lastSwingHigh = na
var float lastSwingLow = na
if swHigh
lastSwingHigh := high
if swLow
lastSwingLow := low
// BOS conditions
bosUp = not na(lastSwingHigh) and close > lastSwingHigh
bosDown = not na(lastSwingLow) and close < lastSwingLow
// Zone “arming” and BOS validation
var bool supArmed = false
var bool resArmed = false
var bool supBosOK = false
var bool resBosOK = false
// Arm zones when first touched
if inSupZone
supArmed := true
if inResZone
resArmed := true
// BOS after arming → zone becomes valid for entries
if supArmed and bosUp
supBosOK := true
if resArmed and bosDown
resBosOK := true
// Reset BOS flags when new zones are created
if bullEngulfNow
supArmed := false
supBosOK := false
if bearEngulfNow
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 6. ENTRY CONDITIONS (ZONE + BOS + RISK STATE)
//━━━━━━━━━━━━━━━━━━━
flatOrShort = strategy.position_size <= 0
flatOrLong = strategy.position_size >= 0
longSignal = canTradeToday and not longBlockedByZone and inSupZone and supBosOK and flatOrShort
shortSignal = canTradeToday and not shortBlockedByZone and inResZone and resBosOK and flatOrLong
//━━━━━━━━━━━━━━━━━━━
// 7. ORDER LOGIC – TWO PROFIT STRATEGIES
//━━━━━━━━━━━━━━━━━━━
// Common metrics
atrTrail = ta.atr(atrTrailLen)
// MINIMAL MODE: single trade, BE after TP1, optional trailing
// HYBRID MODE: two trades (Scalp @ TP1, Runner @ TP2)
// Persistent tracking
var float longEntry = na
var float longTP1 = na
var float longTP2 = na
var float longSL = na
var bool longBE = false
var float longRunEntry = na
var float longRunTP1 = na
var float longRunTP2 = na
var float longRunSL = na
var bool longRunBE = false
var float shortEntry = na
var float shortTP1 = na
var float shortTP2 = na
var float shortSL = na
var bool shortBE = false
var float shortRunEntry = na
var float shortRunTP1 = na
var float shortRunTP2 = na
var float shortRunSL = na
var bool shortRunBE = false
isMinimal = profitStrategy == "Minimal Risk | Full BE after TP1"
isHybrid = profitStrategy == "Hybrid | Scalp TP + Runner TP"
//━━━━━━━━━━ LONG ENTRIES ━━━━━━━━━━
if longSignal
if isMinimal
longEntry := close
longSL := longEntry - slPoints
longTP1 := longEntry + tp1Points
longTP2 := longEntry + slPoints * runnerRR
longBE := false
strategy.entry("Long", strategy.long)
supUsed := true
supArmed := false
supBosOK := false
else if isHybrid
longRunEntry := close
longRunSL := longRunEntry - slPoints
longRunTP1 := longRunEntry + tp1Points
longRunTP2 := longRunEntry + slPoints * runnerRR
longRunBE := false
// Two separate entries, each 50% of baseQty (for backtest)
strategy.entry("LongScalp", strategy.long, qty = baseQty * 0.5)
strategy.entry("LongRun", strategy.long, qty = baseQty * 0.5)
supUsed := true
supArmed := false
supBosOK := false
//━━━━━━━━━━ SHORT ENTRIES ━━━━━━━━━━
if shortSignal
if isMinimal
shortEntry := close
shortSL := shortEntry + slPoints
shortTP1 := shortEntry - tp1Points
shortTP2 := shortEntry - slPoints * runnerRR
shortBE := false
strategy.entry("Short", strategy.short)
resUsed := true
resArmed := false
resBosOK := false
else if isHybrid
shortRunEntry := close
shortRunSL := shortRunEntry + slPoints
shortRunTP1 := shortRunEntry - tp1Points
shortRunTP2 := shortRunEntry - slPoints * runnerRR
shortRunBE := false
strategy.entry("ShortScalp", strategy.short, qty = baseQty * 50)
strategy.entry("ShortRun", strategy.short, qty = baseQty * 50)
resUsed := true
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 8. EXIT LOGIC – MINIMAL MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size > 0 and not na(longEntry)
// Move to BE once TP1 is touched
if not longBE and high >= longTP1
longBE := true
// Base SL: BE or initial SL
float dynLongSL = longBE ? longEntry : longSL
// Optional trailing after BE
if longBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longEntry
dynLongSL := math.max(dynLongSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailSL = close - atrTrailMult * atrTrail
dynLongSL := math.max(dynLongSL, trailSL)
strategy.exit("Long Exit", "Long", stop = dynLongSL, limit = longTP2)
// SHORT – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size < 0 and not na(shortEntry)
if not shortBE and low <= shortTP1
shortBE := true
float dynShortSL = shortBE ? shortEntry : shortSL
if shortBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortEntry
dynShortSL := math.min(dynShortSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailSLs = close + atrTrailMult * atrTrail
dynShortSL := math.min(dynShortSL, trailSLs)
strategy.exit("Short Exit", "Short", stop = dynShortSL, limit = shortTP2)
//━━━━━━━━━━━━━━━━━━━
// 9. EXIT LOGIC – HYBRID MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Hybrid: Scalp + Runner
if isHybrid
// Scalp leg: full TP at TP1
if strategy.opentrades > 0
strategy.exit("LScalp TP", "LongScalp", stop = longRunSL, limit = longRunTP1)
// Runner leg
if strategy.position_size > 0 and not na(longRunEntry)
if not longRunBE and high >= longRunTP1
longRunBE := true
float dynLongRunSL = longRunBE ? longRunEntry : longRunSL
if longRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longRunEntry
dynLongRunSL := math.max(dynLongRunSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailRunSL = close - atrTrailMult * atrTrail
dynLongRunSL := math.max(dynLongRunSL, trailRunSL)
strategy.exit("LRun TP", "LongRun", stop = dynLongRunSL, limit = longRunTP2)
// SHORT – Hybrid: Scalp + Runner
if isHybrid
if strategy.opentrades > 0
strategy.exit("SScalp TP", "ShortScalp", stop = shortRunSL, limit = shortRunTP1)
if strategy.position_size < 0 and not na(shortRunEntry)
if not shortRunBE and low <= shortRunTP1
shortRunBE := true
float dynShortRunSL = shortRunBE ? shortRunEntry : shortRunSL
if shortRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortRunEntry
dynShortRunSL := math.min(dynShortRunSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailRunSLs = close + atrTrailMult * atrTrail
dynShortRunSL := math.min(dynShortRunSL, trailRunSLs)
strategy.exit("SRun TP", "ShortRun", stop = dynShortRunSL, limit = shortRunTP2)
//━━━━━━━━━━━━━━━━━━━
// 10. RESET STATE WHEN FLAT
//━━━━━━━━━━━━━━━━━━━
if strategy.position_size == 0
longEntry := na
shortEntry := na
longBE := false
shortBE := false
longRunEntry := na
shortRunEntry := na
longRunBE := false
shortRunBE := false
//━━━━━━━━━━━━━━━━━━━
// 11. VISUAL ENTRY MARKERS
//━━━━━━━━━━━━━━━━━━━
plotshape(longSignal, title = "Long Signal", style = shape.triangleup,
location = location.belowbar, color = color.lime, size = size.tiny, text = "L")
plotshape(shortSignal, title = "Short Signal", style = shape.triangledown,
location = location.abovebar, color = color.red, size = size.tiny, text = "S")
DTR & ATR with live zonesThis indicator is designed to help traders gauge the day's volatility in real-time. It compares the current Daily True Range (DTR)—the distance between the session's high and low—to the historical Average True Range (ATR).
The main purpose is to project potential price levels where the market might reach based on its average volatility. These levels (100% ATR, 150%, 200%, etc.) can be used as price targets. For instance, if you're in a long trade, you might consider taking partial or full profits as the price approaches these upper ATR extension levels. The indicator is highly customisable, allowing you to control the appearance of the ATR lines, zones, and labels to fit your charting preferences.
Core Concepts: ATR and DTR
To use this indicator effectively, it's important to understand its two main components:
Average True Range (ATR): This is a classic technical analysis indicator that measures market volatility. It calculates the average range of price movement over a specific period (e.g., 14 days). A higher ATR means the price is, on average, moving more, while a low ATR indicates less volatility. This script uses a higher timeframe ATR (e.g., Daily) to establish a stable volatility baseline for the current trading day.
Daily True Range (DTR): This is simply the difference between the current trading session's highest high and lowest low (session high - session low). It tells you how much the price has actually moved so far today.
The indicator's logic revolves around comparing the live, unfolding DTR to the historical, baseline ATR. An on-screen table conveniently shows this comparison as a percentage, to show how volatile the day has been.
How It Works: The Dynamic & Locked Mechanism
The most clever part of this indicator is how it draws the ATR levels. It operates in two distinct phases during the trading session:
Phase 1: Dynamic Expansion (Before DTR meets ATR)
At the start of the session, the DTR is small. The indicator calculates the remaining range needed to "complete" the 100% ATR level (difference = avg_atr - dtr). It then adds this remaining amount to the session high and subtracts it from the session low. This creates a "floating" 100% ATR range that expands dynamically as the session high or low is extended.
Phase 2: The Lock-in (After DTR meets or exceeds ATR)
Once the day's range (DTR) becomes equal to or greater than the avg_atr, the day has met its "expected" volatility. At this point, the levels lock in place. The indicator intelligently determines the anchor point for the locked range.
Once this primary 100% ATR range is established (either dynamically or locked), the script projects the other levels (150%, 200%, 250%, and 300%) by adding or subtracting multiples of the avg_atr from this base.
How to Use It for Trading
The primary use of this indicator is to set logical, volatility-based price targets.
Setting Profit Targets: If you enter a long position, the upper ATR levels (100%, 150%, 200%) serve as excellent areas to consider taking profits. A move to the 200% or 250% level often signifies an overextended or "exhaustion" move, making it a high-probability exit zone. For short positions, the lower ATR levels serve the same purpose.
Assessing Intraday Momentum: The on-screen table tells you how much of the expected daily range has been used. If it's early in the session and the DTR is only at 30% of the ATR, you can anticipate more significant price movement is likely to come. Conversely, if the DTR is already at 150% of ATR, the bulk of the day's move may already be complete.
Mean Reversion Signals: If the price pushes to an extreme level (e.g., 250% ATR) and shows signs of stalling (e.g., bearish divergence on an oscillator), it could signal a potential reversal or pullback, offering an opportunity for a counter-trend trade.
Key Settings
ATR Length & Smoothing Type: These settings control how the baseline ATR is calculated. The default 14 period and RMA smoothing are standard, but you can adjust them to your preference.
Session Settings: This is crucial. You must set the Market Session and Time Zone to match the primary trading hours of the asset you are analysing (e.g., "0930-1600" for the NYSE session).
Show Lines / Show Labels / Show Zones: The script gives you full control over the visual display. You can toggle each ATR level's lines, labels, and background zones individually to avoid a cluttered chart and focus only on the levels that matter to your strategy.
Simple Pivot Zones (Error-free) — v11. Core Idea
The indicator we built is a “pivot-based zone detector with breakout signals.”
It does three things:
1. Finds important swing highs and swing lows in price (pivots).
2. Creates support and resistance zones around those pivots using volatility (ATR).
3. Watches price action to see if those zones get broken, then gives signals.
________________________________________
2. What is a Pivot?
A pivot high happens when the price makes a local peak — a bar is higher than the bars around it.
A pivot low happens when the price makes a local dip — a bar is lower than the bars around it.
These are natural turning points in the market, showing where buyers or sellers had strong control temporarily. Traders often use them to draw support (pivot lows) and resistance (pivot highs).
________________________________________
3. Why Use ATR for Zones?
ATR (Average True Range) measures the average volatility of a market. Instead of drawing just a flat line at the pivot, we create a zone above and below it, sized according to ATR.
Example:
• If ATR is 20 points and zone size is 0.5, then the zone extends 10 points above and below the pivot level.
This turns thin “lines” into thicker areas of interest. Real markets don’t respect razor-thin levels, but zones are more realistic.
________________________________________
4. How Support & Resistance Zones Work
• Resistance zones are created at pivot highs. They mark where sellers were strong before.
• Support zones are created at pivot lows. They mark where buyers were strong before.
Over time, these zones extend forward until the price interacts with them.
________________________________________
5. Breakout Detection
The indicator checks whether the price closes beyond the last pivot high or low:
• If price closes above the last pivot high, it means buyers have broken resistance.
• If price closes below the last pivot low, it means sellers have broken support.
These moments are significant because they often trigger trend continuation.
________________________________________
6. Parameters It Uses
1. Pivot Length – how many bars to look back and forward to confirm a pivot. A higher length makes pivots less frequent but stronger.
2. ATR Length and Multiplier – defines the size of the zones (wider zones in more volatile markets).
3. Max Zones to Keep – avoids clutter by keeping only the most recent zones.
4. Colors & Styling – helps traders visually separate bullish and bearish zones.
________________________________________
7. How It Helps Traders
• Visual clarity: Instead of guessing support and resistance, the chart automatically highlights them.
• Dynamic adjustment: Zones adapt to volatility using ATR, making them useful in both calm and volatile markets.
• Breakout signals: Traders get notified when price actually breaks key levels, instead of reacting late.
• Cleaner charts: Instead of dozens of hand-drawn lines, the tool manages zones for you, deleting old ones.
________________________________________
8. The Logic in One Sentence
It finds important swing highs and lows, turns them into support/resistance zones scaled by volatility, and alerts you when the market breaks through them.
________________________________________
👉 In practice, this helps traders spot where the market is likely to bounce or break, and gives a framework to plan trades — for example, buying on bullish breakouts or selling on bearish breakouts.
________________________________________
Liquidity Trap Zones [PhenLabs]📊 Liquidity Trap Zones
Version: PineScript™ v6
📌 Description
The goal of the Liquidity Trap Zones indicator is to try and help traders identify areas where market liquidity appears abundant but is actually thin or artificial, helping traders avoid potential fake outs and false breakouts. This advanced indicator analyzes the relationship between price wicks and volume to detect “mirage” zones where large price movements occur on low volume, indicating potential liquidity traps.
By highlighting these deceptive zones on your charts, the indicator helps traders recognize where institutional players might be creating artificial liquidity to trap retail traders. This enables more informed decision-making and better risk management when approaching key price levels.
🚀 Points of Innovation
Mirage Score Algorithm: Proprietary calculation that normalizes wick size relative to volume and average bar size
Dynamic Zone Creation: Automatically generates gradient-filled zones at trap locations with ATR-based sizing
Intelligent Zone Management: Maintains clean charts by limiting displayed zones and auto-updating existing ones
Scale-Invariant Design: Works across all assets and timeframes with intelligent normalization
Real-Time Detection: Identifies trap zones as they form, not after the fact
Volume-Adjusted Analysis: Incorporates tick volume when available for more accurate detection
🔧 Core Components
Mirage Score Calculator: Analyzes the ratio of price wicks to volume, normalized by average bar size
ATR-Based Filter: Ensures only significant price movements are considered for trap zone creation
EMA Smoothing: Reduces noise in the mirage score for clearer signals
Gradient Zone Renderer: Creates visually distinct zones with multiple opacity levels for better visibility
🔥 Key Features
Real-Time Trap Detection: Identifies liquidity mirages as they develop during live trading
Dynamic Zone Sizing: Adjusts zone height based on current market volatility (ATR)
Smart Zone Management: Automatically maintains a clean chart by limiting the number of displayed zones
Customizable Sensitivity: Fine-tune detection parameters for different market conditions
Visual Clarity: Gradient-filled zones with distinct borders for easy identification
Status Line Display: Shows current mirage score and threshold for quick reference
🎨 Visualization
Gradient Trap Zones: Purple gradient boxes with darker centers indicating trap strength
Mirage Score Line: Orange line in status area showing current liquidity quality
Threshold Reference: Gray line showing your configured detection threshold
Extended Zone Display: Zones automatically extend forward as new bars form
📖 Usage Guidelines
Detection Settings
Smoothing Length (EMA) - Default: 10 - Range: 1-50 - Description: Controls responsiveness of mirage score. Lower values make detection more sensitive to recent price action
Mirage Threshold - Default: 5.0 - Range: 0.1-20.0 - Description: Score above this level triggers trap zone creation. Higher values reduce false positives but may miss subtle traps
Filter Settings
ATR Length for Range Filter - Default: 14 - Range: 1-50 - Description: Period for volatility calculation. Standard 14 works well for most timeframes
ATR Multiplier - Default: 1.0 - Range: 0.0-5.0 - Description: Minimum bar range as multiple of ATR. Higher values filter out smaller moves
Display Settings
Zone Height Multiplier - Default: 0.5 - Range: 0.1-2.0 - Description: Controls trap zone height relative to ATR. Adjust for visual preference
Max Trap Zones - Default: 5 - Range: 1-20 - Description: Maximum zones displayed before oldest are removed. Balance clarity vs. history
✅ Best Use Cases
Identifying potential fakeout levels before entering trades
Confirming support/resistance quality by checking for liquidity traps
Avoiding stop-loss placement in trap zones where sweeps are likely
Timing entries after trap zones are cleared
Scalping opportunities when price approaches known trap zones
⚠️ Limitations
Requires volume data - less effective on instruments without reliable volume
May generate false signals during news events or genuine volume spikes
Not a standalone system - combine with price action and other indicators
Zone creation is based on historical data - future price behavior not guaranteed
💡 What Makes This Unique
First indicator to specifically target liquidity mirages using wick-to-volume analysis
Proprietary normalization ensures consistent performance across all markets
Visual gradient design makes trap zones immediately recognizable
Combines multiple volatility and volume metrics for robust detection
🔬 How It Works
1. Wick Analysis: Calculates upper and lower wicks for each bar. Normalizes by average bar size to ensure scale independence
2. Mirage Score Calculation: Divides total wick size by volume to identify thin liquidity. Applies EMA smoothing to reduce noise. Scales result for optimal visibility
3. Zone Creation: Triggers when smoothed score crosses threshold. Creates gradient boxes centered on trap bar. Sizes zones based on current ATR for market-appropriate scaling
💡 Note: Liquidity Trap Zones works best when combined with traditional support/resistance analysis and volume profile indicators. The zones highlight areas of deceptive liquidity but should not be the sole factor in trading decisions. Always use proper risk management and confirm signals with price action.
Unmitigated 50% of the RangeThis indicator is designed to display unmitigated 50% zones of price ranges within two swing (High and Low) points. The 50% level serves as a probable target for retracements before the price resumes its movement in the direction of the most recent swing. The underlying theory is that Price Action tends to correct unbalanced price zones by returning to 50% of the range.
The indicator identifies highs and lows utilizing the “Left Swing Sensitivity” setting, which detects the high/low points within the specified number of bars. It then ensures that the zone meets a minimum size requirement, configured via the “Minimum Leg Size” setting, to filter out smaller legs/zones that would not provide sufficient profit and loss opportunities for entries at 50% and take profit at the most recent swing point.
To prevent duplication of zones when the price is gradually moving up, an "Auto Adjust Levels" setting is available. Enabled by default, this feature automatically cleans up smaller zones, retaining only the primary zone between the most recent swing point and the outer swing.
Additionally, the indicator automatically removes mitigated zones where the price has returned to the 50% level, thus maintaining clean charts.
There are several visualization settings available, offering comprehensive control over what is displayed on the charts:
Control the color and style of the lines representing the 1, 0, and 50% levels.
Choose whether to display labels and if they should show the price at the rendered levels.
Optionally extend the lines/labels to the right for each level.
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.
High Liquidity Zones and Threshold VolumeThe High Liquidity Zones indicator is designed to identify areas of significant liquidity in the market. It helps traders recognize regions where trading volume is notably higher, indicating potential areas of increased market activity and interest.
The indicator calculates the average volume over a specified lookback period, which can be customized according to individual preferences. This average volume acts as a reference point to determine the threshold volume level. The threshold percentage input allows users to set the sensitivity of the indicator, defining the minimum volume required for an area to be considered a high liquidity zone.
When the current volume surpasses the threshold volume level, the indicator highlights these areas as high liquidity zones. This visual representation allows traders to quickly identify and focus on periods of heightened trading activity. The high liquidity zones are marked with square shapes below the histogram, providing a clear visual indication on the chart.
The first plot line represents the threshold volume level as a histogram, showing the volume levels in relation to the threshold. This histogram helps traders assess the magnitude of the volume in the identified high liquidity zones.
The second plot line represents the threshold volume's simple moving average (SMA) over the lookback period. The SMA acts as a reference line, smoothing out fluctuations in the threshold volume and providing a more stable measure of high liquidity zones. Traders can use this line to better understand the overall trend and dynamics of liquidity.
The High Liquidity Zones indicator offers flexibility, allowing traders to adapt it to their preferred trading style and timeframe. By adjusting the lookback period and threshold percentage, users can fine-tune the sensitivity of the indicator based on their trading strategies and market conditions.
Furthermore, traders can combine the High Liquidity Zones indicator with other technical analysis tools to confirm trading signals or identify areas of potential support and resistance. It can help them locate price levels where market participants have a substantial presence and where significant buying or selling pressure may occur.
Overall, the High Liquidity Zones indicator is a valuable tool for traders seeking to gain insights into market liquidity dynamics. By highlighting areas of intense trading activity, it assists in making informed trading decisions and identifying opportunities within the market.
Volume-based Support & Resistance Zones-V1 By Trade Mastership™ The all-new Support & Resistance Zones indicator, which has been upgraded to offer traders more powerful features and functionality. This innovative indicator identifies high-volume fractal lows or highs to create zones based on the size of the wick for that timeframe's candle. This makes it easy for traders to visualize which price levels are the most significant for either a trend continuation or a reversal when zones are broken and retested.
The original script for this indicator was created by Trade Mastership, with additional modifications by L N Behera. Credit goes to both of them for the majority of the logic behind this script. Since then, the script has been improved with several changes, including:
Changing the default S/R lines from plots to lines, and giving users the option to change between solid, dashed, or dotted lines for both S/R lines
Adding additional timeframes and more options for TF1, beyond the current TF. Now, users have four timeframes to plot S/R zones from
Giving users the option to easily change the line thickness for all S/R lines
Making it easier to change the colors of S/R lines and zones by consolidating the options under settings (rather than under style)
Adding extensions to active SR Zones to extend all the way right
Adding the option to extend or not extend the previous S/R zones up to the next S/R zone
Adding optional timeframe labels to active S/R zones, with left and right options, as well as the option to adjust how far to the right the label is set
Fixing an issue where the higher timeframe S/R zone was not properly starting from the high/low of fractal. Now, any higher timeframe S/R will begin exactly at the High/Low points. Note that this may not work perfectly on stocks, and if a fractal high/low is too many bars in the past, it will revert to a default max bars back to avoid script errors.
Adding a function to prevent S/R zones from lower timeframes displaying while on a higher timeframe. This helps clean up the chart quite a bit.
Creating arrays for each timeframe's boxes and lines so that the number of S/R zones can be controlled for each timeframe and limit memory consumption.
Adding new alert options and customized alert messages
Here's how this indicator works: it looks for fractal highs or fractal lows with volume that pierces above the volume's Moving Average. This moving average value can be modified in the settings for each timeframe. The fractal highs will be confirmed with three successive higher highs followed by two successive lower highs and vice versa for the fractal lows. The zone is created from the fractal high/low and the close of the candle for whatever timeframe you selected. The bigger the zone, the more significant that zone is.
Traders can disable any zone, change the zones to show lines only, and modify all the colors, transparencies, and thickness of lines for all the zones. To create alerts, traders can enable the types of alerts they want for each timeframe in the indicator's settings. After applying changes, right-click on one of the zones on the chart, and click "Add Alert on Vol S/R Zones." You do not need to add a title, as the correct alert messages are already built-in.
The latest update has migrated the script to Pine Script Version 5 and added a higher number of total boxes/lines to show on the chart. It has also increased the max bars count to the maximum Pine Script allows, enabling traders to utilize as many bars as possible when drawing the left side of SR zones that are very far back on the chart. Additionally, the update fixed issues where the indicator would not load on 1 minute and 3-minute charts unless higher timeframe SR zones
Fibonacci Zones and RejectionsThis tool combines swing structure, Fibonacci retracements and candle-wick rejection logic to highlight high-probability reversal or continuation zones.
What it does
Tracks market structure automatically
Detects swing highs and swing lows based on a user-defined Structure Period.
Marks bullish shifts in structure and bearish shifts with CHoCH labels and Break of Structure (BoS) lines.
Optionally draws a dotted swing trend line between the active swing high and swing low and can show price labels at those swing points.
Draws dynamic Fibonacci retracements on the latest swing
Automatically anchors a Fibonacci retracement between the current swing high and swing low.
Lets you enable/disable individual Fibonacci levels and customize their values, colors and line width.
Can extend Fib levels forward to the latest bar and optionally keep previous Fib structures on the chart for context.
Optionally fills the “Golden Zone” (by default the first two levels, e.g. 0.50 and 0.618) so the core pullback area is visually obvious.
Defines an OTE / “Gold Zone” band from the active Fib levels
Uses the first two Fib lines (by default 0.50 and 0.618 or set another zone such as 61.8% to 78.6%) to form a live “Optimal Trade Entry” band.
Continuously updates this band as new structure forms and swings develop.
Detects rejection candles inside the Fib OTE band
Breaks each candle into upper wick, lower wick, body and total range.
A bullish rejection is a candle where:
Price trades into the OTE band,
The lower wick is a large portion of the bar’s range, and
The body is not tiny (minimum body-to-range ratio is configurable).
A bearish rejection is the mirror condition using the upper wick.
Only candles whose range overlaps the OTE band are considered; this filters for true reactions to the Fib zone.
Plots clear signals and alerts
Bullish OTE rejection is plotted as a large cross at the low of the candle.
Bearish OTE rejection is plotted as a large cross at the high of the candle.
Built-in alertcondition calls allow you to set alerts for:
Bullish OTE Rejection
Bearish OTE Rejection
Optional “debug” markers can show all raw rejection candles and all bars that sit inside the OTE band, to help you understand how the logic behaves.
Use cases
Identify pullback entries into the desired Fib zone after a clear structural move.
Confirm reversals or continuations using wick-based rejection inside a pre-defined Fib discount/premium zone.
Combine with your own higher-timeframe bias or ICT / SMC tools to refine entry timing around key levels.
Tweezer & Kangaroo Zones [WavesUnchained]Tweezer & Kangaroo Zones
Pattern Recognition with Supply/Demand Zones
Indicator that detects tweezer and kangaroo tail (pin bar) reversal patterns and creates supply and demand zones. Includes volume validation, trend context, and confluence scoring.
What You See on Your Chart
Pattern Labels:
"T" (Red) - Tweezer Top detected above price → Bearish reversal signal
"T" (Green) - Tweezer Bottom detected below price → Bullish reversal signal
"K" (Red) - Kangaroo Bear (Pin Bar rejection from top) → Bearish signal
"K" (Green) - Kangaroo Bull (Pin Bar rejection from bottom) → Bullish signal
Label Colors Indicate Pattern Strength:
Dark Green/Red - Strong pattern (score ≥8.0)
Medium Green/Red - Good pattern (score ≥6.0)
Light Green/Red - Valid pattern (score <6.0)
Zone Boxes:
Red Boxes - Supply Zones (resistance, potential short areas)
Green Boxes - Demand Zones (support, potential long areas)
White Border - Active zone (fresh, not tested yet)
Gray Border - Inactive zone (expired or invalidated)
Pattern Detection
Tweezer Patterns (Classic Double-Top/Bottom):
Flexible Lookback - Detects patterns up to 3 bars apart (not just consecutive)
Precision Matching - 0.2% level tolerance for high-quality signals
Wick Similarity Check - Both candles must show similar rejection wicks
Volume Validation - Second candle requires elevated volume (0.8x average)
Pattern Strength Score - 0-1 quality rating based on level match + wick similarity
Optional Trend Context - Can require trend alignment (default: OFF for more signals)
Kangaroo Tail / Pin Bar Patterns:
No Pivot Delay - Instant detection without waiting for pivot confirmation
Body Position Check - Body must be at candle extremes (30% tolerance)
Volume Spike - Rejection must occur with volume (0.9x average)
Rejection Strength - Scores based on wick length (0.5-0.9 of range)
Optional Trend Context - Bearish in uptrends, Bullish in downtrends (default: OFF)
Zone Management
Auto-Created Zones - Every valid pattern creates a supply/demand zone
Overlap Prevention - Zones too close together (50% overlap) are not duplicated
Lifetime Control - Zones expire after 400 bars (configurable)
Smart Invalidation - Zones invalidate when price closes through them
Styling Options - Choose between Solid, Dashed, or Dotted borders
Border Width - 2px width for better visibility
Confluence Scoring System
Multi-factor confluence scoring (0-10 scale) with configurable weights:
Regime (EMA+HTF) - Trend alignment across timeframes (Weight: 2.0)
HTF Stack - Multi-timeframe trend confluence (Weight: 3.0)
Structure - Higher lows / Lower highs confirmation (Weight: 1.0)
Relative Volume - Volume surge validation (Weight: 1.0)
Chop Advantage - Favorable market conditions (Weight: 1.0)
Zone Thinness - Tight zones = better R/R (Weight: 1.0)
Supertrend - Trend indicator alignment (Weight: 1.0)
MOST - Moving Stop alignment (Weight: 1.0)
Pattern Strength - Quality of detected pattern (Weight: 1.5)
Zone Retest Signals
Signals generated when zones are retested:
BUY Signal - Price retests demand zone from above (score ≥4.5)
SELL Signal - Price retests supply zone from below (score ≥5.5)
Normalized Score - Displayed as 0-10 for easy interpretation
Optional Trend Gate - Require trend alignment for signals (default: OFF)
Alert Ready - Built-in alertconditions for automation
Additional Features
Auto-Threshold Tuning - Adapts to ATR and Choppiness automatically
Session Profiles - Different settings for RTH vs ETH sessions
Organized Settings - 15+ input groups for easy configuration
Optional Panels - HTF Stack overview and performance metrics (default: OFF)
Data Exports - Hidden plots for strategy/library integration
RTA Health Monitoring - Built-in performance tracking
Setup & Configuration
Quick Start:
1. Apply indicator to any timeframe
2. Patterns and zones appear automatically
3. Adjust pattern detection sensitivity if needed
4. Configure zone styling (Solid/Dashed/Dotted)
5. Set up alerts for zone retests
Key Settings to Adjust:
Pattern Detection:
• Min RelVolume: Lower = more signals (0.8 Tweezer, 0.9 Kangaroo)
• Require trend context: Enable for stricter, higher-quality patterns
• Check wick similarity: Ensures proper rejection structure
Zone Management:
• Zone lifetime: How long zones remain active (default: 400 bars)
• Invalidate on close-through: Remove zones when price breaks through
• Max overlap: Prevent duplicate zones (default: 50%)
Scoring:
• Min Score BUY/SELL: Higher = fewer but better signals (default: 4.5/5.5)
• Component weights: Customize what factors matter most
• Signals require trend gate: OFF = more signals, ON = higher quality
Visual Customization
Zone Colors - Light red/green with 85% transparency (non-intrusive)
Border Styles - Solid, Dashed, or Dotted
Label Intensity - Darker greens for better readability
Clean Charts - All panels OFF by default
Understanding the Zones
Supply Zones (Red):
Created from bearish patterns (Tweezer Tops, Kangaroo Bears). Price made a high attempt to push higher, but was rejected. These become resistance areas where sellers may step in again.
Demand Zones (Green):
Created from bullish patterns (Tweezer Bottoms, Kangaroo Bulls). Price made a low with strong rejection. These become support areas where buyers may step in again.
Zone Quality Indicators:
• White border = Fresh zone, not tested yet
• Gray border = Zone expired or invalidated
• Thin zones (tight range) = Better risk/reward ratio
• Thick zones = Less precise, wider stop required
Trading Applications
Reversal Trading - Enter at pattern detection with tight stops
Zone Retest Trading - Wait for retests of established zones
Trend Confluence - Trade only when patterns align with trend
Risk Management - Use zone boundaries for stop placement
Target Setting - Opposite zones become profit targets
Pro Tips
Best signals occur when pattern + zone retest + trend all align
Lower timeframes = more signals but more noise
Higher timeframes = fewer but more reliable signals
Start with default settings, adjust based on your market
Combine with other analysis (structure, key levels, etc.)
Use alerts to avoid staring at charts all day
Important Notes
Not all patterns will lead to successful trades
Use proper risk management and position sizing
Patterns work best in trending or range-bound markets
Very choppy conditions may produce lower-quality signals
Always confirm with your own analysis before trading
Technical Specifications
• Pine Script v6
• RTA-Core integration
• RTA Core Library integration
• Maximum 200 boxes, 500 labels
• Auto-tuning based on ATR and Choppiness
• Session-aware threshold adjustments
• Memory-optimized zone management
What's Included
Tweezer Top/Bottom detection
Kangaroo Tail / Pin Bar detection
Automatic supply/demand zone creation
Volume validation system
Pattern strength scoring
Zone retest signals
Multi-factor confluence scoring
Optional HTF Stack panel
Optional performance metrics
Session profile support
Auto-threshold tuning
Alert conditions
Data exports for strategies
Author Waves Unchained
Version 1.0
Status Public Indicator
Summary
Reversal pattern detection with zone management, volume validation, and confluence scoring for tweezer and kangaroo tail patterns.
---
Disclaimer: This indicator is for educational and informational purposes only. Trading involves risk. Past performance does not guarantee future results. Always practice proper risk management.






















