Indicator

Watermark Pro @SafarTradesWatermark Pro
Watermark Pro is a customizable branding and metadata overlay for PulseWire charts. It helps create a clean, professional workspace while keeping important chart information consistently visible.
The indicator combines customizable branding, chart metadata, and account status badges into a single configurable layout, making it suitable for personal trading, screenshots, educational content, and social media publishing.
Branding Panel
Display a fully customizable title and subtitle with flexible positioning to maintain a consistent visual identity across all charts.
Account Status Badge
Display a customizable status badge (e.g., Live Account, Demo Account, Funded Account, Backtesting) with multiple styling options to clearly identify the chart environment.
Chart Metadata
Optionally display the current date, trading symbol, and timeframe in a dedicated information panel that updates automatically as charts change.
Customization
Every component can be customized independently, allowing you to configure the layout to match your personal workflow and visual preferences.
Theme presets
Branding panel
Account status badge
Chart metadata panel
Flexible positioning
Color and typography controls
Badge styling options
Intended Use
Watermark Pro is suitable for traders, educators, analysts, and content creators who want consistent chart branding and a clean presentation for trading, analysis, screenshots, and educational content. Indicator

Session Value Ribbon [EXCAVO]Anchored volume-weighted mean with a harmonic value ribbon and HTF confluence
The Session Value Ribbon plots a volume-weighted mean of price and a volatility-scaled sigma envelope, then partitions the space between them into a harmonic value ribbon (0.236, 0.382, 0.5, 0.618, 0.786). Three anchor modes let the wave adapt to any chart: Rolling (a sliding N-bar window, default), Timeframe (classical anchored VWAP that resets each session), and Date (fixed anchor). A second accumulator on a slower reference timeframe runs the same math and plots as an HTF confluence line for multi-scale reads.
This is not a basic VWAP indicator. The ribbon layers, the volatility-regime scaling of the sigma bands, the HTF confluence overlay, and the auto-resolver that picks the anchor from the chart timeframe turn a single-line mean into a full value map of the current session.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator. The anchored mean, sigma envelope
and value ribbon draw immediately on whatever anchor
mode is selected (Rolling by default).
Step 2 → Read the mean as fair value for the active anchor.
Price above the mean = participants are bidding higher
than the anchor-window average; price below = lower.
Step 3 → Watch the outer sigma bands. A close beyond them
means price is stretched from fair value; the ribbon
layers below act as pullback shelves.
Step 4 → Use ribbon layers as intraday shelves. The 0.5 layer
is the midpoint between mean and outer band; the 0.236
layer sits close to the mean; the 0.786 layer sits
close to the outer band. Look for stalls and false
breaks at each layer.
Step 5 → Cross-check with the HTF confluence line. When the
primary mean and the HTF mean converge, price is in a
multi-scale value zone; when they diverge, one session
is running ahead of the other.
Step 6 → Read the dashboard for anchor mode, current mean,
distance from mean in sigmas, slope regime and bar
count since the anchor.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ Volume-Weighted Mean
The mean is a running weighted average of the selected price source. Weights come from volume with three modes: Full uses raw volume (classical MIDAS weighting), Root uses the square root of volume (dampens single-bar spikes so one huge candle cannot drag the mean), and None uses equal weight (the mean degenerates to a plain arithmetic average of the source).
◆ Anchor Modes
Rolling accumulates over a sliding N-bar window (default 200 bars), so the wave is always N bars long regardless of chart timeframe. Timeframe resets the accumulator on each boundary of the chosen anchor timeframe (Daily by default), matching the behaviour of a classical anchored VWAP. Date locks the anchor to a specific timestamp and keeps accumulating forever after.
◆ Sigma Envelope
Sigma is computed from the anchor-window weighted variance, E − (E )². The outer bands are drawn at ±sigmaMultiplier × sigma around the mean. Optional Volatility Regime Adjust multiplies sigma by an ATR-relative factor, bounded between 0.7x and 1.4x, so the bands breathe with the current activity state, giving tighter bands in quiet regimes and wider bands in wild ones.
◆ Harmonic Value Ribbon
The space between the mean and each outer band is split into harmonic layers at 0.236, 0.382, 0.5, 0.618 and 0.786 of the sigma distance. The ribbon is rendered as a progressive-opacity fill, not as separate labelled lines, so the eye reads a continuous value gradient instead of a stack of horizontal ledger lines.
◆ HTF Confluence Layer
A second accumulator runs the exact same math on the next slower anchor timeframe (Rolling with a longer window when the primary is Rolling; the next-slower TF step when the primary is Timeframe). The HTF mean plots as a thin coloured line. When the primary mean and the HTF mean align, price is in a multi-scale value zone.
◆ Slope-Based Regime Classifier
The classifier measures the slope of the primary mean over the slope-lookback window and normalises it by ATR. If |slope|/ATR exceeds the slope threshold (default 0.05 xATR), the ribbon and mean tint bull or bear. Below the threshold the regime is flat and the palette stays neutral.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Chart-Timeframe Auto-Resolver
The anchor timeframe is resolved automatically from the chart timeframe, so the wave shape stays consistent across intraday, swing and position TFs without manual tuning.
◆ Volatility-Regime Scaling
The sigma envelope adapts to activity state instead of being fixed at a static multiplier. Tight regimes contract the bands, wild regimes widen them, with a bounded 0.7x to 1.4x multiplier so the visual stays stable.
◆ Harmonic Ribbon as Progressive Fill
The intra-band space is drawn as a smooth value gradient rather than a stack of horizontal lines. Layer count is user-selectable (Harmonic 3, 5 or 7).
◆ HTF Confluence Overlay
A second anchored mean on the next slower timeframe plots as a companion line so multi-scale value alignment is visible without a second indicator on the chart.
◆ Distance-In-Sigma Readout
A right-edge readout reports the current mean and the current distance from mean in sigmas, so the extreme readings are legible without measuring.
◆ EXCAVO Overlay Visual
Chart-anchored overlay only, with no pane oscillator and no floating badges. The wave, ribbon and HTF line share a single tonal palette that stays out of the way of price action.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Real-time panel (top right by default) with all key metrics:
Anchor - active anchor mode with its parameter (Rolling N, Timeframe TF, or Date)
Mean - current value of the anchored mean
Distance - price distance from mean in sigmas, signed
Regime - Up / Down / Flat classification from the slope-based regime engine
Bars in Anchor - bar count since the anchor started accumulating
Legend table (bottom left) explains every glyph and colour used on the chart. Toggle in Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Anchor
Anchor Mode - Rolling (default), Timeframe, or Date
Rolling Length (bars) - 200 (window used in Rolling mode)
Anchor Timeframe - D (used in Timeframe mode)
Anchor Date - 01 Jan 2025 (used in Date mode)
Source
Price Source - (H+L+C)/3 (typical price)
Volume Weight - Full (raw volume) - Root (square root of volume) - None (equal weight)
Sigma Bands
Sigma Multiplier - 2.0 (band distance in sigmas)
Volatility Regime Adjust - OFF (ATR-scaled sigma with 0.7x-1.4x bounds)
Value Ribbon
Show Value Ribbon - ON
Ribbon Set - Harmonic 5 (0.236 / 0.382 / 0.5 / 0.618 / 0.786)
Ribbon Opacity Base - 80
Show Zone Fill - ON
Zone Fill Opacity - 88
HTF Confluence
Enable HTF Confluence - ON (draws a second mean from the next slower anchor)
Regime Coloring
Slope Regime Coloring - ON
Slope Lookback - 20 bars
Slope Threshold (xATR) - 0.05
Visualization
Bull Color - deep blue
Bear Color - red
Flat Color - neutral grey
HTF Confluence Color - amber
Show Right-Edge Readout - ON
Dashboard
Show Dashboard - ON
Dashboard Position - Top Right
Show Legend - ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
Directional alerts only.
Price Crossed Above Anchored Mean - close crosses over the primary anchored mean
Price Crossed Below Anchored Mean - close crosses under the primary anchored mean
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Built on MIDAS anchored VWAP (Paul Levine, 1990s), extended with three anchor modes (Rolling / Timeframe / Date), selectable volume weighting, volatility-regime scaling of the sigma bands, a harmonic ribbon rendered as a progressive-opacity fill, an HTF confluence layer, a slope-based regime classifier, and a right-edge distance-in-sigma readout.
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis tool
and does not constitute financial advice, investment recommendations, or a
guarantee of future results. Past indicator behavior does not guarantee future
performance. Always use proper risk management and your own judgment.
Indicator

Intraday RVOL Overlay: Time Of Day Relative VolumeIntraday RVOL Overlay — Time-of-Day Relative Volume
The purpose of this script is to provide a time-of-day adjusted intraday volume comparison while keeping the information visible on the main price chart, to do this, the indicator plots intraday relative volume directly on the price chart.
It is designed to answer one specific question:
Is today’s volume running above or below normal for this exact point in the trading session?
A standard volume moving average compares recent candles with other recent candles. That can be useful, but it does not account for the natural shape of intraday volume. Volume is usually heavier near the market open, quieter around midday, and may increase again near the close.
This script takes a different approach. It compares today’s cumulative intraday volume with the average cumulative volume at the same time of day over previous trading sessions.
For example, if the chart is at 14:45, the script compares today’s cumulative volume from the start of the session up to 14:45 with the average cumulative volume from the start of the session up to 14:45 over the selected lookback period.
The result is shown as an RVOL multiple.
How RVOL is calculated
RVOL = today’s cumulative intraday volume so far / average cumulative intraday volume by the same time of day.
Example:
Today cumulative volume: 4.05M
Average cumulative volume by this time: 6.30M
RVOL = 4.05M / 6.30M = 0.64x
This means the symbol is trading at around 64% of its normal cumulative volume for that point in the session.
What makes this script different
Instead of asking whether the current candle has high volume compared with the last few candles, it asks whether today’s total traded volume so far is high or low compared with what is normally expected at this stage of the session.
The script combines three ideas:
Cumulative intraday volume tracking
Historical same-time-of-day volume comparison
Price-chart overlay scaling
How to read the lines
The main RVOL line shows today’s cumulative intraday relative volume.
RVOL below 1.0x means volume is running below normal
RVOL around 1.0x means volume is running around normal
RVOL above 1.5x means volume is meaningfully above average
RVOL above 2.0x means volume is unusually strong
The script also plots reference lines for average volume and high volume.
If the RVOL line is below the 1.0x line, today’s cumulative volume is below average for this point in the session.
If the RVOL line is above the 1.5x line, today’s cumulative volume is meaningfully above average for this point in the session.
Important note about price scaling
RVOL is a ratio, not a price.
Because this script is plotted as an overlay on the main price chart, the RVOL values are visually mapped into a small band inside the recent price range.
This means the price-axis values shown beside the RVOL plots are only visual placement values. They are not support levels, resistance levels, targets, or actual price signals.
The overlay is price-scaled only so the RVOL information can be viewed directly alongside price action without requiring a separate indicator pane.
Inputs
Average over previous trading days : controls how many prior trading sessions are used to calculate the average cumulative volume baseline
Price scaling lookback bars : controls the recent price range used to place the RVOL overlay band on the chart
RVOL value plotted at top of band : controls the visual cap for the overlay. For example, with a cap of 3.0, RVOL values of 3.0x or higher are plotted at the top of the visual band
Overlay band position : allows the RVOL band to be placed near the top or bottom of the price chart
Overlay band height : controls how much vertical space the RVOL overlay uses inside the price chart
Fallback search minutes : allows the script to look backwards for nearby historical volume slots when exact same-minute data is missing
Suggested use
This indicator is intended for intraday charts.
Recommended chart timeframes:
5 minute
15 minute
1 hour
Supported chart timeframes:
Intraday charts from 1 minute upward
Not supported:
Seconds charts
Daily charts
Weekly charts
Monthly charts
Practical interpretation
This script can help give volume context to intraday price movement.
A price move with RVOL below 1.0x may be happening on weaker-than-normal participation
A price move with RVOL above 1.5x may have stronger-than-normal participation
A breakout attempt with RVOL above 2.0x may be occurring during unusually active trading
This does not mean the move will continue. It only shows whether volume participation is above or below normal for that time of day.
Limitations
This script works best on liquid symbols with regular intraday trading activity.
Results may be affected by:
Extended-hours data
Half trading days
Market holidays
Trading halts
Low-liquidity symbols
Missing historical bars
Unusual trading sessions
Symbols with irregular volume patterns
The script does not generate buy or sell signals.
It should be used as a volume context tool alongside price action, trend, liquidity, volatility, and risk management.
Disclaimer
This script is provided for educational and research purposes only.
It is not financial advice.
It does not predict price direction and should not be used as the sole basis for trading decisions.
Indicator

