Advanced Market StructureAdvanced Market Structure
The Advanced Market Structure indicator is a comprehensive technical analysis script built for price action traders, Smart Money Concepts (SMC) practitioners, and market structure analysts. It helps traders map market context, spot key liquidity sweeps, and trade along institutional flow without cluttering the chart.
Key Features Overview
1. Smart Money Market Structure Engine
Automatically detects Break of Structure (BOS) for trend continuation and Change of Character (CHoCH) for potential trend reversals on valid swing points.
2. Intermediate Term Structure (ITH and ITL)
Replaces generic entry labels with institutional Intermediate Term Highs (ITH) and Intermediate Term Lows (ITL). These point out major liquidity pools where smart money often seeks liquidity.
3. Dynamic Candle Glow and Phase Detection
Calculates ATR and price expansion/contraction in real time to visually separate Consolidation phases from Expansion phases directly through candle coloring.
4. Auto Disappearing PDH and PDL
Plots Active Previous Day High (PDH) and Previous Day Low (PDL). As soon as price breaks through these liquidity levels, they automatically disappear to keep your workspace clean.
5. Dynamic 0.5 Equilibrium Range
Calculates the 50 percent Fibonacci Equilibrium line across recent swings, making it easy to identify Premium and Discount pricing zones.
6. Glowing Wave Line and Dashboard
Combines a dynamic Hull Moving Average trend line with a clean on screen dashboard displaying active structure context, market phase, and key level statuses.
Detailed How to Use Guide
Step 1: Determine the Macro Bias
Check the Glowing Wave Line color and recent market structure labels. A sequence of bullish BOS signals along with price staying above the Wave Line indicates a strong bullish bias.
Step 2: Identify Premium vs Discount Zones
Use the 0.5 Equilibrium Line to contextualize price position:
- Premium Zone (Above 0.5 EQ): Ideal area to search for short setups near Intermediate Term Highs (ITH) or Bearish CHoCH signals.
- Discount Zone (Below 0.5 EQ): Ideal area to search for long setups near Intermediate Term Lows (ITL) or Bullish CHoCH signals.
Step 3: Wait for Phase Transition
Observe the Candle Glow Engine. When candles transition from neutral or consolidation colors to strong trend expansion colors near an ITL or ITH level, it signals institutional participation.
Step 4: Liquidity Sweeps (PDH and PDL)
Watch how price interacts with Previous Day High and Low. A sweep followed by an immediate CHoCH back inside the daily range often offers high probability reversal scenarios.
Settings Overview and Customization
Candle Glow and Consolidation Settings
- Trend Momentum Lookback: Adjusts the sensitivity of the volatility calculation.
- Consolidation Range ATR Multiplier: Sets the sensitivity threshold for detecting squeeze or ranging market conditions.
Market Structure (BOS and CHoCH) Settings
- Structure Sensitivity (Pivot Length): Controls how sensitive the script is to swing points. Lower values (3 to 7) show lower timeframe structure, while higher values (10 to 20) show major structural points.
- Structure Colors: Full color customization for bullish and bearish structure lines and text labels.
Major Structure Labels (ITH and ITL) Settings
- Major Pivot Lookback: Defines the bar count required to mark Intermediate Term Highs and Lows.
- Label Customization: Customize colors and visibilities for ITH and ITL tags.
Previous Day High / Low and Equilibrium Settings
- Toggle Show Active PDH / PDL: Turn daily high/low tracking on or off.
- Equilibrium Lookback: Adjusts the swing period used to generate the 50 percent Fibonacci level.
Pro Tips for Effective Usage
Tip 1: Trade in the Direction of Macro Wave
For higher probability trades, take long positions when price is in a Discount Zone and the Wave Line is green. Take short positions when price is in a Premium Zone and the Wave Line is red.
Tip 2: Focus on Multi-Timeframe Confluence
Identify ITH/ITL levels on higher timeframes (such as 1-Hour or 4-Hour) and drop down to lower timeframes (5-Min or 15-Min) to spot CHoCH signals for refined entries.
Tip 3: Look for Liquidity Grab Reactions
Pay close attention when an active PDH or PDL line disappears. If price breaks the level and quickly creates a CHoCH in the opposite direction, it indicates a false breakout / liquidity sweep.
Things to Avoid
1. Avoid Trading During Consolidation
Do not take aggressive breakout entries when the Candle Glow engine highlights market consolidation. Wait for an explicit expansion candle close outside the range box.
2. Avoid Trading Counter Trend at Equilibrium
Do not short right at the 0.5 Equilibrium line if the overall structural trend is strongly bullish with consecutive bullish BOS signals.
3. Avoid Over Sensitivity on Scalping Timeframes
Do not set the Structure Sensitivity too low (below 3) on sub-minute charts, as minor price noise may generate excess structural markings.
Disclaimer
This tool is built strictly for educational and analytical purposes. It does not provide financial advice or direct trading signals. Always practice proper risk management and position sizing. Indicator