Intraday RVOL Overlay: Time-of-Day Relative Volume
## Intraday RVOL Overlay — Time-of-Day Relative Volume
This indicator plots intraday relative volume directly on the price chart.
It is designed to answer a specific question:
Is today’s volume running above or below normal for this exact point in the trading session?
A standard volume moving average compares recent candles with other recent candles. That can be useful, but it does not account for the natural shape of intraday volume. Volume is usually heavier near the market open, often quieter around midday, and may increase again near the close.
This script takes a different approach. It compares today’s cumulative intraday volume with the average cumulative volume at the same time of day over previous trading sessions.
For example, if the chart is at 14:45, the script compares:
today’s cumulative volume from the start of the session up to 14:45
with
the average cumulative volume from the start of the session up to 14:45 over the selected lookback period
The result is shown as an RVOL multiple.
How RVOL is calculated
The script calculates:
RVOL = today’s cumulative intraday volume so far / average cumulative intraday volume by the same time of day
Example:
Today cumulative volume: 4.05M
Average cumulative volume by this time: 6.30M
RVOL = 4.05M / 6.30M = 0.64x
This means the symbol is trading at around 64% of its normal cumulative volume for that point in the session.
What makes this script different
This is not a basic volume moving average and it is not a standard RSI or moving-average crossover setup.
The original purpose of this script is to provide a time-of-day adjusted intraday volume comparison while keeping the information visible on the main price chart.
The script combines three ideas:
1. Cumulative intraday volume tracking
2. Historical same-time-of-day volume comparison
3. Price-chart overlay scaling
Instead of asking whether the current candle has high volume compared with the last few candles, it asks whether today’s total traded volume so far is high or low compared with what is normally expected at this stage of the session.
How to read the lines
The main RVOL line shows today’s cumulative intraday relative volume.
RVOL below 1.0x = volume is running below normal
RVOL around 1.0x = volume is running around normal
RVOL above 1.5x = volume is meaningfully above average
RVOL above 2.0x = volume is unusually strong
The script also plots reference lines:
1.0x average volume line
1.5x high-volume threshold line
If the RVOL line is below the 1.0x line, today’s cumulative volume is below average for this point in the session.
If the RVOL line is above the 1.5x line, today’s cumulative volume is meaningfully above average for this point in the session.
Important note about price scaling
RVOL is a ratio, not a price.
Because this script is plotted as an overlay on the main price chart, the RVOL values are visually mapped into a small band inside the recent price range.
This means the price-axis values shown beside the RVOL plots are only visual placement values. They are not support levels, resistance levels, targets, or actual price signals.
The overlay is price-scaled only so the RVOL information can be viewed directly alongside price action without requiring a separate indicator pane.
Inputs
Average over previous trading days
Controls how many prior trading sessions are used to calculate the average cumulative volume baseline.
Price scaling lookback bars
Controls the recent price range used to place the RVOL overlay band on the chart.
RVOL value plotted at top of band
Controls the visual cap for the overlay. For example, with a cap of 3.0, RVOL values of 3.0x or higher are plotted at the top of the visual band.
Overlay band position
Allows the RVOL band to be placed near the top or bottom of the price chart.
Overlay band height
Controls how much vertical space the RVOL overlay uses inside the price chart.
Fallback search minutes
Allows the script to look backwards for nearby historical volume slots when exact same-minute data is missing.
Suggested use
This indicator is intended for intraday charts.
Recommended chart timeframes:
5-minute
15-minute
1-hour
Supported chart timeframes:
Intraday charts from 1 minute upward
Not supported:
Seconds charts
Daily charts
Weekly charts
Monthly charts
Practical interpretation
This script can help give volume context to intraday price movement.
For example:
A price move with RVOL below 1.0x may be happening on weaker-than-normal participation.
A price move with RVOL above 1.5x may have stronger-than-normal participation.
A breakout attempt with RVOL above 2.0x may be occurring during unusually active trading.
This does not mean the move will continue. It only shows whether volume participation is above or below normal for that time of day.
Limitations
This script works best on liquid symbols with regular intraday trading activity.
Results may be affected by:
extended-hours data
half trading days
market holidays
trading halts
low-liquidity symbols
missing historical bars
unusual trading sessions
symbols with irregular volume patterns
The script does not generate buy or sell signals. It should be used as a volume context tool alongside price action, trend, liquidity, volatility, and risk management.
Disclaimer
This script is provided for educational and research purposes only. It is not financial advice. It does not predict price direction and should not be used as the sole basis for trading decisions.
Indicator

Vortex Signals [Gabremoku]Vortex Signals is a reworked version of the classic Vortex Indicator designed to make directional shifts easier to read and less reactive than raw crossover-based interpretations.
Instead of treating every VI+ / VI- crossover as a direct trading signal, this script uses the Vortex lines as a regime detector first, then looks for signal quality through spread expansion and re-activation after a pullback. The goal is to reduce the noisy sequence of repeated entries and exits that often appears when the standard Vortex is used on its own.
What the script does:
Plots the classic Vortex components, VI+ and VI-.
Fills the space between the two lines with a dynamic gradient that reflects which side is dominant and how strong the current spread is.
Detects bullish and bearish dominance regimes.
Uses a signal engine based on regime change, spread expansion, and first valid continuation after weakening.
Prints compact chart markers for LONG, SHORT, and CLOSE events.
Includes a dashboard to show current state, sequence status, setup condition, spread, slope, and directional bias.
How it works:
Regime: the script first determines whether VI+ is above VI- or VI- is above VI+.
Spread: it measures the distance between the two Vortex lines to evaluate whether dominance is meaningful or weak.
Expansion: a regime becomes more relevant when the spread rises above its short baseline and continues widening.
Trigger logic: instead of firing on every crossover, the script waits for either an early valid impulse after regime change or the first useful re-expansion after a pullback inside the same regime.
Why this is different from the classic Vortex:
The built-in Vortex is often read through raw line crossovers.
This script reframes the indicator as a dominance and continuation tool rather than a pure crossover trigger.
The signal engine is designed to capture cleaner transitions and continuation phases while avoiding part of the back-and-forth noise that often occurs in choppy conditions.
How to use it:
In Long mode, focus on bullish dominance and the appearance of a LONG marker after spread expansion or re-expansion.
In Short mode, focus on bearish dominance and the appearance of a SHORT marker after the same logic on the opposite side.
CLOSE markers appear when the opposite Vortex condition breaks the active sequence.
Suggested use:
This script is generally better suited to trending or directional environments than to highly compressed sideways markets.
In my testing and chart observation, the signals can appear cleaner on the 1H timeframe, where short-term noise is often reduced compared with very low timeframes, but users should still adapt settings to the instrument and market structure they trade.
Notes:
This indicator is not predictive and does not guarantee profitable signals.
It should be used as a decision-support tool together with price structure, risk management, and broader market context.
As with any directional model, false signals can still occur during whipsaw or transition phases. Indicator

VWAP SAR Magnitude Filter [Gabremoku]VWAP SAR Magnitude Filter
Short description
A state-based long-only trend filter that combines VWAP context with Parabolic SAR structure. It uses VWAP as the main trend and invalidation line, while SAR confirms directional pressure and helps visualize momentum expansion or compression.
Descrizione completa
VWAP SAR Magnitude Filter is a long-only overlay designed to turn two familiar tools, VWAP and Parabolic SAR, into a cleaner operational framework rather than a simple indicator mashup.
The script uses VWAP as the primary market context and invalidation line. When price is above VWAP, the market is treated as having bullish intraday or swing context. When price falls back below VWAP, that context weakens and the script can trigger an exit.
Parabolic SAR is not used here as the primary exit engine. Instead, it acts as a structural confirmation tool. A valid long setup requires price to be above VWAP while SAR remains below the candle, which helps align directional bias and price structure. This reduces the number of signals that would appear if VWAP or SAR were used independently.
The script also includes an Auto mode engine. In Auto mode, lower intraday timeframes are handled with faster behavior, while higher timeframes are treated as swing conditions with additional filters. This makes the indicator adapt its sensitivity without requiring constant manual switching.
In Swing mode, the script becomes more selective by requiring:
persistence of the long condition for a minimum number of bars,
a minimum distance between price and SAR,
confirmed exit behavior below VWAP,
a longer cooldown after exits.
This approach is intended to reduce noise and avoid frequent re-entries during unstable or sideways phases. The indicator is therefore more focused on readable continuation structure than on generating many raw signals.
How it works
Long context: Price above VWAP.
Long confirmation: Parabolic SAR below the candle.
Long entry: The bullish context and structural confirmation align.
Exit logic: Main exit occurs on VWAP fallback; in Swing mode the fallback can require confirmation across multiple bars.
Mode engine: Auto selects Intraday or Swing behavior depending on the chart timeframe.
Visual features
VWAP line as the main reference level.
SAR line and glow for directional structure.
Magnitude fill between price and SAR to visualize pressure expansion and compression.
Optional bar coloring.
Dashboard with State, Mode, Regime, Flow, Distance %, SAR Side, and Exit Logic.
How to use it
This indicator works best when price is developing directional structure away from VWAP. In strong trends, it can help frame cleaner long continuation behavior. In choppy or sideways markets around VWAP, noise is naturally higher because the market lacks clear directional context.
A practical way to use it is:
monitor whether price is holding above VWAP,
wait until SAR is also positioned below price,
use the dashboard to confirm the current regime and state,
treat VWAP fallback as the main warning that the active long structure may be weakening.
Limitations
This indicator is not meant to eliminate all noise, especially in lateral environments where price oscillates around VWAP. In those conditions, repeated context shifts are part of market behavior, so no VWAP-based trend tool can remove all false transitions. The script is designed to reduce that noise, not to make it disappear completely.
It is also a context and structure tool, not a complete trading system. Users should still evaluate market conditions, liquidity, session behavior, and personal risk management before making decisions. Indicator