Iceberg Detector [JOAT]ICEBERG DETECTOR
A hidden-liquidity detector that infers iceberg orders from their footprint on the tape — without needing direct L2 data. The detection pattern is well-known to professional tape readers: the same price level being repeatedly tested by long wicks, with above-average volume, and price each time getting rejected back in the opposite direction. That repeated-rejection pattern is the visible signature of an iceberg — a large resting order broken into smaller slices to hide its true size. This script catches the pattern, clusters the tests, paints the zone, and tells you when the iceberg gets broken or eaten.
Detection — five gates, all required
A bar is a candidate iceberg test only when every one of these is true:
Long wick — wick-to-body ratio above the configurable threshold (default 0.75). The wick is the visible rejection; the body is the failed push.
Local extremum — the wick reached a local high or low over the configurable pivot lookback (default 5 bars). A wick that did not actually probe new territory does not count.
Above-average volume — bar volume must exceed volume average × multiplier (default 1.0×). Real absorption needs real size hitting the tape.
Wick rejection bias — the candle must close in the rejection direction (opposite of the wick).
Cluster within tolerance — at least N (default 2) of these qualifying tests must occur within ATR × tolerance of the same level inside the detection window (default 40 bars).
Only when all five gates pass does the script paint a zone. The wick rejection bias % input controls how strict the rejection-direction filter is; raising it to 70%+ makes the zone confirmation slower but cleaner.
Cluster-aware level building
When two or more qualifying tests fall within ATR-multiplier tolerance of each other, they are clustered into a single zone whose vertical extent (configurable in ATR units) covers the cluster. This means an iceberg sitting at 4382.50–4383.25 is rendered as a single horizontal band, not two separate ticks — which is how a real iceberg would actually appear on the tape.
Visual system
Iceberg zone — a horizontal band rendered in the cool-blue palette (deep void → pale violet gradient) with configurable opacity.
Glow layers — N (configurable, default 4) stacked transparent boxes behind the zone produce a soft glow border.
Pulse animation — for a configurable number of bars after a fresh test, the zone's transparency oscillates to highlight that the iceberg has just been re-tested. Toggleable.
Test ticks — small markers at each individual test bar inside the zone.
Test count badge — small number tag showing how many tests have hit the level.
Right extension — configurable bar count for forward zone projection.
A locked Void palette (cool violet gradient on a deep void ground) gives the chart a distinctive hidden-liquidity identity.
Lifecycle — persist, archive, break
Every iceberg has three life stages:
Active — currently in front of price and being honoured. New tests add ticks and trigger pulse animations.
Broken — price closed through the level by Break Distance × ATR (default 0.5 ATR). The zone moves to the muted broken-archive palette and stays on the chart for brokenStaleBars (default 150) bars so you can see where structure failed.
Stale — older than the archive lifetime, automatically removed.
A maximum-concurrent-icebergs cap (default 12 active) and a max-broken cap (default 8) keep the chart legible.
Dashboard
Monospaced table, positionable to any of nine corners, surfaces:
Active iceberg count, broken count.
Nearest iceberg level with side (resistance / support), distance in ticks or %.
Test count and age of the nearest iceberg.
Last broken event with bars-ago tag.
Alerts
Three alert conditions, each independently controllable:
New Iceberg Detected — fires the bar an iceberg is first confirmed (all five gates pass).
Iceberg Re-Tested — fires when an existing iceberg gets another qualifying test.
Iceberg Broken — fires when price closes through by the break-distance threshold.
How to read it
Two reads, in order of conviction:
Active iceberg in front of price is your immediate liquidity wall. Faded iceberg the market keeps probing without breaking = strong demand-side or supply-side hidden order. Use as a context level — fade touches if your bias is reversal, expect continuation through if your bias is breakout.
Iceberg Broken alert is your highest-conviction directional event. A hidden order has been eaten through, meaning the side that was holding it has either pulled it or been exhausted — either way, the resistance / support is gone, and the move that follows is unencumbered by the absorbed liquidity.
Suggested settings
Defaults (2 minimum tests, 40-bar detection window, 0.5 ATR cluster tolerance, 0.75 wick/body ratio) are tuned for 5m–1H on liquid markets. For lower-timeframe scalping, lower the wick/body ratio to 0.5 and raise the volume multiplier to 1.5×. For higher-timeframe macro reads, raise minimum tests to 3 and widen the detection window to 100+ bars.
Originality
The implementation — the five-gate detection (wick + extremum + volume + rejection % + cluster tolerance), the ATR-cluster level-builder, the cool-palette glow layers, the post-test pulse animation, the break-distance lifecycle with archive, and the test-count badge rendering — is JOAT-original and tuned together. No third-party code reused. The hidden-liquidity / iceberg concept is well-known to tape readers; the detection pipeline here is built specifically for chart-based bar data without requiring L2 access.
Limitations
Pine indicators cannot read L2 order book data. Iceberg Detector infers iceberg presence from the visible tape footprint — long-wick rejection candles, clustered at a level, with above-average volume, all closing in the rejection direction. This is the accepted public-market inference pattern but it is by nature an inference, not a direct observation. The script can produce false positives on instruments with naturally wicky candles and false negatives on instruments where icebergs are filled too quickly to show as multi-bar tests. On low-volume instruments the volume gate may need to be raised to compensate.
—
Open source- The five-gate detection pipeline, the ATR-cluster level-builder, the post-test pulse compositor, and the lifecycle-with-archive state machine are proprietary. Free to use; behaviour is fully described above.
—
-made with passion by jackofalltrades
Indicator

Quantura - Supply & Demand Zone DetectionIntroduction
“Quantura – Supply & Demand Zone Detection” is an advanced indicator designed to automatically detect and visualize institutional supply and demand zones, as well as breaker blocks, directly on the chart. The tool helps traders identify key areas of market imbalance and potential reversal or continuation zones, based on price structure, volume, and ATR dynamics.
Originality & Value
This indicator provides a unique and adaptive method of zone detection that goes beyond simple pivot or candle-based logic. It merges multiple layers of confirmation—volume sensitivity, ATR filters, and swing structure—while dynamically tracking how zones evolve as the market progresses. Unlike traditional supply and demand indicators, this script also detects and plots Breaker Zones when previous imbalances are violated, giving traders an extra layer of market context.
The key values of this tool include:
Automated detection of high-probability supply and demand zones.
Integration of both volume and ATR filters for precision and adaptability.
Dynamic zone merging and updating based on price evolution.
Identification of breaker blocks (invalidated zones) to visualize market structure shifts.
Optional bullish and bearish trade signals when zones are retested.
Clear, visually optimized plotting for efficient chart interpretation.
Functionality & Core Logic
The indicator continuously scans recent price data for swing highs/lows and combines them with optional volume and ATR conditions to validate potential zones.
Demand Zones are formed when price action indicates accumulation or a strong bullish rejection from a low area.
Supply Zones are created when distribution or strong bearish rejection occurs near local highs.
Breaker Blocks appear when existing zones are invalidated by price, helping traders visualize potential market structure shifts.
Bullish and bearish signals appear when price re-enters an active zone or breaks through a breaker block.
Parameters & Customization
Demand Zones / Supply Zones: Enable or disable each individually.
Breaker Zones: Activate breaker block detection for invalidated zones.
Volume Filter: Optional filter to only confirm zones when volume exceeds its long-term average by a user-defined multiplier.
ATR Filter: Optional filter for volatility confirmation, ensuring zones form under strong momentum conditions.
Swing Length: Controls the number of bars used to detect structural pivots.
Sensitivity Controls: Adjustable ATR and volume multipliers to fine-tune detection responsiveness.
Signals: Toggle for on-chart bullish (▲) and bearish (▼) signal plotting when price interacts with zones.
Color Customization: User-defined bullish and bearish colors for both standard and breaker zones.
Core Calculations
Zones are detected using pivot highs and lows with a defined lookback and lookahead period.
Additional filters apply if ATR and volume are enabled, requiring conditions like “ATR > average * multiplier” and “Volume > average * multiplier.”
Detected zones are merged if overlapping, keeping the chart clean and logical.
When price breaks through a zone, the original box is closed, and a new breaker zone is plotted automatically.
Bullish and bearish markers appear when zones are retested from the opposite side.
Visualization & Display
Demand zones are shaded in semi-transparent bullish color (default: blue).
Supply zones are shaded in semi-transparent bearish color (default: red).
Breaker zones appear when previous imbalances are broken, helping to spot structural shifts.
Optional arrows (▲ / ▼) indicate potential buy or sell reactions on zone interaction.
Use Cases
Identify institutional areas of accumulation (demand) or distribution (supply).
Detect potential breakout traps and market structure shifts using breaker zones.
Combine with other tools such as volume profile, EMA, or liquidity indicators for deeper confirmation.
Observe retests and reactions of zones to anticipate possible reversals or continuations.
Apply multi-timeframe analysis to align higher timeframe zones with lower timeframe entries.
Limitations & Recommendations
The indicator does not predict future price movement; it highlights structural imbalances only.
Performance depends on chosen swing length and sensitivity—users should optimize parameters for each market.
Works best in volatile markets where supply and demand imbalances are clearly expressed.
Should be used as part of a broader trading framework, not as a standalone signal generator.
Markets & Timeframes
The “Quantura – Supply & Demand Zone Detection” indicator is suitable for all asset classes including cryptocurrencies, Forex, indices, commodities, and equities. It performs reliably across multiple timeframes, from intraday scalping to higher timeframe swing analysis.
Author & Access
Developed 100% by Quantura. Published as a Open-source script indicator. Access is free.
Important
This description complies with PulseWire’s Script Publishing and House Rules. It clearly explains the indicator’s originality, underlying logic, functionality, and intended use without unrealistic claims or performance guarantees. Indicator