Volatility Forecast [EXCAVO]Forward Projection of the Bollinger Envelope with Adaptive Horizon and Slope Clamp
The Volatility Forecast takes the classical Bollinger Bands and
projects the basis and the bands forward by a configurable number of bars.
Slopes of the basis, standard deviation and ATR are estimated from linear
regression over a lookback window, then extrapolated through a smooth
curve into the right side of the chart. Small orange dots mark band
reclaim events on confirmed closed bars.
The forecast horizon adapts to the chart timeframe so the projection
stays meaningful at every TF, and a slope clamp prevents the bands from
ballooning into unrealistic territory after sharp regime shifts.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator. The current Bollinger Bands are
plotted on the chart and a dashed envelope extends to the
right with the projected basis and bands.
Step 2 → Read the projection. The projected upper and lower
bands show the most likely volatility envelope over the
next bars under the current trend and volatility regime.
Wider end = expansion expected; narrower end = compression.
Step 3 → Use the reclaim dots. A small orange dot below a bar
marks a confirmed bull band reclaim (price tagged the lower
band and pulled back inside). A dot above a bar marks a
bear reclaim. These are context, not entries.
Step 4 → Check the dashboard. The top right panel reads the
projection mode, current width vs its rolling average,
band state, and the last reclaim.
Step 5 → Combine with structure. The envelope pairs well with
trend and structure tools. A breakout that aligns with an
expanding projected envelope tends to continue; one against
a contracting envelope tends to fade.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ Bollinger Bands
Basis is a simple moving average of the source over Length (default 20).
Standard deviation is computed over the same window. Bands are basis plus
or minus Multiplier times standard deviation (default 2.0). These are the
solid plotted lines on the chart.
◆ Linear Regression Slopes
For the projection, the algorithm estimates per-bar slopes from a linear
regression of the basis, the standard deviation, and the ATR over the
Slope Lookback window (default 40). Slope is taken as the difference
between the linreg value at offset 0 and offset 1 - the per-bar drift
the regression expects to continue.
◆ Slope Clamp
Each slope is then clamped to a safety bound so that the cumulative
projected displacement stays sensible. End to end, the projected basis
cannot drift more than two current band-widths, and the projected
standard deviation or ATR cannot grow more than 50% of its current value.
Sign of the slope is preserved so trend direction is intact, only the
magnitude is bounded. This keeps the projection meaningful after sharp
regime shifts.
◆ Forward Projection
Three modes turn slopes into a projected envelope across the forecast
horizon:
Linear extends basis and width on a straight line using the
current slope at every step.
Smooth Curve (default) eases from the current value toward a
dynamic endpoint via a smoothstep curve so the projection has a
natural arc instead of a hard linear extrapolation.
Adaptive Volatility drives the projected width with ATR slope
instead of standard-deviation slope. Useful when volatility is
regime-dependent and the ATR captures it better than stdev.
A projection floor at 50% ensures the envelope never collapses to a
single point on declining-volatility regimes.
◆ Auto Timeframe Forecast
Forecast Bars defaults to Auto, which picks the horizon from the chart
timeframe: 40 bars on 4h and below, 20 on Daily, 10 on Weekly, 6 on
Monthly+. Manual override is available for operators who want a fixed
bar count regardless of timeframe.
◆ Band Reclaim Markers
A bull reclaim fires when the prior bar's low touched the lower band,
the current bar's low has pulled back above the lower band, and the
close sits below the basis. A bear reclaim is symmetric on the upper
band. Cooldown of Length bars prevents same-direction stacking. The
optional Trend MA filter keeps bull marks only above the MA and bear
marks only below. By default markers fire only on confirmed closed bars
(no repaint); Real-time Markers can be enabled if intra-bar feedback is
preferred.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Adaptive Horizon
The forecast horizon scales with the chart timeframe. The projection
shows a comparable arc on intraday, daily, weekly and monthly without
manual tuning per chart.
◆ Slope Clamp Safety Net
Linear-regression slopes can overshoot after sharp moves or on long
horizons. The clamp caps the cumulative displacement so the projection
cannot grow into unrealistic ranges, regardless of the underlying slope.
◆ Three Projection Modes
Linear, Smooth Curve and Adaptive Volatility cover the common shapes a
volatility envelope can take. Smooth Curve uses smoothstep easing for
a natural arc; Adaptive Volatility ignores stdev drift and tracks ATR
instead.
◆ Confirmed Reclaim Markers
Small orange dots above or below the bar mark band reclaim events. They
fire on confirmed closed bars by default (no repaint), with an optional
real-time mode for operators who prefer intra-bar feedback. A trend-MA
filter keeps the bias clean.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Real-time panel with the current state read:
Mode - Linear / Smooth Curve / Adaptive Volatility
Width vs Avg - current band width relative to its rolling average
Band State - where price sits in the bands (Above Upper / Below Lower / Upper Half / Lower Half)
Last Marker - direction and bars since the last band reclaim
Legend table explains every on-chart element. Both panels toggle in the
Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Bollinger Bands
Source - close (price series used for basis and stdev)
Length - 20 (lookback for basis and stdev)
Multiplier - 2.0 (band width in stdev units)
Basis / Band / Fill Colors - default palette
Forecast Envelope
Forecast Bars Mode - Auto (adapts to chart TF) or Manual
Forecast Bars (Manual) - 40 (used when Mode = Manual)
Slope Lookback - 40 (linreg window for slope estimation)
Mode - Smooth Curve (Linear / Smooth Curve / Adaptive Volatility)
Projection Style / Width / Colors - dashed, default palette
Fill Projection - ON
Reclaim Markers
Show Markers - ON
Real-time Markers - OFF (no repaint by default; closed bars only)
Filter by Trend MA - ON
Trend MA Type - SMA (SMA / EMA / WMA / HMA)
Trend MA Length - 100
Marker Color - orange (#FF8C00)
Show Trend MA - OFF
Dashboard
Show Dashboard - ON
Dashboard Position - Top Right
Show Legend - ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
Two directional alertconditions are exposed:
Bull Band Reclaim - fires on a confirmed bull reclaim event
Bear Band Reclaim - fires on a confirmed bear reclaim event
Set the alert condition to "Once Per Bar Close" for clean, non-repainting
delivery. Trend-MA filter and cooldown apply to alerts the same way they
apply to the on-chart markers.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis
tool and does not constitute financial advice, investment recommendations,
or a guarantee of future results. Past indicator behavior does not
guarantee future performance. Always use proper risk management and your
own judgment.
Indicator

Market Cycle Wave [Gabremoku]Market Cycle Wave is a price-based cycle indicator built to map broad market phases into a readable oscillator and a price-anchored overlay.
Instead of relying on a single signal, the script combines trend, momentum, volatility, and range-position data into a composite cycle score. That score is normalized and smoothed to create an intermediate Cycle Wave, while a slower Secular line provides broader context.
The script has two main views:
- an oscillator pane with the score histogram, Cycle Wave, Secular baseline, and major Cycle Peak / Cycle Trough labels.
- a price overlay with a cycle line, gradient aura, and a thinner secular context line.
The regime model classifies market conditions into Debt Accumulation, Deleveraging, Reflation, and Transition. The goal is not to generate standalone buy/sell signals, but to help traders read where price may sit inside a broader market cycle structure.
How to use it
This indicator works best on broad indices and diversified equity ETFs, where cycle behavior is usually cleaner than on highly erratic single names.
Typical use:
- Daily chart: monitor intermediate cycle shifts
- Weekly chart: study broader regime transitions
Practical reading:
- A rising blue cycle wave can suggest constructive expansion conditions
- A yellow rollover after a mature advance can suggest a weakening cycle structure
- Deep negative readings followed by green recovery can suggest reflation or post-stress repair
- The secular line helps show whether the shorter cycle is moving with or against the broader backdrop
The dashboard summarizes the current regime, state, direction, score, risk posture, and color legend directly on the chart.
How it works
The cycle model uses eight price-based factors:
- Fast EMA vs slow EMA relationship
- Fast EMA slope
- RSI momentum regime
- RSI extremes
- Position inside the rolling yearly range
- Distance from yearly extremes
- ATR volatility regime
- Price position vs the slow EMA
Each factor contributes to a composite score. That score is then normalized, smoothed, and accumulated over a rolling memory window to build a bounded cycle wave around a midpoint.
A second and slower baseline is built through longer smoothing to represent secular context. This creates two distinct layers:
- Cycle Wave: the intermediate cycle, more reactive to market swings
- Secular Baseline: the broader context, slower and less sensitive
Recent Cycle Peak and Cycle Trough labels are pivot-based, so the latest labels need confirmation from future bars. Indicator

Indicator

Phantom ChartPhantom Chart — Overlay Any Chart Style While Keeping Real Prices
Phantom Chart draws an alternative chart visualization on top of your existing chart — without changing the real prices your other indicators depend on. Most indicators and drawing tools read the chart's Open, High, Low, and Close, so switching your base chart to Heikin Ashi or another modified style quietly feeds them altered values instead of real ones.
Phantom Chart solves this: keep your base chart on Bars or standard Candles so everything else still reads true prices, then let Phantom Chart render whatever view you actually want to look at on top — Heikin Ashi, a clean line, an area, a baseline, a histogram, and more. You get the visual you read best, and your stops, targets, Fib tools, and other indicators all keep working off real prices.
Available Chart Styles
Candles
Bars
Heikin Ashi
Line
Step Line
Area
Baseline
Line with Markers
Columns
Histogram
Heikin Ashi Enhancements
HA is the headline use, so it gets dedicated tools:
Double Smooth — runs the Heikin Ashi calculation a second time for an even cleaner trend read with almost no noise. Flips are rarer but more reliable.
Strong Candles — highlights candles with no lower wick (strong bullish) or no upper wick (strong bearish), the candles that mark the heart of a trending move.
Flip Markers — a triangle whenever the candle color changes direction, so you never miss a turn.
Streak Counter — a live count of consecutive same-direction candles for gauging trend strength at a glance.
Candle Patterns (Candles / Bars)
Inside Bars — marks compression bars sitting fully inside the prior bar's range, which often precede an expansion.
Engulfing — marks bars whose body fully engulfs the previous bar in the opposite direction. Bull engulfing below the bar, bear engulfing above.
Baseline Tools
Crossover Markers — triangles at each cross of the baseline reference, the core baseline signal.
Fill To Baseline — shades green above the baseline, red below, so price position is obvious instantly.
Coloring Modes
Direction — each bar colored by close versus its own open.
Momentum — each bar colored by close versus the previous close, regardless of the bar's own direction.
Trend — colored by whether price is above or below its moving average, with an optional trend line.
Single Color — one color everywhere.
More Controls
Multi-Timeframe — render any higher timeframe on your chart, with an optional setting to show only fully-closed bars.
Volume-Weighted Opacity — fades low-volume bars and keeps high-volume bars solid so the heavy bars stand out.
Source Smoothing — optional moving average on the line-style sources.
Inverse Chart — flip the chart vertically for an objectivity check: would you take this trade if it moved the other way?
OHLC Labels — optional last-bar price labels.
Fully customizable colors, widths, wick visibility, and label styling throughout. Every enhancement is an independent toggle, off-by-default where it adds clutter.
Recommended Setup
For accurate visuals, keep your base chart on a standard type (Candles or Bars) and use Phantom Chart for the alternative view. If your base chart itself is set to Heikin Ashi or another transformed type, the overlay will reflect those transformed values rather than real prices — a built-in warning label appears when this is detected.
Tip
You can add Phantom Chart more than once to layer multiple views — for example a Heikin Ashi read alongside a clean line of real closes — each instance with its own settings.
This script is open-source under the Mozilla Public License 2.0.
Indicator

Daubechies D4 Denoising [LB]Concept
The Daubechies D4 Wavelet Denoising indicator applies a multi‑level discrete wavelet transform using the compactly supported Daubechies D4 wavelet (Ingrid Daubechies, 1992) combined with Donoho's universal threshold (Donoho & Johnstone, 1994). It separates price into approximation (trend) and detail (noise) coefficients, attenuates noise via soft thresholding, and reconstructs a denoised price curve that directly overlays the chart.
Mathematical Foundation
The Daubechies D4 wavelet is defined by four scaling coefficients h and four wavelet coefficients g , forming quadrature mirror filters that satisfy perfect reconstruction. At each level, the input array a is circularly convolved with h and g , then downsampled by two to produce the approximation a' and detail d' :
a' = SUM_m h * a
d' = SUM_m g * a
This process is iterated J times. The universal threshold lambda is estimated for each detail array independently using the median absolute deviation (MAD) of the coefficients :
sigma = MAD / 0.6745
lambda = sigma * sqrt(2 * log N)
Soft thresholding is then applied to each detail coefficient x :
threshold(x) = sign(x) * max(|x| - lambda, 0)
Finally, the denoised signal is reconstructed by upsampling, convolution with synthesis filters, and summation of approximation and detail contributions.
What Problem Does It Solve ?
Classical moving averages and low‑pass filters eliminate noise at the cost of significant lag and do not adapt to the local structure of the data. The Daubechies D4 wavelet denoising preserves sharp transitions (edges) while removing high‑frequency noise, offering a lag‑free, adaptive smoothing that respects the multi‑scale nature of price action.
How To Interpret
Denoised line above price – the smoothed trend is stronger than the current raw price; underlying momentum remains positive despite transient dips.
Denoised line below price – the smoothed trend is weaker; price is correcting within a larger structure.
Denoised line flattening or changing direction – a regime shift may be underway; the multi‑scale trend is losing or gaining momentum.
Parameters
Source – price field to denoise (default close).
Decomposition Levels – number of wavelet decomposition iterations. Higher levels remove lower‑frequency components, producing a smoother but more slowly reacting line.
Window Length (power of 2) – analysis window size. Must be a power of two for the dyadic decomposition; the indicator automatically adjusts to the largest valid power of two if an invalid value is entered.
Reference
Daubechies I., "Ten Lectures on Wavelets", Society for Industrial and Applied Mathematics, 1992.
Donoho D.L. & Johnstone I.M., "Ideal Spatial Adaptation by Wavelet Shrinkage", Biometrika, Vol. 81, No. 3, pp. 425‑455, 1994. Indicator

Dual MA Gradient [Gabremoku]Dual MA Gradient is a clean dual moving average overlay designed to highlight not only MA direction and crossover, but also the degree of separation between the two averages through a dynamic gradient ribbon.
The script uses two configurable moving averages and transforms their relationship into a visual ribbon that reacts to:
bullish alignment
bearish alignment
neutral compression
Instead of relying only on a simple crossover, the indicator helps show whether the two averages are:
crossing,
compressing,
or expanding apart
That makes it useful as a compact trend-structure tool for traders who want an at-a-glance read on direction and relative momentum.
What it shows
📈 Two configurable moving averages — each MA can be set independently using:
EMA or SMA
custom length
custom source
🌈 Directional gradient ribbon — the space between the two averages is divided into layered fills that create a smooth visual ribbon.
🟦 Bullish separation — when the fast MA is above the slow MA, the ribbon shifts to bullish color.
🟨 Bearish separation — when the fast MA is below the slow MA, the ribbon shifts to bearish color.
⚪ Compression state — when the spread between the two MAs becomes small enough, the ribbon fades into a neutral state to signal contraction.
🏷️ Status label — optional live label shows the active state:
Compression
Bullish Separation
Bearish Separation
⭕ Cross markers — optional markers can be shown when bullish or bearish MA crosses occur.
Core logic
The indicator is built around three simple but useful ideas:
Which MA is on top
How far apart the two MAs are
Whether the spread is strong enough to be directional or too tight and neutral
A moving average crossover occurs when a shorter-period average crosses a longer-period average, and it is commonly used to identify trend shifts or signal changes in directional bias.
This script goes a step further by emphasizing the spread between the averages. That matters because ribbon spacing is often used as a visual clue for trend structure: when averages are compressed, the market may be in transition or contraction, while a wider directional ribbon can reflect stronger alignment.
How to read it
A practical reading method is:
Compression = the two averages are close together, market may be transitioning or losing directional clarity
Bullish separation = the fast MA is above the slow MA and the ribbon is opening upward
Bearish separation = the fast MA is below the slow MA and the ribbon is opening downward
In many moving-average frameworks:
the cross helps identify the directional shift
the spacing helps evaluate whether that shift is weak or established
a tight ribbon often suggests indecision or a developing transition
Features
✅ Dual moving average framework
✅ SMA or EMA selection for both lines
✅ Fully customizable lengths
✅ Dynamic layered ribbon between MAs
✅ Bullish / bearish / neutral compression states
✅ Optional MA line display
✅ Optional live status label
✅ Optional crossover markers
✅ Built-in bullish and bearish crossover alerts
Notes
This indicator is designed as a trend-visualization tool rather than a complete standalone strategy. Like all moving-average systems, it is inherently lagging, so it is generally more useful for confirming structure and directional bias than for predicting reversals in isolation.
Author: Gabremoku
Pine Script v6 Indicator

Indicator

Bollinger Bands Gradient [Gabremoku]Bollinger Bands Gradient is an enhanced Bollinger Band overlay designed to turn classic volatility bands into a richer visual and signal-based trading framework.
The indicator keeps the core structure of Bollinger Bands — Upper Band, Basis, and Lower Band — but adds a dynamic gradient fill, squeeze detection, state-based bar coloring, strategy-side signal logic, and an optional dashboard for fast chart interpretation. Bollinger Bands are widely used to read volatility compression, expansion, and breakout behavior, especially when traders want more context than a standard three-line display can offer.
This script is built for traders who want Bollinger Bands to feel more alive: clearer transitions, better volatility awareness, and cleaner breakout mapping directly on price.
What it shows
🌈 Dynamic Gradient Fill — the area between Upper/Basis and Basis/Lower is filled with adaptive color intensity that changes according to price distance from the basis.
🗜️ Squeeze Detection — the script monitors Bollinger Band compression and flags low-volatility states when band width contracts relative to its recent range. Bollinger squeezes are commonly used to identify volatility contraction before a possible breakout.
🎨 State-Based Coloring — basis line, bands, bars, and optional background can all shift visually depending on whether the market is bullish, bearish, neutral, or in squeeze mode.
📍 Breakout Signals — optional labels for:
BUY / SELL in Long mode
SHORT / CLOSE in Short mode
🪧 Dashboard — a compact panel showing current state, strategy mode, sequence status, band width, range position, and squeeze condition.
🏷️ Last Value Labels — optional live labels for Upper, Basis, and Lower band values.
Core logic
This script combines volatility structure and signal sequence control.
At the core, Bollinger Bands define the dynamic range around a moving average using standard deviation, which helps visualize whether price is relatively stretched or compressed versus its recent behavior. Narrow bands usually reflect low volatility, while wide bands reflect expansion.
On top of that, this version introduces:
a basis color gradient tied to price position inside the band structure,
a fill intensity model tied to distance from the basis,
and a state machine that prevents repeated entry signals in the same sequence.
That makes the indicator more structured than a plain breakout marker, especially for traders who want cleaner signal flow.
Signal logic
The indicator supports two operating modes:
Long Mode
BUY = breakout above the Upper Band
SELL = breakdown below the Lower Band
Short Mode
SHORT = breakdown below the Lower Band
CLOSE = breakout above the Upper Band
This logic reflects one of the most common ways traders use Bollinger Bands: watching for volatility compression, then responding to expansion outside the bands. At the same time, Bollinger-based strategies can also be used for mean reversion, which is why breakout signals generally work best when confirmed by price structure, momentum, or volume.
Features
✅ Classic Bollinger Bands with selectable basis type
✅ Dynamic gradient fill above and below the basis
✅ Adaptive basis coloring based on price position
✅ Squeeze detection using band-width normalization
✅ Optional squeeze background highlighting
✅ Optional bar coloring by state
✅ Strategy-side selector: Long or Short
✅ Breakout signal state machine
✅ BUY / SELL / SHORT / CLOSE labels
✅ On-chart dashboard
✅ Optional last-value labels
✅ Fully customizable colors and style inputs
How to use
A practical reading flow is:
Watch for band contraction and squeeze conditions.
Treat that as a volatility compression phase.
Monitor for price expansion outside the bands.
Use the selected strategy mode to interpret the resulting signal sequence.
In practice:
tight bands + squeeze on = market compression
break above upper band = bullish expansion candidate
break below lower band = bearish expansion candidate
That said, Bollinger breakouts can fail in choppy environments, so many traders confirm them with momentum, volume, or higher timeframe structure rather than using them in isolation.
Notes
This indicator is designed as an enhanced Bollinger workflow tool, not as a complete trading system with full risk management. Bollinger Bands can support both breakout and mean-reversion approaches, so the best interpretation depends on market regime and confirmation methods.
Author: Gabremoku
Pine Script v6 Indicator

Price Density Clouds [EXCAVO]Continuous Kernel-Density Map of Where Price Has Actually Traded
The Price Density Clouds builds a smooth, continuous probability density of
price over a lookback window and paints it as gradient clouds directly behind
the candles. Dense, saturated clouds mark value zones - the equilibrium levels
where the market has spent the most time and where price tends to stall and
revert. Thin, transparent gaps mark inefficiency zones - levels price travels
through quickly. A dashed POC line marks the single highest-probability price,
and the Value Area High / Low bracket the core of the distribution.
This is not a bin-based volume profile. Instead of chopping price into discrete
buckets, KDE sums a smooth gaussian kernel around every price point, producing a
continuous density curve with no bin-edge artefacts. The bandwidth is set
automatically by Silverman's rule, so the smoothing adapts to the instrument's
own volatility.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator. Gradient clouds appear behind the candles
over the lookback window, brightest at the highest-probability
levels and fading out toward thin zones.
Step 2 → Read the clouds. Saturated bands = value / equilibrium where
price tends to stall and mean-revert. Faint gaps = inefficiency
where price moves fast - natural travel targets.
Step 3 → Use the POC. The dashed POC line is the single most-traded
level - a robust magnet and support / resistance anchor. Price
far from POC has a statistical pull back toward it.
Step 4 → Use the Value Area. The dotted Value Area High / Low bracket
the core of the distribution (default 70%). Acceptance inside the
area is balance; rejection outside it is imbalance worth trading.
Step 5 → Check the side profile. The gradient density profile on the
right of the last bar is the same density rotated 90 degrees - a
quick read of the full distribution shape at a glance.
Step 6 → Combine with structure. Clouds are context, not direction.
They pair well with trend, sweep, and breakout tools - a breakout
into a thin zone tends to run; a breakout into a dense zone tends
to stall.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ Gaussian Kernel Density
Every close in the lookback window contributes a gaussian bell curve centred at
its own price. The curves are summed across the price range to produce a single
continuous density function: density(x) = sum over j of exp(-0.5 x ((x - price_j)
/ h)^2). Levels where many bars cluster get tall, overlapping kernels and a high
density; isolated levels get a low density.
◆ Silverman Bandwidth
The kernel width h controls smoothness. It is set automatically by Silverman's
rule of thumb: h = 1.06 x sigma x n^(-1/5), where sigma is the stdev of the
lookback prices and n is the sample size. The Bandwidth Multiplier input scales
this for sharper or smoother clouds. Auto-bandwidth means the same settings
adapt across instruments and timeframes.
◆ Normalisation and POC
The density is evaluated at Resolution levels between the lookback high and low,
then normalised so the peak equals 1.0. That peak level is the POC (Point of
Control) - the single highest-probability price. Cloud opacity and colour are
driven by each level's normalised density.
◆ Value Area
Starting at the POC, the algorithm expands outward, each step absorbing the
denser of the two neighbouring levels, until the enclosed density reaches the
Value Area % of the total (default 70). The price extent reached becomes the
Value Area High and Low.
◆ Gradient Rendering
Each density band of the cloud is drawn as a horizontal box tinted by a
two-colour gradient: the Low Density Color at thin levels through to the High
Density Color at the POC, with opacity ramping in parallel. Adjacent bands tile
continuously, so the cloud reads as a smooth heat-map rather than discrete
blocks. The same gradient drives the right-side density profile, whose width
per level scales with density - at the default resolution the edge reads as a
near-smooth wave while keeping the per-level gradient colour.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Continuous Density, Not Bins
Standard volume / price profiles split price into discrete bins, so the result
depends heavily on bin size and shows hard edges. KDE produces a smooth
continuous curve - no bin-edge artefacts, no arbitrary bucket count, just the
true shape of where price has traded.
◆ Auto-Adaptive Bandwidth
Silverman's rule sizes the smoothing from the instrument's own volatility and
sample size. The clouds stay meaningful on BTC, EURUSD, gold or an index with
the same default settings.
◆ Value Structure In One View
POC, Value Area High / Low and the full density shape are all on the chart at
once, with a matching side profile - the complete market-profile read without a
separate pane or a session reset.
◆ Premium Gradient Visual
A smooth two-colour density gradient behind the candles with parallel opacity
ramp, a clean dashed POC, dotted value-area lines, and a right-side profile
histogram. The clouds sit behind price as context and never clutter the read.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Real-time panel (top right) with the current value read:
POC - price of the highest-density level
Value Area High - upper bound of the value area
Value Area Low - lower bound of the value area
Price Zone - whether price is Above Value, In Value, or Below Value
Lookback - bars used to build the distribution
Legend table (bottom left) explains every colour. Both panels toggle in the
Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Engine
Lookback Period - 200 (bars used to build the price distribution)
Resolution - 120 (number of horizontal density bands; higher = smoother gradient and profile edge, up to 200)
Bandwidth Multiplier - 1.0 (smoothness; 1.0 = Silverman auto, higher = broader clouds)
Value Area % - 70 (percentage of total density that defines the value area)
Visualization
Low Density Color - blue (thin / inefficiency end of the gradient)
High Density Color - orange (dense / value end of the gradient)
POC Line Color - near-white (high contrast against the dense orange cloud the POC sits in)
Min Cloud Opacity - 8 (opacity of the lowest-density band; keeps empty zones faint)
Max Cloud Opacity - 65 (opacity of the POC band)
Show POC Line - ON
Show Value Area - ON (dotted Value Area High / Low lines)
Value Area Highlight - ON (boosts band opacity inside the value area so the 70% core pops)
Show Side Profile - ON
Profile Outline - ON (thin bright line tracing the right edge of the profile for a crisp silhouette)
Cloud Forward Extend - 10 (bars the clouds extend right of the last bar)
Dashboard
Show Dashboard - ON
Dashboard Position - Top Right
Show Legend - ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis tool
and does not constitute financial advice, investment recommendations, or a
guarantee of future results. Past indicator behavior does not guarantee future
performance. Always use proper risk management and your own judgment.
Indicator

Heikin Ashi Cloud Overlay | Rainbow MatrixGENERAL OVERVIEW
The Heikin Ashi Cloud Overlay renders a Heikin Ashi cloud directly on top of traditional candlesticks, giving traders both views in a single chart. HA candles smooth macro trend perception by filtering individual-bar noise, but they sacrifice entry-bar precision because each HA candle does not represent the actual price range traded on that bar. This script preserves both signals simultaneously: the HA cloud surfaces directional context, while the underlying real candles preserve precise execution-bar timing.
A compact corner HUD reports current HA direction, consecutive streak length, and body-size anomalies relative to a 20-bar rolling average — useful for monitoring momentum exhaustion and impulsive expansion in real time without analyzing the cloud manually.
The script adds a visual intelligence layer on top of the standard HA pattern: cloud fill opacity dynamically reflects body intensity (impulsive bars render densely opaque, normal bars render lightly), and small colored dots flag body anomalies (current body > 3× rolling average) directly on the chart.
WHAT IS THE THEORY BEHIND THIS INDICATOR?
Heikin Ashi candles are derived from traditional OHLC via a recursive smoothing formula introduced by Munehisa Homma in 18th-century Japanese rice trading and popularized in modern Western technical analysis through the work of Dan Valcu and others. The transformation produces candles that emphasize trend persistence over discrete price action: consecutive same-color HA candles indicate ongoing directional pressure, while doji-like HA candles or sudden color flips often signal pivots.
The trade-off is well-known: HA candles do not show real OHLC. The haOpen of each candle is the average of the previous haOpen and haClose, not the actual session open. This makes HA excellent for trend reading but unreliable for entry timing — orders need to reference the actual price range of the bar, not the smoothed projection.
The conventional solutions are either to switch back and forth between HA and regular candle views (cognitive overhead), or to use HA as the primary chart and lose precision on entries (execution cost). This indicator takes a third approach: render the HA candles as a transparent overlay envelope on top of the standard candlesticks. The trader sees both at once. The HA envelope communicates trend context; the underlying candles preserve real-bar precision.
The state machine layered on top — direction tracking, streak counting, and body-size anomaly detection against a rolling average — converts the visual cloud into a numerical readout, surfacing exhaustion and impulsive moves that might be missed at a glance.
HA CLOUD OVERLAY FEATURES
The indicator includes 5 main components:
Heikin Ashi Cloud Overlay
Body Intensity Modulation (dynamic opacity)
Body Anomaly Visual Markers
HA State HUD Panel
Three Optional Alerts
HEIKIN ASHI CLOUD OVERLAY
🔹 What It Does
For each bar on the chart, the indicator computes the four Heikin Ashi values (haOpen, haClose, haHigh, haLow) using Pine Script's canonical recursive formula. It then renders a thin envelope between haHigh and haLow with semi-transparent fill, plotted on top of the underlying traditional candles.
🔹 Method
The computation follows the standard HA definition:
◇ haClose = (open + high + low + close) / 4
◇ haOpen = average of the previous haOpen and the previous haClose (recursive)
◇ haHigh = max of (high, haOpen, haClose)
◇ haLow = min of (low, haOpen, haClose)
A `var float ha_open = na` seed pattern handles the first-bar initialization safely, avoiding NA propagation that would corrupt the recursive chain.
🔹 Visual Behavior
The envelope is rendered as a thin top-bottom band with translucent fill. The fill color reflects the HA direction: bullish (haClose ≥ haOpen) renders in the configured bull color (PulseWire native teal by default); bearish (haClose < haOpen) renders in the bear color (PulseWire native red by default). An optional midline (dotted) at the (haOpen + haClose) / 2 level can be toggled for traders who prefer an explicit midpoint reference.
BODY INTENSITY MODULATION
🔹 What It Does
The cloud fill transparency is dynamically modulated based on the current HA body size relative to the 20-bar rolling average. Bars with above-average body push the fill toward more opaque, surfacing impulsive expansion clusters visually without requiring HUD analysis.
🔹 Tier Logic
◇ Body < 1× average: standard transparency (user-configured slider value)
◇ Body 1-2× average: −10 transparency (notable bar — slightly more opaque)
◇ Body 2-3× average: −30 transparency (strong bar — clearly more opaque)
◇ Body ≥ 3× average: −50 transparency, floor 20 (anomaly — densely opaque)
The floor cap of 20 prevents the fill from becoming so opaque that the underlying candle wicks become unreadable, preserving the dual-view principle of the indicator.
🔹 Why It Helps
Body intensity modulation converts the cloud from a static color band into a momentum-aware visualization. During quiet conditions, the cloud whispers; during impulsive expansion or capitulation phases, the cloud intensifies visually. Traders monitoring multiple charts can identify regime changes peripherally without focusing on any single chart's HUD.
🔹 Toggle
The feature is enabled by default and can be disabled via the "Body Intensity Cloud Opacity" input in the HA CLOUD group, which restores fixed transparency from the slider.
BODY ANOMALY VISUAL MARKERS
🔹 What It Does
A small colored dot appears on the chart whenever the current HA body exceeds 3× the 20-bar rolling average. Bull anomalies render as a dot below the bar (location.belowbar); bear anomalies render as a dot above the bar (location.abovebar). Dot colors match the configured bull/bear palette.
🔹 Why It Helps
The markers convert the alert-only body anomaly detection into a persistent visual signal that remains visible on chart history. Traders reviewing past price action can identify impulsive expansion or capitulation events at a glance, without scrolling through alert history or replaying bars.
🔹 Independent of the Alert
The visual markers and the body anomaly alert are independently toggleable. Traders can show the markers without enabling the alert (visual-only mode) or enable the alert without showing the markers (sound/notification-only mode).
🔹 Toggle
Enabled by default via the "Show Body Anomaly Markers" input in the HA CLOUD group.
HA STATE HUD PANEL
🔹 What It Shows
A compact 4-row corner panel reports three live values:
◇ Direction — current HA candle direction (Bull / Bear), color-coded
◇ Streak — consecutive same-direction count (in current locale, e.g., "7 velas (candles)" in PT)
◇ Avg Body — the average HA body size over the last 20 bars, expressed as a percentage of price
🔹 Why It Helps
The HUD converts the cloud into a numerical readout. Instead of visually estimating streak length or body proportion, traders can read the exact values on each bar. This is particularly useful for traders monitoring multiple charts or running automated rules where consecutive-bar conditions need to be tracked precisely.
🔹 Customization
The HUD can be positioned in any of the four chart corners and rendered in any of five font sizes. The Direction row uses contrasting colors (bull vs bear) for immediate parsing.
THREE OPTIONAL ALERTS
🔹 Alert Types
Each alert is independently toggleable in the indicator settings:
◇ HA Direction Change — fires on the close of a confirmed bar when the HA direction flips (bull→bear or bear→bull). Useful as a confirmation filter on top of other entry signals.
◇ HA Streak Exhaustion — fires when the absolute streak length crosses a user-configurable threshold (default 7). Long consecutive streaks often precede mean-reversion phases, especially in ranging markets.
◇ HA Body Anomaly — fires when the current HA body exceeds 3× the 20-bar rolling average. Anomalous body sizes typically signal impulsive expansion, capitulation, or news-driven moves worth investigating.
🔹 Firing Mechanism
All alerts are gated by `barstate.isconfirmed`, which means they only trigger on the close of the bar that satisfies the condition — never intra-bar. This prevents false signals from intrabar fluctuations that get rejected before close. Each alert uses `alert.freq_once_per_bar` to avoid duplicate firings on the same candle.
🔹 alertcondition() Mode
A dummy `alertcondition` titled "HOW TO SETUP ALERTS (READ)" is exposed at the bottom of the script. It provides setup guidance via its message field, instructing users to select "Any alert() function call" in the PulseWire alert condition menu and filter individual alerts via the indicator settings.
MULTILINGUAL INTERFACE
The indicator supports five languages for the HUD display and alert messages: English (default), Português, Español, Русский, and 中文 (Chinese). Code, comments, and configuration tooltips remain in English regardless of the selected language.
For reference, examples of multilingual UI strings used in the HUD:
◇ Direction labels: "Direction:" / "Direção:" / "Dirección:" / "Направление:" / "方向:"
◇ Direction text: "🟢 BULL"/"🔴 BEAR" / "🟢 ALTA"/"🔴 BAIXA" / "🟢 ALCISTA"/"🔴 BAJISTA" / "🟢 БЫЧИЙ"/"🔴 МЕДВЕЖИЙ" / "🟢 多头"/"🔴 空头"
◇ Streak units use a bilingual pattern: "candles" stays in English as a universal technical term; native terms appear in parentheses where the local equivalent is well-established (e.g., "7 velas (candles)").
CUSTOM PALETTE TOGGLE
🔹 What It Does
By default, the indicator uses native PulseWire teal/red colors for visual familiarity. A "Use Custom Cloud Colors" toggle in the settings switches to user-configurable bull/bear colors, useful for traders who want to align the cloud palette with their personal indicator stack or color preferences.
HOW TO USE
This indicator is a visualization tool, not a signal generator. It surfaces three categories of structural information: HA direction (smoothed trend context), streak length (momentum persistence), and body anomalies (impulsive moves).
🔹 Reading the Cloud
◇ Bull cloud (default teal) = current HA candle is bullish (haClose ≥ haOpen).
◇ Bear cloud (default red) = current HA candle is bearish (haClose < haOpen).
◇ A long sequence of same-color HA candles indicates strong directional pressure; mixed colors or doji-like HA candles indicate consolidation or pivot zones.
◇ Cloud density (opacity): denser fills mark bars with above-average body — pay attention to these zones, they often correspond to ignition or capitulation phases.
◇ Anomaly dots: when a dot appears below a bull bar or above a bear bar, the bar's body is 3× the recent average — exceptional impulse worth contextualizing against your other signals.
🔹 Reading the HUD
◇ Direction row: parse the current HA candle's directional state at a glance.
◇ Streak row: |streak| ≥ 7 → trend is mature, increasing probability of mean reversion or pullback. Streak just flipped sign → fresh direction.
◇ Avg Body row: current bar body > 3× this value → impulsive expansion or capitulation, worth investigating contextually.
🔹 Tactical Reading
◇ HA color flip + confirmation on the underlying candle: potential trend reversal or pullback entry.
◇ HA streak crosses the exhaustion threshold while price approaches a key level (from another indicator or manual S/R): increased probability of structural reaction.
◇ Body anomaly during otherwise quiet conditions: impulsive move (often news-driven or stop-cascade) — trade with reduced size or wait for retest.
◇ Cluster of dense-opacity bars: regime change or ongoing impulsive move — momentum is structurally elevated.
🔹 Multi-Indicator Workflow
The HA Cloud Overlay is designed to layer cleanly with other indicators. It does not add lines or boxes that compete visually with structural indicators (VWAP, Volume Profile, S/R). The cloud sits behind the candles, the markers are minimal dots, and the HUD sits in a corner — total chart footprint is minimal.
INPUTS EXPLAINED
🔹 System Language
Display language for the HUD and alert messages. Options: English (default), Português, Español, Русский, 中文.
🔹 Show Cloud Envelope
Master toggle for the HA top-bottom envelope and fill.
🔹 Cloud Fill Transparency
Base alpha of the cloud fill (60 = denser, 95 = barely visible). Floor of 60 keeps candle wicks readable. Default 80. When Body Intensity Modulation is ON, this value is the baseline; bars with above-average body intensity become progressively more opaque from this baseline.
🔹 Show HA Midline (dots)
Optional thin dotted line at (haOpen + haClose) / 2.
🔹 Use Custom Cloud Colors
OFF: native PulseWire teal/red. ON: apply custom bull/bear colors below.
🔹 Custom Bull Color / Custom Bear Color
Used when "Use Custom Cloud Colors" is ON.
🔹 Body Intensity Cloud Opacity
When ON: cloud fill becomes progressively more opaque on bars with above-average body size. When OFF: cloud uses fixed transparency from the slider above. Recommended ON.
🔹 Show Body Anomaly Markers
When ON: small colored dots appear on bars whose body exceeds 3× the 20-period average. Independent of the body anomaly alert.
🔹 Show HA State HUD
Toggle for the corner HUD reporting Direction / Streak / Avg Body.
🔹 HUD Position
Top Right (default), Top Left, Bottom Right, Bottom Left.
🔹 Font Size
Tiny, Small (default), Normal, Large, Huge.
🔹 Streak Warning Threshold
Streak length at which the Streak Exhaustion alert fires. Range 3–30, default 7.
🔹 Alert: HA Direction Change / HA Streak Extreme / HA Body Anomaly
Independent toggles for each of the three alert types.
IMPORTANT NOTES
The Heikin Ashi Cloud Overlay works on any timeframe and any instrument. The HA computation is timeframe-agnostic — it transforms whatever OHLC data the chart provides.
Alerts fire once per confirmed bar. Historical bars never repaint after they close. The live bar updates intra-bar as expected for a real-time indicator, but alerts will only fire after the bar closes. Body anomaly visual markers can update intra-bar (preview behavior) and settle on close.
The body anomaly threshold (3× rolling average) and streak warning threshold (default 7) are derived from empirical observation across common timeframes and instruments. Both are user-configurable and should be tuned to the trader's instrument and timeframe — high-volatility crypto on 1m may warrant a higher anomaly multiplier than large-cap equities on Daily.
The 20-bar body rolling average uses `ta.sma` of the percentage-based body size. The first 20 bars after script start will show partial values; once enough history is available, the value stabilizes.
The body intensity modulation tier floors (50, 30, 20) are calibrated to preserve candle wick readability even on extreme anomaly bars — the floor 20 ensures the cloud never becomes fully opaque.
Pine Script v6. Open-source under Mozilla Public License 2.0.
UNIQUENESS
The Heikin Ashi Cloud Overlay differs from the standard PulseWire Heikin Ashi chart type and from other HA-based indicators in four structural ways.
First, it preserves both views simultaneously rather than replacing one with the other. Standard HA chart mode hides the real candles entirely; this overlay keeps the underlying candles visible at all times, giving traders smoothed trend context (the cloud) and precise entry-bar timing (the underlying candles) in the same visual without context-switching cost.
Second, the cloud fill opacity is dynamically modulated by body intensity relative to a 20-bar rolling average. Standard HA cloud indicators render fills with a single static transparency; this script renders impulsive bars (≥1×, ≥2×, ≥3× average body) with progressively more opaque fills, transforming the cloud from a static visualization into a momentum-aware density map. Capitulation, ignition, and impulsive expansion phases become visually identifiable peripheral signals.
Third, it adds an explicit state machine layer over the raw HA visualization. Direction tracking, consecutive streak counting, 20-bar rolling body-size anomaly detection, and on-chart visual anomaly markers convert the visual cloud into a numerical readout reported live on a corner HUD. This converts subjective visual estimation (is this a long streak? is this body unusually large?) into deterministic measurements with configurable thresholds and a persistent visual record on the chart history.
Fourth, it exposes three independently-toggleable alerts (direction change, streak exhaustion, body anomaly) gated by bar confirmation, making the indicator usable as a confirmation filter or trigger source in automated workflows. Most HA-based indicators are visualization-only or expose a single direction-flip alert; the multi-condition alert set here is designed for traders building structured rules around HA state rather than just observing it.
The combination of dual-view preservation, body-intensity opacity modulation, state machine readout, visual anomaly markers, and multilingual UI produces a single overlay that combines the readability of Heikin Ashi smoothing with the precision of real candles, the rigor of a deterministic state readout, and the visual intuition of a density-aware momentum map. Indicator

Volatility Trail [EXCAVO]ATR Percentile Rank Painted as a Semi-Transparent Wave Beneath Every Candle
The Volatility Trail takes the four-state volatility regime classification
from the standard ATR-percentile model and renders it directly on the price
chart as a semi-transparent wave hanging under each candle. The wave reads at
a glance: blue under the candles means quiet markets, orange means heating up,
red means volatility extremes. No separate indicator pane is required.
This is not a basic ATR oscillator. The ATR is normalised against its own
historical distribution, smoothed, and classified into four bounded regimes
(Low / Normal / Elevated / Extreme) with adjustable thresholds. The on-chart
trail is the same engine as the standard Volatility Percentile indicator,
just drawn where you actually read price.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator. A coloured wave appears beneath every
candle as soon as enough history is available for the percentile
lookback to be meaningful (default 200 bars).
Step 2 → Read the wave colour:
- Blue = Low volatility (compression, mean-reversion regime)
- Grey = Normal volatility
- Orange = Elevated volatility (trend regime)
- Red = Extreme volatility (top decile, exhaustion risk)
Step 3 → Watch transitions. A switch from blue to orange flags a
breakout out of compression. A switch from red back to orange
flags a release from extreme volatility - often the right side
of a spike. The floating state badge to the right of the last
candle shows the current regime name at a glance.
Step 4 → Check the dashboard. State, raw percentile, ATR, ATR / Price,
and Vol Trend show the current regime numerically. Use these to
size positions and pick filters that depend on volatility.
Step 5 → Combine with structure. The trail is a context tool, not a
directional one - it tells you HOW volatile the market is, not
WHICH way it will move. Pair it with your own setup criteria.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ ATR Percentile Rank
The base measure is Average True Range over the user-set length (default 14).
For every bar the current ATR is ranked against its own values over the
Lookback Period (default 200): percentile = 100 x rank / N. A value of 90
means current volatility is higher than 90 percent of bars in the lookback
window. This normalisation makes the reading comparable across instruments
and timeframes - 90th-percentile vol on BTC and on EURUSD are both rare even
though their absolute ATRs differ by orders of magnitude.
◆ Smoothing
The raw percentile is smoothed with a short SMA (default 3) to reduce single-
bar noise. Smoothing = 1 disables this step.
◆ Four-State Classification
The smoothed percentile is bucketed into four regimes:
- Low = below Low / Normal boundary (default 25)
- Normal = between Low / Normal and Normal / Elevated (default 25 to 60)
- Elevated = between Normal / Elevated and Elevated / Extreme (default 60 to 80)
- Extreme = at or above Elevated / Extreme (default 80)
All three boundaries are user-adjustable.
◆ Candle-Anchored Downward Wave
A semi-transparent band hangs directly under each candle. The upper edge
is the bar's low, lightly EMA-smoothed so single-bar wick spikes do not
poke through the ribbon. The lower edge drops below by an ATR-scaled
distance: drop = ATR x (1 + percentile x Wave Distance Scale). At calm
regimes the wave is a thin sliver under price; at volatile extremes it
extends well below. The colour is the active state colour, and the
opacity within each state band is gradient (see next item).
◆ Within-Band Opacity Gradient
The wave colour is the state colour (blue / grey / orange / red), but the
opacity is not flat across each state - it ramps from Min Opacity at the
LOWER edge of the band (regime just entered) to Max Opacity at the UPPER
edge (peak of the regime, about to graduate to the next state). So a fresh
red band that just crossed into Extreme is light red, while a red band at
percentile 95 is a deep saturated red. The same gradient applies inside
the Low / Normal / Elevated bands. This lets you read at a glance whether
the current regime is just beginning, peaking, or about to fade into the
next state - approach and exhaustion are separately readable inside every
band.
◆ Vol Trend
ATR is compared to its 20-bar SMA. Above 1.05x SMA = RISING, below 0.95x =
FALLING, else STABLE. Shown on the dashboard as a quick second-derivative
read of the regime.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Wave Lives On The Price Chart
Most volatility indicators occupy a separate pane and force the eye to jump
between price action and the oscillator. The wave overlays the same regime
information directly on the candles, so price and volatility are read
together in one view.
◆ Adaptive Across Instruments
Percentile-rank normalisation removes the absolute ATR units. A BTC chart
and a EURUSD chart use the same scale (0 to 100), so the same thresholds
work everywhere without manual tuning.
◆ Four Bounded Regimes Instead Of A Raw Line
A raw ATR plot tells you very little until you have a feel for what is
"normal" on that instrument. The four-state classification answers the
question directly - quiet, normal, elevated, or extreme - using
user-adjustable boundaries.
◆ Within-Band Opacity Gradient
Inside each state band the wave opacity ramps from light (just-entered
regime) to saturated (regime at its peak). A fresh red band reads as
pale red; a deep mature Extreme reads as a saturated red. Approach and
exhaustion are separately readable inside every regime, not just on
state transitions.
◆ Premium Visual Polish
A thin rim-light line follows the upper edge of the wave for definition,
and a contrast-aware state badge floats next to the last candle showing
the current regime name. The badge text colour is picked automatically
by the perceived luminance of the background so the label stays readable
on any state colour.
◆ Optional Bar Coloring And Background
For users who want the regime even more visible, bar-coloring and
background-highlight toggles tint the candles or the chart background with
the active state colour. Both default off so the wave stays as the primary
visual.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ DASHBOARD
Real-time panel (top right) with the current regime readout:
State - LOW / NORMAL / ELEVATED / EXTREME
Percentile - the smoothed ATR percentile (0 to 100)
ATR - raw Average True Range
ATR / Price - ATR as a percentage of close (instrument-independent)
Vol Trend - RISING / STABLE / FALLING based on ATR vs its 20-bar SMA
Lookback - the bar count used for the percentile rank
Legend table (bottom left) explains every colour. Both panels toggle in the
Dashboard settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
Engine
ATR Length - 14 (period for the Average True Range)
Lookback Period - 200 (historical bars used for the percentile rank)
Smoothing - 3 (SMA length applied to the raw percentile; 1 disables it)
State Thresholds
Low / Normal - 25 (boundary between Low and Normal regimes)
Normal / Elevated - 60 (boundary between Normal and Elevated)
Elevated / Extreme - 80 (boundary between Elevated and Extreme)
Visualization
Low Vol Color - blue
Extreme Vol Color - red
Elevated Vol Color - orange
Wave Top Smoothing - 3 (EMA length applied to the wave top; 1 = raw bar low with sharp peaks, 3 to 5 rounds off single-bar spikes while staying tight to price)
Wave Distance Scale - 0.025 (controls how far the wave drops below each candle as volatility rises; drop = ATR x (1 + percentile x scale); default keeps drops modest - approximately 1 ATR at Low regime, 3.5 ATR at Extreme)
Min Opacity - 25 (wave opacity at the LOWER edge of every state band - just-entered regime; very transparent)
Max Opacity - 55 (wave opacity at the UPPER edge of every state band - peak of the regime; visible but kept semi-transparent so the candles stay readable)
Wave Top Highlight - ON (thin rim-light line along the upper edge of the wave; adds definition and a premium glow)
Right-edge State Label - ON (floating badge next to the last candle showing the current state name in the state color)
Bar Coloring - OFF (when ON, also tints the candles with the state color)
Background Highlight - OFF (when ON, tints the chart background)
Dashboard
Show Dashboard - ON
Dashboard Position - Top Right
Show Legend - ON
Alerts
JSON Alerts - OFF (when ON, emits a structured JSON payload via alert())
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
Extreme Volatility - state just transitioned into Extreme
Elevated Volatility - state just transitioned into Elevated
Normal Volatility - state just transitioned into Normal
Low Volatility - state just transitioned into Low
With JSON Alerts ON, the alert() call emits a structured payload with
ticker, state, percentile, atr_pct, price, timeframe, and indicator fields -
use "Any alert() function call" as the PulseWire alert event to receive
every state change as JSON on one alert.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis tool
and does not constitute financial advice, investment recommendations, or a
guarantee of future results. Past indicator behavior does not guarantee future
performance. Always use proper risk management and your own judgment.
Indicator

Global Forex Session Matrix Overlay🌐 Global Forex Session Matrix Overlay
Global Forex Session Matrix Overlay is an educational chart overlay designed to help traders study intraday market behavior using global session timing, key reference levels, trend context, market structure, VWAP, and volume activity in one clean chart view.
This tool helps organize important market information such as session ranges, opening ranges, trading day levels, previous day levels, weekly reference areas, moving average trend context, pivot structure, VWAP value areas, and volume-weighted candle behavior. It is mainly useful for forex and gold chart analysis, especially on intraday timeframes.
The script includes global market session references such as Asian, Sydney, Tokyo, Frankfurt, London, and New York sessions. These session tools help users observe session highs, session lows, opening ranges, and price reactions around important market timing areas. This can support the study of liquidity movement, breakout behavior, rejection areas, and intraday market rhythm.
The overlay also includes key trading day levels such as Trading Day Open, Previous Day High, Previous Day Low, and optional day reference levels. These levels can help traders identify important support and resistance areas, possible breakout zones, and areas where price may react during the trading day.
For higher-timeframe context, the script includes reference levels such as Weekly Initial Balance, Weekly Open, Weekly Close, and optional weekly or monthly range tools. These levels can help users understand whether price is trading above or below important weekly reference points and can support a more structured view of market bias.
The Moving Average Cloud is included to help traders observe trend direction and dynamic support or resistance. When price is trading above the cloud, users may study bullish structure. When price is trading below the cloud, users may study bearish structure. When price is inside or near the cloud, market direction may be less clear and may require additional confirmation.
The VWAP framework can be enabled for value-based analysis. VWAP and optional VWAP bands help users study whether price is trading around value, above value, or below value during the selected anchor period. This can be useful when combined with session levels, structure, and candle confirmation.
The Pivot and Market Structure tools help highlight important swing points and developing structure areas. These can support the study of higher highs, higher lows, lower highs, lower lows, and possible structure shifts. Pivot-based elements should be used with confirmation because developing pivots can update before they are fully confirmed.
The Volume-Weighted Candle Coloring feature helps users visually identify candles with stronger or weaker volume participation. This can be useful for observing momentum, rejection, continuation, and possible exhaustion around important levels. Volume color should not be used alone as an entry reason and should always be combined with price action and structure.
📌 How to Use and Build Entry Ideas
Start by applying the indicator to an intraday forex or gold chart. First, check the active market session and observe where price is trading in relation to the current session range, session high, session low, Trading Day Open, Previous Day High, Previous Day Low, Weekly Open, and Weekly Initial Balance.
A bullish trade idea can be studied when price holds above an important reference level, the Moving Average Cloud supports upward structure, and candles confirm strength after a pullback or breakout. Extra confirmation may come from price holding above VWAP, rejecting a session low, breaking above a previous session high, or forming a higher low structure.
A bearish trade idea can be studied when price rejects an important resistance area, moves below a key reference level, and the Moving Average Cloud or structure supports weakness. Extra confirmation may come from price failing near Previous Day High, rejecting a session high, moving below VWAP, or forming a lower high structure.
Users can also study session range reactions for liquidity context. For example, price reacting around an Asian high or low, New York opening range, Previous Day High, Previous Day Low, Weekly Open, or Weekly Initial Balance can provide useful context. The idea should be confirmed with candle close behavior, market structure, and volume reaction.
When price is inside the Moving Average Cloud, between major levels, or moving without clear structure, it may be better to wait for a cleaner setup. This script is designed to support analysis, not to provide automatic entries.
For safer analysis, avoid making decisions from unfinished candles only. Wait for candle close confirmation, check the nearby support or resistance level, define risk clearly, and use your own trading plan before making any decision.
⚙️ Settings Overview
The indicator includes settings for visual themes, compact dashboard position, session ranges, opening ranges, trading day levels, weekly and monthly reference levels, VWAP tools, pivot and market structure display, moving average cloud settings, volume-weighted candle coloring, event layers, and timezone configuration.
Users can keep the chart simple by enabling only the most important tools, or they can activate more features when deeper market context is needed. Timezone and session settings should be checked carefully so session levels align correctly with the market being analyzed.
⚠️ Limitations
This script does not predict future price movement and does not guarantee any result. Market conditions can change quickly, especially during news, low liquidity, or high volatility periods. Some tools depend on the selected symbol, timeframe, session settings, and timezone.
Developing session ranges, pivots, and structure-related elements may update while candles are still forming. For more reliable analysis, users should wait for confirmed candle closes and avoid making decisions based only on unfinished bars.
📚 Educational Risk Disclaimer
This script is provided for educational and technical analysis only. It is not financial advice and should not be used as the only reason to enter or exit a trade. Trading involves risk, and past market behavior does not guarantee future results. Always use your own confirmation, risk management, and trading plan. Indicator

HTF Candles [EXCAVO]Higher Timeframe Candles in a Panel to the Right of the Chart
The HTF Candles indicator renders higher timeframe candles in a
dedicated panel to the right of all chart data. Each completed HTF candle
is drawn as a solid semi-transparent box (body) with color-matched wick
lines. The currently forming candle uses a dashed outline and updates in
real time. Nothing is drawn when the chart timeframe is equal to or higher
than the selected HTF.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW TO USE
Step 1 → Add the indicator on a lower timeframe chart (e.g., 5m or
15m). The HTF panel appears to the right of all candles.
Step 2 → Default HTF is 1H. Change it in settings to match the
context you trade (4H, D, etc.).
Step 3 → Solid boxes are completed HTF candles. Blue = bullish,
red = bearish.
Step 4 → The rightmost dashed box is the currently forming HTF
candle - it updates live on every bar close.
Step 5 → Set alerts for HTF Bullish or Bearish Candle Close to be
notified when the HTF period ends.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ HOW IT CALCULATES
◆ HTF OHLC via Built-In Resampling
The indicator uses request.security() with lookahead_off to fetch the
current HTF candle's OHLC on every bar:
= request.security(ticker, htf, )
Without lookahead, these values reflect only confirmed data up to the
current bar - no future leaking.
◆ Candle Completion Detection
A new HTF candle is detected using ta.change(time(htf_tf)). When the time
bucket changes, the previous candle is complete. At that moment:
htf_o , htf_h , htf_l , htf_c = OHLC of the completed candle
These are pushed to history arrays (up to History Count entries), and
the oldest entry is trimmed when the limit is reached.
◆ Panel Positioning
All candles are drawn to the right of the last chart bar:
x1 = bar_index + right_margin + i x (candle_width + gap)
x2 = x1 + candle_width
Positions are recalculated on every barstate.islast update. Previous
drawing objects are deleted and rebuilt each bar so the panel always
aligns with the current last bar as new data arrives.
◆ Completed Candle Rendering
Each completed candle is drawn as:
- Body: box from max(open, close) to min(open, close)
- Upper wick: line from high to body top (only if high > body top)
- Lower wick: line from body bottom to low (only if low < body bottom)
◆ Current Candle (Dashed)
The forming candle uses the same box for fill but replaces the solid
border with four dashed lines (top, bottom, left, right edges) and
dashed wick lines. The body color reflects the live direction -
bullish (blue) if close >= open, bearish (red) otherwise.
◆ Timeframe Label Pinning
The HTF label above the panel is anchored to the highest candle in the
HTF panel (not the chart's overall high). This keeps the label stable
above the panel as price moves on the underlying chart.
◆ Timeframe Guard
The indicator checks timeframe.in_seconds() < timeframe.in_seconds(htf).
If the chart timeframe is equal to or higher than the HTF, no panel is
drawn.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ WHAT MAKES IT DIFFERENT
◆ Panel to the Right - No Overlap
HTF candles are positioned past the last chart bar so they never cover
price action. The panel shifts automatically as new bars arrive.
◆ Dashed Forming Candle
The current unfinished HTF candle is visually distinct (dashed outline)
so it is never confused with confirmed history.
◆ Stable Timeframe Label
The HTF label is pinned to the highest candle inside the panel itself
rather than the chart's overall high. The label position stays consistent
relative to the HTF panel even when underlying chart prices spike outside
the panel range.
◆ Non-Repainting OHLC
request.security() with lookahead_off ensures that completed candle
values are final before they are committed to history. No retrospective
changes occur to completed boxes.
◆ Timeframe Guard
The indicator automatically disables itself when the chart timeframe is
greater than or equal to the selected HTF — no panel is drawn,
preventing meaningless output.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ LEGEND
Legend table (bottom left) explains the visual elements:
▮ (blue) - Bullish completed HTF candle (solid outline)
▮ (red) - Bearish completed HTF candle (solid outline)
┅ (blue) - Currently forming HTF candle (dashed outline)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ SETTINGS
HTF Settings
HTF Timeframe - 60 (1H by default)
History Count - 5 (completed HTF candles to keep visible)
Show Current Candle - ON (show the forming candle with dashed outline)
Visualization
Bullish Color - blue (customizable)
Bearish Color - red (customizable)
Candle Width (bars) - 5 (width of each candle box)
Gap Between Candles - 2 (spacing between boxes)
Right Margin (bars) - 10 (distance from last chart bar to panel)
Dashboard
Show Legend - ON
Alert Settings
Allow Repainting - OFF
JSON Alerts - OFF
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ ALERTS
HTF Bullish Candle Close - HTF candle closed bullish (close >= open)
HTF Bearish Candle Close - HTF candle closed bearish (close < open)
HTF Candle Close - any HTF candle closed
JSON payloads include direction, ticker, price, timeframe, htf, and indicator tag.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best regards,
EXCAVO
Disclaimer
Trading involves significant risk. This indicator is a technical analysis tool
and does not constitute financial advice, investment recommendations, or a
guarantee of future results. Past indicator behavior does not guarantee future
performance. Always use proper risk management and your own judgment.
Indicator

ATR Step Trailing Stop Positioning ToolThis indicator is an ATR-based trailing stop positioning tool.
It is not designed to generate buy or sell signals. Its purpose is to help traders visualize possible trailing stop levels based on volatility.
How it works:
The indicator calculates a stepped trailing level using the ATR distance from the high or low of the last closed candle.
For long-position management, the stop level can be positioned below price using the candle low and an ATR-based distance.
For short-position management, the stop level can be positioned above price using the candle high and an ATR-based distance.
Because the calculation is based on the last closed candle, the level is designed to behave like a step-style trailing reference instead of constantly moving tick by tick.
How this is different from a standard ATR trailing stop:
Many ATR stop indicators use a continuous trailing line or a single shared configuration for both long and short conditions.
This version is focused specifically on stop placement structure. It allows the trader to visualize ATR-based stop levels as stepped references from the most recent completed candle.
Another practical difference is that traders can add two instances of the indicator to the same chart. For example, one instance can be adjusted for long trailing stop management and another for short trailing stop management. By changing the visibility or transparency settings, it is possible to show only the positive or negative side of each instance and compare different ATR lengths or ATR multipliers for long and short positioning.
This makes the tool useful when a trader wants different trailing stop behavior for long and short positions instead of using one universal setting.
Possible use cases:
* Visualizing ATR-based trailing stop zones
* Managing open trades with a volatility-adjusted stop reference
* Comparing different ATR lengths or multipliers
* Separating long-side and short-side stop logic
* Studying how price behaves around volatility-based stop levels
Important limitation:
This indicator does not predict direction. It does not provide entry signals, exit signals, buy signals, or sell signals. The plotted levels are only a technical reference for trailing stop positioning based on ATR and closed candle structure.
Traders should combine this tool with their own entry logic, market structure analysis, risk management rules, and broader trading plan.
Indicator

Trend Stability Ribbon [AGPro Series]Trend Stability Ribbon
🔹 OVERVIEW
Most trend tools tell you WHICH WAY price is going. Trend Stability Ribbon tells you HOW WELL it is getting there. By pairing an ATR-normalized slope engine with a Kaufman path-efficiency score, it projects every bar into one of four rules-based states — Stable Up, Noisy Up, Stable Down, Noisy Down — and paints them onto a clean, adaptive ribbon that stays out of the candles' way. The result is a context layer that separates decisive trending from directional-but-choppy travel, without adding a second indicator pane.
🧭 UNIQUE EDGE — WHY THIS IS NOT "JUST ANOTHER TREND INDICATOR"
Direction alone is cheap. Every moving-average cross, every supertrend, every slope color tells you "up" or "down" — and then leaves you holding the bag when the trend is technically up but structurally a mess.
Trend Stability Ribbon adds the missing second dimension: path quality. The same 34-bar window that defines direction also feeds a Kaufman efficiency calculation (net travel divided by total path travel). An ER near 1.00 means price walked a near-straight line; an ER near 0.00 means it zig-zagged its way to the same point. Mapping that score against a calibrated threshold band produces the four composite states — and a visual language that finally distinguishes "trend worth trusting" from "trend worth fading".
Additional design choices that set it apart:
• Dual-layer event engine — direction flips, stability upgrades, and stability downgrades are tracked as independent transitions, each with its own alert.
• Badge/alert separation — on-chart badges are throttled by a cooldown for visual hygiene, but alerts are always raw so automation pipelines never miss an event.
• Reset state — when the slope-confirmation filter rejects a direction, the ribbon goes neutral instead of flipping false. Chop gets ignored, not misreported.
🧪 METHODOLOGY
1. TREND DIRECTION ENGINE
• A slow EMA (default length 34) anchors the trend path and serves as the ribbon centerline.
• Slope is measured over a 3-bar lookback and normalized by a 14-period ATR, making it instrument-agnostic across crypto, FX, equities, and futures.
• With Slope Confirmation enabled (default), direction is only accepted when price position AND slope agree. Disagreement returns a Reset state.
2. PATH EFFICIENCY (STABILITY) ENGINE
• ER = |close − close | ÷ Σ|close − close | over the same trend window.
• Three classes: Stable (ER ≥ 0.45), Noisy (ER ≤ 0.25), Mixed (between). Thresholds scale with the Stability Sensitivity input.
• The Mixed zone is a deliberate dead-band — during uncertain phases the previous state persists rather than flickering.
3. COMPOSITE STATE MACHINE
• Direction × Stability yields five possible states: Stable Up, Noisy Up, Stable Down, Noisy Down, Reset.
• Bars-in-state is tracked live, giving a simple persistence read on each state.
4. RIBBON RENDERING
• Ribbon is anchored to the EMA centerline with height driven by ATR × a user-selected multiplier (Thin / ATR-Adaptive / Thick).
• Fill opacity and border weight shift by state — Stable states are saturated, Noisy states are faded, Reset is a soft amber.
🔔 SIGNALS & ALERTS
Three transition events are detected and exposed as separate, user-toggled alerts:
• Trend State Flipped — direction changed (Up ↔ Down). Raw, never throttled.
• Stability Improved — path upgraded from Noisy to Stable while direction held. Raw — delivered regardless of badge cooldown.
• Stability Degraded — path downgraded from Stable to Noisy while direction held. Raw — delivered regardless of badge cooldown.
Matching on-chart badges appear at the same moments, subject to the Stability Badge Cooldown for visual cleanliness. Direction-flip badges are never throttled.
⚙️ KEY INPUTS
Engine
• Trend Length (default 34) — lookback for both direction and path-efficiency windows.
• Stability Sensitivity (default 1.0) — scales the Stable / Noisy thresholds.
• Require Slope Confirmation (default on) — enforces price-and-slope agreement; rejects chop.
Ribbon & Badge
• Ribbon Height — Thin / ATR-Adaptive / Thick.
• Show State Badge — toggle on-chart transition labels.
• Label Font Size — tiny / small / normal / large (default normal).
• Minimal Mode — hides panel and badges for pairing with other overlays.
• Stability Badge Cooldown (default 5 bars) — visual throttle for stability transitions.
Info Panel
• Panel Position, Panel Font Size, Efficiency Ratio display, Active Thresholds display.
Alerts
• Independent toggles for each of the three transition events.
🧠 HOW TO USE
• CONTEXT FILTER — use Stable states as a "green light" for continuation setups on your primary system; treat Noisy states as a headwind.
• REGIME BREAKS — a Stability Degraded event mid-trend is often an early warning that the move is maturing, even before price has flipped.
• CLEAN ENTRIES — pair a direction flip (Trend Up / Trend Down) with an immediate Stable classification to filter out whipsaw-prone breakouts.
• CHOP AVOIDANCE — when the ribbon sits in a Reset or Mixed state, the script is telling you the underlying path is not tradeable as a trend. Stand aside or switch to range tactics.
• PAIRING — with Minimal Mode on, the ribbon layers cleanly under structure tools, VWAPs, or S/R zones without visual conflict.
⚠️ LIMITATIONS & TRANSPARENCY
• This is an indicator, NOT a strategy. It does not generate buy or sell orders, has no backtest, and makes no claim of performance.
• Efficiency Ratio is a lagging measure — it describes the path already travelled. The ribbon should be read as context, not as a leading signal.
• The Mixed zone is intentional persistence; expect the composite state to hold through brief chop rather than flipping on every bar.
• Lower timeframes (<5m on thin-liquidity markets) can push ER values into erratic ranges. Start with the defaults on 15m–4h and tune from there.
• All calculations are closed-bar. Intra-bar values may shift until the bar confirms.
🛡️ RISK DISCLOSURE
This script is published for educational and analytical purposes only. It is not financial advice, not a signal service, and not a solicitation to buy or sell any instrument. Past behavior of markets does not predict future results. Always do your own research, apply proper risk management, and consult a licensed professional before making trading decisions. The author assumes no responsibility for losses incurred through use of this indicator. Indicator

Iteratively Reweighted Least Squares (IRLS) [Jamallo]Author's Note: This script is published as a unique mathematical contribution to PulseWire's open-source public library. It is intended to introduce a novel application of a robust statistical method for the community and developers to study, adapt, and build upon, rather than to serve as a standalone, out-of-the-box trading strategy.
Introduction
Almost all moving averages and smoothing filters in technical analysis treat historical price data equally or apply a fixed mathematical decay (like an EMA). The problem? A massive, anomalous wick or a sudden volatility spike will inevitably drag the average away from the true underlying market consensus.
Enter Iteratively Reweighted Least Squares (IRLS) .
IRLS is a robust statistical method that calculates a "consensus" price by actively identifying and down-weighting outliers. Instead of letting a large wick distort the line, the algorithm assigns less weight to prices that deviate furthest from the current estimate. The result is a filter that cuts through noise, ignores price-distant spikes, and naturally locks onto the dominant, high-density price levels.
How It Works
The indicator uses the Hardy weight function to determine how heavily each historical candle influences the current estimate. On every bar, the algorithm checks the distance of each sample from the current consensus and iteratively refines the line until it converges on a robust mean. Epsilon — the outlier rejection scale — is derived dynamically from the average High–Low range, keeping the filter dimensionless and consistent across all instruments and timeframes.
Parameters
Window Size (N) : The rolling lookback window of historical samples the kernel considers. Larger values produce a smoother, slower-responding line.
Sparsity (s/N) : The core behavioral control. Dictates the fraction of the window allowed to "vote" on the estimate.
Low Sparsity (e.g., 0.1) : Only the 10% of samples closest to the current estimate participate. Produces a snappy, selective line that locks tightly onto the most dominant price cluster.
High Sparsity (e.g., 1.0) : All samples participate, resulting in a smoother, more conventional robust mean.
Gamma (ε scale) : Controls the strength of outlier rejection. Lower values enforce harsh, median-like rejection. Higher values soften the rejection toward a standard weighted mean.
Iterations : The number of reweighting convergence passes per bar. 2–3 is sufficient for practical convergence.
Potential Applications
The Hardy IRLS filter provides a unique lens into market structure by shifting the focus from simple time-averaged prices to spatial price consensus. Because it rejects price-distant wicks and noise spikes by design, it can serve as a foundation for:
Custom trailing stops
Dynamic support and resistance trackers
Baseline trend or regime filters
Feel free to inspect the open-source code, experiment with extreme sparsity and gamma settings, and integrate the IRLS core into your own quantitative projects.
References
Li Shuang, "Sparse Representation of Hardy Function by Iteratively Reweighted Least Squares," 2020 International Symposium on Computer Engineering and Intelligent Communications (ISCEIC), IEEE, 2020. DOI: 10.1109/ISCEIC51027.2020.00020
Indicator