Liquidity Price Depth Chart [LuxAlgo]The Liquidity Price Depth Chart is a unique indicator inspired by the visual representation of order book depth charts, highlighting sorted prices from bullish and bearish candles located on the chart's visible range, as well as their degree of liquidity.
Note that changing the chart's visible range will recalculate the indicator.
🔶 USAGE
The indicator can be used to visualize sorted bullish/bearish prices (in descending order), with bullish prices being highlighted on the left side of the chart, and bearish prices on the right. Prices are highlighted by dots, and connected by a line.
The displacement of a line relative to the x-axis is an indicator of liquidity, with a higher displacement highlighting prices with more volume.
These can also be easily identified by only keeping the dots, visible voids can be indicative of a price associated with significant volume or of a large price movement if the displacement is more visible for the price axis. These areas could play a key role in future trends.
Additionally, the location of the bullish/bearish prices with the highest volume is highlighted with dotted lines, with the returned horizontal lines being useful as potential support/resistances.
🔹 Liquidity Clusters
Clusters of liquidity can be spotted when the Liquidity Price Depth Chart exhibits more rectangular shapes rather than "V" shapes.
The steepest segments of the shape represent periods of non-stationarity/high volatility, while zones with clustered prices highlight zones of potential liquidity clusters, that is zones where traders accumulate positions.
🔹 Liquidity Sentiment
At the bottom of each area, a percentage can be visible. This percentage aims to indicate if the traded volume is more often associated with bullish or bearish price variations.
In the chart above we can see that bullish price variations make 63.89% of the total volume in the range visible range.
🔶 SETTINGS
🔹 Bullish Elements
Bullish Price Highest Volume Location: Shows the location of the bullish price variation with the highest associated volume using one horizontal and one vertical line.
Bullish Volume %: Displays the bullish volume percentage at the bottom of the depth chart.
🔹 Bearish Elements
Bearish Price Highest Volume Location: Shows the location of the bearish price variation with the highest associated volume using one horizontal and one vertical line.
Bearish Volume %: Displays the bearish volume percentage at the bottom of the depth chart.
🔹 Misc
Volume % Box Padding: Width of the volume % boxes at the bottom of the Liquidity Price Depth Chart as a percentage of the chart visible range
Indicator

Bitcoin Limited Growth ModelThe Bitcoin Limeted Growth is a model proposed by QuantMario that offers an alternative approach to estimating Bitcoin's price based on the Stock-to-Flow (S2F) ratio. This model takes into account the limitations of the traditional S2F model and introduces refinements to enhance its analysis.
The S2F model is commonly used to analyze Bitcoin's price by considering the scarcity of the asset, measured by the stock (existing supply) relative to the flow (new supply). However, the LGS-S2F Bitcoin Price Formula recognizes the need for improvements and presents an updated perspective on Bitcoin's price dynamics.
Invalidation of the Normal S2F Model:
The normal S2F model has faced criticisms and challenges. One of the limitations is its assumption of a linear relationship between the S2F ratio and Bitcoin's price, overlooking potential nonlinearities and other market dynamics. Additionally, the normal S2F model does not account for external influences, such as market sentiment, regulatory developments, and technological advancements, which can significantly impact Bitcoin's price.
Addressing the Issues:
The LGS-S2F Bitcoin Price Formula introduces refinements to address the limitations of the traditional S2F model. These refinements aim to provide a more comprehensive analysis of Bitcoin's price dynamics:
Nonlinearity: The LGS-S2F model recognizes that the relationship between the S2F ratio and Bitcoin's price may not be linear. It incorporates a logistic growth function that considers the diminishing returns of scarcity and the saturation of market demand.
Data Analysis: The LGS-S2F model employs statistical analysis and data-driven techniques to validate its predictions. It leverages historical data and econometric modeling to support its analysis of Bitcoin's price.
Utility:
The LGS-S2F Bitcoin Price Formula offers insights for traders and investors in the cryptocurrency market. By incorporating a more refined approach to analyzing Bitcoin's price, this model provides an alternative perspective. It allows market participants to consider various factors beyond the S2F ratio alone, potentially aiding in their decision-making processes.
Key Features:
Adjustable Coefficients
Sigma calculation methods: Normal or Stdev
Credit:
The LGS-S2F Bitcoin Price Formula was developed by QuantMario, who has contributed to the field of cryptocurrency analysis through their research and modeling efforts. Indicator

Supply and Demand Based Pattern [RH]This indicator focuses on detecting RBR and DBD patterns, which signify periods of increased momentum and potential continuation or reversal of the prevailing trend.
The RBR pattern consists of a rally (upward movement), followed by a base (consolidation or retracement), and then another rally. It suggests that the upward momentum may persist and provide trading opportunities.
On the other hand, the DBD pattern comprises a drop (downward movement), followed by a base, and then another drop. It indicates that the downward momentum might continue, offering potential shorting opportunities.
Bullish(RBR) example:
Bearish(DBD) example:
1. The bullish (RBR) and bearish (DBD) patterns share the same underlying logic, only differing in their directionality.
2. For both RBR and DBD patterns, the first rise/drop can consist of one or multiple candles. However, in the case of multiple candles, all candles must exhibit a bullish nature for RBR and a bearish nature for DBD.
Example:
3. It is a prerequisite for the first rise/drop to include at least one candle with a defined percentage of health, as determined by the user.
4. The base, following the first rise/drop, may comprise one or multiple candles.
Example:
5. To maintain consistency, the base is not allowed to retrace beyond 80%, although this value can be adjusted by the user.
6. Similar to the first rise/drop, the second rise/drop in both RBR and DBD patterns can consist of one or multiple candles. However, all candles within this phase must demonstrate a bullish nature for RBR and a bearish nature for DBD.
7. Confirmation of the bullish (RBR) pattern occurs when a candle closes above the high of the first rise. Conversely, the bearish (DBD) pattern is confirmed when a candle closes below the low of the first drop.
Example:
Alerts can be set for all bullish and bearish pattern or for the first pattern in the range of similar pattern. Indicator

Directional Volume EStimate from Price Action (RedK D_VESPA)The "Directional Volume EStimate from Price Action (RedK D_VESPA)" is another weapon for the VPA (Volume Price Analysis) enthusiasts and traders who like to include volume-based insights & signals to their trading. The basic concept is to estimate the sell and buy split of the traded volume by extrapolating the price action represented by the shape of the associated price bar. We then create and plot an average of these "estimated buy & sell volumes" - the estimated average Net Volume is the balance between these 2 averages.
D_VESPA uses clear visualizations to represent the outcomes in a less distracting and more actionable way.
How does D_VESPA work?
-------------------------------------
The key assumption is that when price moves up, this is caused by "buy" volume (or increasing demand), and when the price moves down, this is due to "selling" volume (or increasing supply). Important to note that we are making our Buy/sell volume estimates here based on the shape of the price bar, and not looking into lower time frame volume data - This is a different approach and is still aligned to the key concepts of VPA.
Originally this work started as an improvement to my Supply/Demand Volume Viewer (V.Viewer) , I ended up re-writing the whole thing after some more research and work on VPA, to improve the estimation, visualization and usability / tradability.
Think of D_VESPA as the "Pro" version of V.Viewer -- and please go back and review the details of V.Viewer as the root concepts are the same so I won't repeat them here (as it comes to exploring Balance Zone and finding Price Convergence/Divergence)
Main Features of D_VESPA
--------------------------------------
- Update Supply/Demand calculation to include 2-bar gaps (improved algo)
- Add multiple options for the moving average (MA type) for the calculation - my preference is to use WMA
- Add option to show Net Volume as 3-color bars
- Visual simplification and improvements to be less distracting & more actionable
- added options to display/hide main visuals while maintaining the status line consistency (Avg Supply, Avg Demand, Avg Net)
- add alerts for NetVol moving into Buy (crosses 0 up) or Sell (crosses 0 down) modes - or swing from one mode to the other
(there are actually 2 sets of alerts, one set for the main NetVol plot, and the other for the secondary TF NetVol - give user more options on how to utilize D_VESPA)
Quick techie piece, how does the estimated buy/sell volume algo work ?
------------------------------------------------------------------------------------------
* per our assumption, buy volume is associated with price up-moves, sell volume is associated with price down-moves
* so each of the bulls and bears will get the equivalent of the top & bottom wicks,
* for up bars, bulls get the value of the "body", else the bears get the "body"
* open gaps are allocated to bulls or bears depending on the gap direction
The below sketch explains how D_VESPA estimates the Buy/Sell Volume split based on the bar shape (including gap) - the example shows a bullish bar with an opening gap up - but the concept is the same for a down-bar or a down-gap.
I kept both the "Volume Weighted" and "2-bar Gap Impact" as options in the indicator settings - these 2 options should be always kept selected. They are there for those who would like to experiment with the difference these changes have on the buy/sell estimation. The indicator will handle cases where there is no volume data for the selected symbol, and in that case, it will simply reflect Average Estimated Bull/Bear ratio of the price bar
The Secondary TF Est Average Net Volume:
---------------------------------------------------------
I added the ability to plot the Estimate Average Net Volume for a secondary timeframe - options 1W, 1D, 1H, or Same as Chart.
- this feature provides traders the confidence to trade the lower timeframes in the same direction as the prevailing "market mode"
- this also adds more MTF support beyond the existing PulseWire's built-in MTF support capability - experiment with various settings between exposing the indicator's secondary TF plot, and changing the TF option in the indicator settings.
Note on the secondary TF NetVol plot:
- the secondary TF needs to be set to same as or higher TF than the chart's TF - if not, a warning sign would show and the plot will not be enabled. for example, a day trader may set the secondary TF to 1Hr or 1Day, while looking at 5min or 15min chart. A swing/trend trader who frequently uses the daily chart may set the secondary TF to weekly, and so on..
- the secondary TF NetVol plot is hidden by default and needs to be exposed thru the indicator settings.
the below chart shows D_VESPA on a the same (daily) chart, but with secondary TF plot for the weekly TF enabled
Final Thoughts
-------------------
* RedK D_VESPA is a volume indicator, that estimates buy/sell and net volume averages based on the price action reflected by the shape of the price bars - this can provide more insight on volume compared to the classic volume/VolAverage indicator and assist traders in exploring the market mode (buyers/sellers - bullish/bearish) and align trades to it.
* Because D_VESPA is a volume indicator, it can't be used alone to generate a trading signal - and needs to be combined with other indicators that analysis price value (range), momentum and trend. I recommend to at least combine D_VESPA with a variant of MACD and RSI to get a full view of the price action relative to the prevailing market and the broader trend.
* I found it very useful to take note and "read" how the Est Buy vs Est Sell lines move .. they sort of "tell a story" - experiment with this on your various chart and note the levels of estimate avg demand vs estimate avg supply that this indicator exposes for some very valuable insight about how the chart action is progressing. Please feel free to share feedback below.
Indicator

Supply and Demand Visible Range [LuxAlgo]The Supply and Demand Visible Range indicator displays areas & levels on the user's chart for the visible range using a novel volume-based method. The script also makes use of intra-bar data to create precise Supply & Demand zones.
🔶 SETTINGS
Threshold %: Percentage of the total visible range volume used as a threshold to set supply/demand areas. Higher values return wider areas.
Resolution: Determines the number of bins used to find each area. Higher values will return more precise results.
Intra-bar TF: Timeframe used to obtain intra-bar data.
🔶 USAGE
The supply/demand areas and levels displayed by the script are aimed at providing potential supports/resistances for users. The script's behavior makes it recalculate each time the visible chart interval/range changes, as such this script is more suited as a descriptive tool.
Price reaching a supply (upper) area that might have been tested a few times might be indicative of a potential reversal down, while price reaching a demand (lower) area that might have been tested a few times could be indicative of a potential reversal up.
The width of each area can also indicate which areas are more liquid, with thinner areas indicating more significant liquidity.
The user can control the width of each area using the Threshold % setting, with a higher setting returning wider areas. The precision setting can also return wider supply/demand areas if very low values are used and has the benefit of improving the script execution time at the cost of precision.
The Supply and Demand Zones indicator returns various levels. The solid-colored levels display the average of each area, while dashed colored lines display the weighted averages of each area. These weighted averages can highlight more liquid price levels within the supply/demand areas.
Central solid/dashed lines display the average between the areas' averages and weighted averages.
🔶 DETAILS
Each supply/demand area is constructed from volume data. The calculation is done as follows:
The accumulated volume within the chart visible range is calculated.
The chart visible range is divided into N bins of equal width (where N is the resolution setting)
Calculation start from the highest visible range price value for the supply area, and lowest value for the demand area.
The volume within each bin after the starting calculation level is accumulated, once this accumulated volume is equal or exceed the threshold value ( p % of the total visible range volume) the area is set.
Each bin volume accumulation within an area is displayed on the left, this can help indicate how fast volume accumulates within an area.
🔶 LIMITATIONS
The script execution time is dependent on all of the script's settings, using more demanding settings might return errors so make sure to be aware of the potential scenarios that might make the script exceed the allowed execution time:
Having a chart's visible range including a high number of bars.
Using a high number of bins (high resolution value) will increase computation time, this can be worsened by using a high threshold %.
Using very low intra-bar timeframe can drastically increase computation time but can also simply throw an error if the chart timeframe is high.
Users facing issues can lower the resolution value or use the chart timeframe for intra-bar data. Indicator

Indicator
