Quant Regime Oscillator [JOAT]════════════════════════════════
QUANT REGIME OSCILLATOR
════════════════════════════════
A separate-pane composite oscillator that fuses two classic quant signals — how stretched price is from its own mean, and how strong its momentum is relative to recent volatility — into a single bounded line from -100 to +100 . A Kaufman Efficiency Ratio regime filter then decides whether the market is Trending , Mean-Reverting , or Random , so signals only fire when conditions actually support them.
▎ WHAT IT DOES
It condenses mean-deviation and normalized momentum into one clean, smoothed oscillator, classifies the current market regime, and prints sparing BUY / SELL labels only at stretched extremes that align with a trend. A dashboard summarizes every moving part at a glance.
▎ HOW IT WORKS
• Z-Score component — price is measured against its moving mean and standard deviation, then clamped at ±3σ and rescaled to ±100. This captures how far price has deviated from equilibrium.
• Momentum component — rate-of-change is normalized by its own standard deviation (volatility-adjusted), clamped at ±3σ and rescaled to ±100. This measures thrust independent of raw price size.
• Composite blend — the two components are combined using your chosen weights, EMA-smoothed, and clamped into a single -100..+100 oscillator , with an EMA signal line layered on top.
• Regime filter — a Kaufman Efficiency Ratio (directional change ÷ total path) scores 0..1. High values = trending; low values = mean-reverting; in-between = random. Direction is read from price versus its mean.
• Signal gate — a raw BUY needs the oscillator to cross up over its signal, to have recently visited oversold , and to sit inside a trending-up regime. SELL is the mirror. A cooldown enforces a minimum bar gap so labels stay few and never stack.
• Divergence — pivot highs/lows on the oscillator are compared to price pivots to flag regular bullish and bearish divergences.
▎ HOW TO USE IT
• Read the oscillator like a bounded momentum gauge — blue above zero, magenta below. Pushes into the dotted ±80 extreme bands mark exhaustion zones.
• BUY pills appear at oversold turns inside up-trends; SELL pills at overbought turns inside down-trends. Treat them as context-filtered setups, not standalone triggers.
• Use the regime as your playbook: in Trending , favor pullback continuation; in Mean-Rev , fade the band extremes; in Random , stand aside or size down.
• The subtle pane background tint mirrors the regime — blue for trending-up, magenta for trending-down, grey for mean-reverting.
• Divergence dots on the oscillator hint at weakening thrust; combine with your own structure and risk levels.
▎ KEY SETTINGS
• Engine — Z-Score length, Momentum (ROC) length, per-component weights, oscillator smoothing, and signal-line length.
• Regime — Efficiency Ratio window plus the Trending and Mean-Revert thresholds that split the three regimes.
• Signals — Overbought / Oversold levels, OB/OS recall window, minimum bars between signals (cooldown), and divergence pivot length.
• Visuals — toggle the gradient fill, oscillator line, signal line, regime background, and signal markers.
• Dashboard — show/hide, position, and text size.
▎ DASHBOARD
A compact blue/magenta panel reporting: the current bias (Long / Short / Flat), the composite score, raw Z-Score in σ, the momentum value, the active regime with a strength percentage, the OB/OS state , any live divergence , and the current signal status.
▎ ALERTS
• QRO — Long — oscillator crossed up from oversold in a trending-up regime.
• QRO — Short — oscillator crossed down from overbought in a trending-down regime.
• QRO — Any Signal — fires on either a long or short signal.
▎ NOTES
• Works on all timeframes and all assets — the oscillator is self-normalizing, so it adapts to the instrument automatically.
• Every visual layer is toggleable for a clean chart; the cooldown keeps markers sparse on any timeframe.
• Signals confirm on the closed bar and are non-repainting once the bar completes; divergence markers reference confirmed pivots offset back by the pivot length.
For research and education only. This is not financial advice. No indicator can predict the future, and past behavior does not guarantee future results. Always do your own analysis and manage your own risk.
Made with passion by JackOfAllTrades ⚡
Indicator

Z-Score Flow Pro [JOAT]Z-SCORE FLOW PRO
A rigorously-statistical mean-reversion oscillator built on top of two of the cleanest primitives in market analysis — the Z-score of price against its own rolling mean and the EMA-smoothed RSI — and wrapped in a regime-aware visual and signal pipeline that knows when not to fire.
Why Z-score
A Z-score answers the question every reversion trader is really asking: "How many standard deviations is price from where it usually sits?" It is regime-aware by construction — when realised volatility expands, the same dollar move produces a smaller Z; when it contracts, the same dollar move produces a larger Z. That means the signal levels (Z = ±2, ±3, etc.) carry the same statistical meaning across instruments and timeframes, which a price-distance level never does.
Z-Score Flow Pro uses:
Z-score core — close vs SMA basis, normalised by rolling stdev, over a configurable lookback (default 100).
EMA trend filter — a long EMA (default 50) decides which side of the chart the engine considers in-regime. Signals are weighted by regime alignment, not blindly suppressed.
Smoothed RSI — RSI is computed, then EMA-smoothed (default 8-bar) to eliminate the single-bar whipsaws that plague the raw indicator without re-introducing visible lag.
A signal needs both the Z-score and the smoothed RSI to be at extremes on the same side — that AND-gating is what removes most of the false signals that pure RSI or pure Z systems produce.
Signal engine
A Buy signal requires Z ≤ Buy threshold (default −2.0) and smoothed RSI ≤ oversold level (default 30). A Sell signal requires Z ≥ Sell threshold (default +2.0) and smoothed RSI ≥ overbought level (default 70). A configurable cooldown prevents back-to-back signals; the labels respect the EMA regime filter so the strongest read is when signal direction agrees with the EMA trend.
Background heatmap (JOAT enhancement)
The chart pane is tinted bull or bear with an intensity proportional to |Z|. The mapping is linear: at Z = 0 the heatmap is nearly invisible, at |Z| = the saturation threshold (default 1.5) the tint reaches its loudest configured opacity. Both ends are tunable, so you can dial the heatmap from "barely there" to "institutional cockpit". This is the cleanest at-a-glance read of how stretched the market is right now — you do not need to read the Z value itself.
Divergence engine (JOAT enhancement)
A slope-comparison divergence runs in parallel: it compares the slope of the Z-score against the slope of price over a configurable lookback. A bullish divergence requires price slope negative and Z slope positive; bearish is the mirror. Both slopes must exceed a small epsilon to suppress flat-region noise, and a divergence cooldown spaces them out. Divergences print directly in the chart pane in the palette colour.
Slope-coloured Z-mean line
The Z-score's own running mean is plotted as a slope-coloured ribbon: bull / bear / flat colours based on the slope over a configurable sensitivity window. The shadow underneath the line uses an alpha-modulated version of the same colour so the line visually breathes with regime.
Dashboard
A compact monospaced table, positionable to any of nine corners, with togglable cell transparency. Rows surface:
Current Z-score and its direction (Rising / Falling / Flat).
One-year (252-bar) percentile of Z — how unusual the current reading is in its own recent history.
Smoothed RSI and its slope direction.
Active EMA regime (Up / Down / Neutral).
Distance of Z from its own min/max range (position-in-Z, 0–100%).
Alerts
Alerts are exposed for buy / sell signals, divergences, regime flips, and a configurable Z-extreme alert that fires when |Z| crosses a user-set high level (default 3.0). The extreme alert is the cleanest "the market is genuinely far from home" trigger this script produces and is suitable for end-of-day notification workflows.
How to read it
Three reads, in order of conviction:
Background heatmap — a glance tells you whether you are in a normal-Z regime (no tint) or stretched (bright tint). Most of the time, do nothing.
Signal labels — fade extremes only when both Z and RSI agree, and respect the EMA regime — counter-trend trades into a sustained EMA-aligned move are lower-conviction by definition.
Divergences — the highest-conviction reads. A bullish divergence with the heatmap saturated bear and the signal in the right direction is the cleanest setup the engine can produce.
Suggested settings
Defaults are tuned for 1H–4H on liquid markets. For 5m–15m, drop Z period to 50 and RSI period to 9. For daily and above, raise Z period to 200 and EMA trend filter to 100. The thresholds (±2.0 Z, 30/70 RSI) are intentionally classic — they correspond to the textbook two-sigma deviation and are well-understood; loosen them only if you are running on a less-liquid instrument.
Originality / what's reused
Z-score and RSI are public-domain mathematics, used here as primitives. The implementation — the smoothed-RSI gating, the slope-coloured Z-mean line with alpha shadow, the |Z|-driven background heatmap, the 252-bar percentile rank, the divergence epsilon filter, and the AND-gated signal pipeline — is JOAT-original and tuned together. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. Every section is banner-headed, every helper is documented inline, every input carries a tooltip. The Z-mean line, the heatmap, the divergence engine, and the dashboard are each in their own isolated module so you can study or adapt any single piece without reading the whole file.
Limitations
Z-score mean-reversion is a counter-trend tool by definition. In sustained one-sided trends the Z will live at an extreme for many bars and the signals will give back giveback — the EMA regime filter exists to warn you when you are in this state. The 252-bar percentile rank needs ~1 year of data to be meaningful; on shorter histories it warms up to neutral. Divergences are non-repainting but carry the natural lag of slope-over-window comparison.
—
-made with passion by jackofalltrades
Indicator

Momentum Vol Composite Pro [JOAT]MOMENTUM VOL COMPOSITE PRO
A four-factor composite oscillator that fuses momentum, volatility, volume-flow, and trend into a single Z-normalised line — then exposes per-factor weights, divergence detection, an ASCII gauge dashboard, and a slope-coloured composite MA. Built on the idea that no single oscillator tells you what the market is doing — but four orthogonal ones, properly normalised and weighted, can.
The four factors
Each factor is Z-normalised (subtract its own rolling mean, divide by its own rolling stdev) before being blended, so they all live on the same scale and a weight of "0.25" actually means "one-quarter share of the composite" regardless of the instrument:
ROC (Rate-of-Change) — the price-velocity factor. Captures pure directional momentum.
ATR (volatility) — the range-expansion factor. Rises when bars are getting larger; useful as a "the market is committing" signal.
Volume Flow — cumulative volume minus its own EMA. A proxy for net accumulation/distribution that is regime-aware (it normalises around its own trend).
EMA Difference — short EMA minus long EMA, the classic MACD-style trend factor.
The four Z-scores are weighted (sliders 0–4 each, default 0.25 each), sum-normalised internally so any positive configuration is valid, and combined into a single composite Z-line. An EMA smoother on top of the composite produces the slope-coloured Composite MA that drives Buy/Sell flips.
This is what "composite" should mean — orthogonal factors, weighted, on a common scale, with the weights exposed so the trader controls the personality.
Why per-factor weights matter
Default 0.25 / 0.25 / 0.25 / 0.25 reproduces the textbook equal-weight composite. But equal weights are an assumption , not a fact. If your instrument is volume-driven, raise VolFlow Weight. If your timeframe is dominated by trend, raise EMA Diff Weight. If you are scalping a noisy intraday environment, drop ROC Weight in favour of VolFlow. The composite reshapes itself live as you slide.
Signal engine
A Buy signal fires when the composite MA slopes up; a Sell fires when it slopes down. The composite line itself crosses the configurable threshold guides (default ±1 Z) to mark "extreme bull" and "extreme bear" states. A separate alert fires when |composite| crosses the Extreme threshold (default 2.0 Z) — the script's strongest read.
Divergence engine (JOAT enhancement)
A slope-comparison divergence runs in parallel: it compares the slope of the composite against the slope of price over a configurable lookback. Both slopes must exceed an epsilon to filter out flat-region noise, and a divergence cooldown spaces them out. Divergence labels can be forced onto the main chart pane via force_overlay so you can see them without flipping to the oscillator pane.
Histogram background
Faint columns plot the raw composite value behind the line — this is useful as a "before the slope flips" early read. You can see exhaustion building in the histogram before the slope-coloured MA actually turns.
ASCII gauge dashboard (JOAT enhancement)
A monospaced dashboard with a unique feature — each per-factor row shows both the numeric Z-value and an ASCII bar gauge ("|||||----" style) that renders the value visually inside the table cell. The gauge maps Z in the range linearly across N glyphs (configurable width), with a separator at the centre. At a glance you can see which factors are dominating without reading the numbers.
Dashboard rows:
Composite Z + bar gauge + status (extreme bull / bull / neutral / bear / extreme bear).
ROC Z + gauge.
ATR Z + gauge.
VolFlow Z + gauge.
EMA Diff Z + gauge.
Composite MA slope (Rising / Falling / Flat).
Last signal direction with bar age.
Divergence status with cooldown remaining.
Visual system
Slope-coloured composite MA (bull / bear by slope sign, configurable width).
Translucent composite line for context (transparency configurable, default matches the v5 source).
Threshold guide lines at ±1, zero line, and faint background histogram for exhaustion-before-flip reads.
Buy / Sell labels can be force-overlaid onto the main chart pane if desired.
A locked Emerald-Night palette (vivid green bull / vivid red bear / sage neutral on a midnight-forest ground) gives the pane a distinct identity.
Alerts
Five alert conditions:
Composite crossover above high threshold (default +1)
Composite crossunder below low threshold (default −1)
|Composite| crosses Extreme |Z| (default 2.0)
Bullish divergence detected
Bearish divergence detected
How to read it
Three reads, in order of conviction:
ASCII gauge agreement — when all four factor gauges point the same way, the composite is a high-conviction read. When they disagree, the composite is a wash.
Composite MA slope — once the smoothed line slope flips and price agrees, you have a clean signal.
Divergence + extreme |Z| — the rarest and strongest read. A divergence at a composite extreme tells you that one of the factors is rolling over while price is not, which is the textbook reversal setup.
The histogram is the leading indicator on the line — when it starts shrinking while price is still extending, the slope is about to flip.
Suggested settings
Defaults (ROC 14, ATR 14, VolFlow 20, ShortEMA 12, LongEMA 26) reproduce the classical configuration. For lower timeframes drop all lengths roughly proportionally. The per-factor weights are where the personality lives: pure trend-following bias → raise EMA Diff to 1.5, drop ATR to 0.1. Pure volatility-of-momentum bias → raise ROC and ATR, drop VolFlow.
Originality / what's reused
The factor primitives (ROC, ATR, EMA difference, cumulative volume flow) are public-domain. The Z-normalisation pipeline that puts them on a common scale, the sum-normalised per-factor weighting, the ASCII bar-gauge dashboard, the histogram-behind-line exhaustion view, the slope-coloured composite MA, and the divergence engine with epsilon filter are all JOAT-original and tuned together as a single oscillator. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. Sectioned source, tooltips on every input, helper functions documented inline. Each factor's Z-normalisation, the weighting pipeline, the gauge renderer, and the divergence detector are isolated modules — adapt any single one without reading the whole file.
Limitations
The composite is statistical in nature — it tells you how stretched the blend is, not which specific factor is driving the read. That is what the per-factor rows are for. The Z-normalisation needs enough history to be meaningful; on a fresh chart with little data the composite warms up to flat. Divergences are non-repainting but carry the natural lag of slope-over-window comparison.
—
-made with passion by jackofalltrades
Indicator

MIDAS Fibonacci Cloud [JOAT]MIDAS Fibonacci Cloud
Introduction
MIDAS Fibonacci Cloud is an open-source VWAP-based analytical tool that combines a MIDAS-anchored volume-weighted average price with six Fibonacci-scaled standard deviation bands, a Z-score probability engine, and a synthetic order flow score to produce an integrated picture of institutional value, statistical deviation, and directional pressure on a single overlay.
The problem this solves is band relevance. Standard VWAP deviations use fixed multipliers (1×, 2×, 3× standard deviation) that carry no structural meaning in market terms. Replacing those multipliers with Fibonacci ratios (0.236, 0.382, 0.5, 0.618, 1.0, 1.618) means the band levels correspond to proportional retracement relationships that institutional participants commonly reference. The 1.618 band in particular acts as an extreme extension zone where reversion probability, quantified by the built-in Z-score engine, typically exceeds 99.7%.
Core Concepts
1. MIDAS VWAP with Configurable Anchoring
The VWAP calculation uses the MIDAS method — cumulative volume-weighted price that resets at a user-selected anchor point rather than running as a continuous session VWAP. The anchor can be set automatically (based on the current timeframe), manually to a specific higher timeframe, or to a precise date. This allows the VWAP to be anchored to any significant market event.
The variance term used for standard deviation is computed directly from the volume-weighted sum of squared prices, producing a statistically correct VWAP standard deviation:
float midasVwap = sumVolPrice / sumVol
float variance = (sumVolSq / sumVol) - math.pow(midasVwap, 2)
float stdDev = math.sqrt(math.max(0, variance))
2. Fibonacci Deviation Bands
Six band pairs are computed above and below the VWAP anchor using the standard deviation scaled by a global sensitivity multiplier and each Fibonacci ratio. Upper bands are colored in the bull theme color with decreasing opacity from band 1 to band 6; lower bands in the bear theme color with the same gradient. A gradient fill connects the outer zone (fib4–fib6) to visually highlight the extreme deviation region.
3. Z-Score and Bell Curve Probability
Each bar's Z-score is computed as the signed distance from the VWAP in units of standard deviation. The dashboard converts this to a mean-reversion probability using standard normal distribution thresholds: within 1σ = 68.2%, within 2σ = 95.4%, within 3σ = 99.7%, beyond 3σ = 99.9%.
4. Synthetic Order Flow Score
A bar-level order flow score is computed from three components: candle body-to-range ratio (directional conviction), volume relative to the 20-bar average (institutional participation), and wick rejection percentage (price acceptance or rejection). These are weighted 40/35/25 and scored 0 to 100. VWAP crossover signals are gated by this score — crossovers with low order flow scores are filtered as noise.
5. Gradient Fill Zones
The two outer Fibonacci bands (fib4 and fib6) are connected with a gradient fill that creates a visual glow effect identifying the extreme deviation zones — the regions where price is statistically most likely to be overextended.
Features
MIDAS VWAP with three anchor modes: Auto (timeframe-adaptive), Timeframe (manual higher TF), Date (specific date anchor)
Six Fibonacci deviation band pairs: Levels at 0.236, 0.382, 0.500, 0.618, 1.000, 1.618 × standard deviation × global sensitivity
Gradient fill on extreme zones: Color-to-transparent gradient between fib4 and fib6 identifies overextension zones
Z-score and reversion probability: Computed every bar with bell curve probability output (68.2% / 95.4% / 99.7% / 99.9%)
Synthetic order flow gate: Body ratio, volume participation, and wick rejection combined into a 0-100 score that gates VWAP cross signals
Candle coloring by Z-score: Bar colors intensity-coded by distance from VWAP — neutral near center, saturated at extremes
Band labels at right edge: Each band level labeled with its Fibonacci ratio and price value, updated each bar
Anchor reset marker: Vertical marker in elite theme color at each VWAP reset point
Four color themes: Phantom, Neon, Classic, Solar
Non-repainting: VWAP and bands computed cumulatively from anchor; no future data referenced
Institutional dashboard: 8-row table showing VWAP price, distance %, Z-score, reversion probability, order flow score, and market state
Input Parameters
Anchor Settings:
Anchor Method: Auto / Timeframe / Date
Manual Timeframe: Timeframe to anchor to when method is Timeframe
Manual Date: Specific timestamp when method is Date
Fibonacci Multipliers:
Global Sensitivity: Scales all band widths proportionally (default: 1.2)
Fib Level 1 through 6: Individual Fibonacci ratios (defaults: 0.236, 0.382, 0.500, 0.618, 1.000, 1.618)
Visual Styles:
Color Theme: Phantom / Neon / Classic / Solar
Highlight Candles: Toggle candle coloring by Z-score
Show Band Labels: Toggle right-edge price labels on each band
Table Position and Size
How to Use This Indicator
Step 1: Choose Your Anchor
For intraday scalping, use Auto or Daily anchor. For swing trading, use Weekly or Monthly. For event-driven analysis, use Date and anchor to a specific earnings release, FOMC announcement, or major swing point.
Step 2: Read Band Levels as Statistical Reference
The 0.5 band is one half standard deviation from VWAP — a mild deviation typical of normal trending behavior. The 1.618 band is the extreme extension zone. Price at the 1.618 band has a statistical reversion probability above 99.7%, but this does not mean reversion is imminent or guaranteed.
Step 3: Check the Reversion Probability
Read the Reversion Prob row in the dashboard. As Z-score rises above 2, reversion probability exceeds 95.4%. This quantifies how unusual the current deviation is relative to the full history from the anchor point.
Step 4: Confirm with Order Flow Score
The Order Flow score reflects whether the current bar has institutional characteristics. A high score (above 60) during a VWAP cross suggests genuine participation. A low score (below 30) during a cross suggests a potentially false signal.
Indicator Limitations
The VWAP standard deviation widens significantly with the anchor period. Bands anchored to a six-month period will be very wide; bands anchored to one day will be tight. The global sensitivity parameter must be adjusted accordingly
The Z-score probabilities assume normally distributed returns, which markets do not produce. Fat tails mean extreme Z-scores occur more frequently than the percentages suggest
The synthetic order flow score uses tick volume as a proxy for actual order flow. On assets with low tick frequency, this approximation is less reliable
VWAP-based analysis is most relevant for liquid instruments
This indicator does not generate entry or exit signals. It provides statistical deviation context
Originality Statement
Replacing standard deviation band multipliers with Fibonacci ratios (0.236 through 1.618), scaled by a volume-weighted standard deviation from a MIDAS anchor, is not replicated in existing open-source Pine Script v6 VWAP publications
The combination of Z-score computation, bell curve probability quantification, and a synthetic order flow score as a gate for VWAP cross signals within a single indicator is an original integration
The candle coloring gradient driven by Z-score intensity provides real-time deviation awareness directly on price bars without requiring a separate oscillator panel
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Statistical deviation probabilities are based on a normal distribution assumption that financial markets do not satisfy. Past VWAP behavior does not predict future price action. The author accepts no responsibility for trading losses resulting from use of this indicator.
Made with passion by jackofalltrades
Indicator

Crucible Range Compression [JOAT]Crucible Range Compression
Crucible Range Compression detects volatility-compression episodes by blending three independent contraction proxies — Bollinger Band Width percentile, ATR percentile, and body-range Z-score — into a single intensity score. While compressed, the script tracks Cumulative Volume Delta inside the compression window to predict breakout direction. On confirmed compression exit it projects a chamber-width target line. A history strip records each completed compression with its outcome.
What makes it different
Single-metric volatility-contraction indicators (BBW or ATR alone) can be misled by price-level changes. The composite intensity uses three normalized metrics, each over a percentile lookback, so contraction across multiple lenses is required for a true compression read.
The compression chamber is drawn as a dynamic box (top and bottom bounds expanding while the compression remains active) with three nested concentric rings that visually tighten as intensity increases. A clear visual countdown to breakout.
Inside the chamber, CVD slope predicts breakout direction before the breakout occurs. A direction-bias gauge surfaces this prediction in a 21-segment vertical scale.
Two forward projection lines appear AFTER compression exits but BEFORE the breakout candle confirms — bull target at chamber-high plus width, bear target at chamber-low minus width. Once the direction confirms, only the active target survives.
A false-breakout signal fires when price breaks in the opposite direction of CVD's bias. A high-value warning that a fast reversal is likely.
How it works
Bollinger Band Width equals (upper minus lower) divided by basis. Convert to percentile rank over a 100-bar lookback.
ATR(14) percentile rank over the same lookback.
Body range equals the absolute distance between close and open. Body Z equals (body minus sma(body, 20)) divided by stdev(body, 20). Map to a 0-1 score where small bodies equal 1.
Intensity equals 0.40 times (1 minus BBW%) plus 0.40 times (1 minus ATR%) plus 0.20 times body score. Range 0 to 1 where 1 equals maximum compression.
Compression active when intensity exceeds the user threshold (default 0.7). Chamber bounds are the running max / min of high / low while active.
CVD inside the chamber: delta equals plus volume on up bars, minus volume on down bars, zero otherwise, summed since chamber start. Slope equals total delta divided by bars in chamber.
On exit (intensity drops below threshold), if close above chamber high and CVD bias above 0, bull breakout. If close below chamber low and CVD bias below 0, bear breakout. If price breaks one way but CVD predicted the other, false-breakout signal.
Target on confirmed direction equals breakout close plus or minus chamber width.
Reading the chart
Outer compression chamber box, transparency-modulated by intensity, anchored at compression start.
Three nested concentric rings inside the chamber, smaller and smaller, tinted by direction bias.
Iridescent candle recolor scales transparency with intensity (faded while compressed, vivid on expansion).
Forward projection lines (bull target and bear target) appear at compression exit and disappear when one direction confirms.
A confirmed target line plus price label persists until hit or expired.
bgcolor pulses: 3-bar fade on compression entry, 2-bar fade on confirmed breakout (bull / bear).
Chamber exit pulse: border alpha cycles for 3 bars when compression exits.
A right-edge intensity gauge label with intensity %, state, bias, bars in.
A right-side 21-segment direction-bias gauge mirroring CVD slope.
Pre-compression bgcolor highlight when intensity is approaching the threshold.
An intensity history mini-strip on the right edge showing the last 10 intensity values as colored line segments.
A compression history strip (last 10 completed compressions with outcomes).
A daily compression counter.
Signals
Compression entry (intensity crosses above threshold)
Compression exit (intensity drops below threshold, breakout pending)
Bull breakout confirmed
Bear breakout confirmed
False breakout (direction mismatch with CVD bias)
All gated on barstate.isconfirmed or barstate.ishistory. No future references.
Inputs
Compression : BB length, BB stdev multiplier, percentile lookback, activation threshold, chamber initial length, target line extension bars.
Visual : bullish, bearish, neutral colors. Chamber, nested rings, candles, target line, pulses, gauge toggles.
On-chart : compression history, intensity strip, pre-compression highlight, bias gauge, projection lines, target hit/miss labels, false-breakout revert line, state block, cycle counter, exit pulse.
Dashboard : position, size.
How traders use this
Breakout entries : wait for the confirmed bull / bear breakout signal AND the CVD-bias gauge to be aligned. False-breakout signals when these disagree are reasons to pass or fade.
Range trading : while compression is active (chamber visible), reactions to chamber high / low are intra-range scalp setups.
Target management : once the breakout fires and the target line appears, common practice is to scale out at chamber-mid first, then chamber-target. The chamber width is the implied move.
Compression history : see how previous compressions resolved on the current instrument. A series of Win entries means the setup has been productive recently.
Limitations
Compression detection requires warm-up history (100 bars for the percentile calculations). On very young charts the script is inert.
CVD bias inside a chamber is a probability, not a guarantee. False breakouts happen when liquidity sweeps stops on the predicted side first.
For instruments with very thin volume data, the CVD direction signal is less reliable.
The chamber width is a measured-move proxy. Actual move size can exceed or fall short.
Compatibility
Pine Script v6 open-source indicator (overlay). Any symbol, any timeframe (more bars equals more reliable percentile context). No request.security calls.
Defaults
20-bar BB, 2.0 BB stdev, 100-bar percentile lookback, 0.7 activation threshold, 20-bar initial chamber length, 40-bar target extension, mint / red / gray palette, top-right medium dashboard.
Indicator

Z-Score Probability Pro KAMA
Z-Score Probability Pro KAMA, v1.0 by Erika Barker
Hey guys, this is the successor to my original Z-Score Probability HMA Indicator, which you can still use if you prefer that one.
This is version 1.0 of the new rebuild, and it is a pretty big upgrade. The goal was to keep the statistical foundation that made the original useful, but make it more adaptive, cleaner, and better at understanding different market conditions.
What is new
1. Timeframe auto-adaptation
No more constantly re-tuning the indicator when you switch charts.
The lookback now automatically adjusts based on the chart timeframe, using a calendar-style window, defaulting to about 5 trading days. The dashboard also shows the effective lookback being used, so you always know what the script is calculating from.
It works from 1 minute charts all the way up to weekly charts.
2. Better smoothing logic
The original HMA was doing a lot of work at once. In this version, the baseline and the Z-score smoothing are separated so each one can do its own job better.
By default:
* Baseline: KAMA, great for adapting to noisy markets
* Z-score smoothing: ALMA, smoother and cleaner on the oscillator
HMA is still available if you prefer the original feel.
3. Modified Z-Score option
There is now an optional Modified Z-Score mode using MAD, median absolute deviation.
This is useful for markets with big outliers, fat tails, sudden spikes, crypto moves, small caps, and anything that tends to behave a little wild.
When this mode is turned on, the threshold bands automatically adjust.
4. Regime filter using Hurst logic (been needing out on this a lot lately on personal stuff)
This version attempts to classify the market as:
* Trending
* Mean-reverting
* Random
That matters because an extreme Z-score does not always mean the same thing.
In a mean-reverting market, an extreme Z-score can suggest exhaustion.
In a trending market, that same extreme can sometimes mean continuation or breakout strength.
This was one of the biggest things I wanted to improve from the original.
5. Divergence engine
The indicator now includes both regular and hidden divergence.
It can detect:
* Regular bullish divergence
* Regular bearish divergence
* Hidden bullish divergence
* Hidden bearish divergence
Divergences are confirmed using pivots, so they are non-repainting, but they will appear a few bars after the actual pivot. That is the tradeoff for confirmation.
6. Higher-timeframe confirmation
The script can pull Z-score confirmation from a higher timeframe.
You can use the automatic HTF mode or set it manually. HTF values only update after the higher-timeframe candle closes, so this is designed to avoid repainting.
7. Strong Buy and Strong Sell signals
Signals are based on a confluence score instead of just one condition.
The score looks at things like:
* Z-score reversal
* Divergence
* Baseline slope
* Market regime
* Higher-timeframe agreement
* Volume confirmation, when volume is available
You can choose the conviction level:
* Low
* Medium
* High
Medium is the default and should give fewer, cleaner signals.
8. Live dashboard
The dashboard shows:
* Detected timeframe
* Effective lookback
* Current Z-score
* Market regime
* Hurst value
* Higher-timeframe status
* Bull and bear scores
* Conviction threshold
* Last signal
You can move it to any corner of the chart.
9. More stable defaults
The defaults were chosen to be centered in stable performance zones, not over-optimized for one market.
Basically, I did not want this to be something that only looks good on one ticker, one timeframe, during one perfect backtest window.
10. Built in Pine v6
This version uses Pine v6 features, including dynamic higher-timeframe requests and confirmed-bar alert logic.
Repaint disclosure
This indicator is designed to avoid repainting, but there are a few things to know:
* Divergence and Strong Buy/Sell labels appear after pivot confirmation, default is 3 bars later
* Higher-timeframe confirmation only updates after the higher-timeframe candle closes
* Alerts fire on confirmed bars, not intrabar ticks
So, signals are delayed slightly by design, but that is what makes them confirmed.
How to use it
Beginner
Leave everything on default.
Watch the dashboard and look for:
* Strong Buy
* Strong Sell
Medium conviction is probably the best starting point.
Intermediate
Try the Modified Z-Score mode on crypto, small caps, or anything with sharp moves and big outliers.
Turn on Hidden Divergence if you like trading trend continuation setups.
Advanced
You can tune the component weights to match your own strategy.
The indicator is flexible, so you can make it more reversal-focused, more trend-following, or more confirmation-heavy depending on your trading style. Indicator

Impulse Structure Zones [JOAT]Impulse Structure Zones
Introduction
Impulse Structure Zones (ISZ) is an open-source, institutional-grade zone engine that detects statistically significant price impulses using a Z-Score methodology, identifies the origin candle of each impulse as an order block, and grades each zone using a multi-factor wick rejection scoring system. Bullish and bearish zones are tracked in parallel arrays with full lifecycle management — creation, extension, mitigation detection, and rejection confirmation — all rendered as clean, non-repainting boxes on the chart with a mid-line bisecting each zone.
The core problem ISZ solves is the manual process of locating high-probability order block zones on a chart. Institutional price delivery frequently originates from specific candles where large orders were placed — the last opposing candle before a strong directional move. ISZ automates the detection of those moves, marks the origin candles, and then monitors each zone to fire a graded rejection signal when price returns to test the level. Grades A, B, and C communicate signal quality based on wick dominance, proportional wick depth, volume confirmation, and candle size relative to ATR.
Core Concepts
1. Z-Score Impulse Detection
Price change is measured bar-by-bar as a percentage move and normalized into a Z-Score against a rolling mean and standard deviation window:
float pxChg = (close - close ) / close * 100.0
float zscore = (pxChg - avgChg) / math.max(stdChg, 0.0001)
A bar qualifies as an impulse when the absolute Z-Score exceeds the user-defined threshold (default: 1.5). This isolates moves that are statistically unusual relative to recent activity — the same principle used in quantitative strategies to filter meaningful displacement from noise. All signals are gated on barstate.isconfirmed to prevent repainting.
2. Order Block Identification
When a bullish impulse is confirmed, ISZ scans back through recent bars to locate the last bearish candle (close < open) before the move. That candle's high and low become the order block zone boundaries. For bearish impulses, the last bullish candle is used. This matches the ICT definition of an order block — the final imbalance candle before institutional displacement.
3. Zone Lifecycle Management
Each zone is stored as a user-defined type (UDT) containing the box object, mid-line, price boundaries, birth bar, direction, mitigation flag, and rejection flag. Zones extend rightward on each bar until price closes beyond the zone (mitigation), at which point the box is frozen and marked as mitigated. A maximum zone count is enforced and oldest zones are trimmed to maintain chart performance.
4. A/B/C Rejection Grading
When price returns to test a live zone and a rejection candle forms, ISZ grades the signal quality using four independent scoring factors:
Wick dominance ratio: The rejection wick length divided by candle body size
Proportional wick depth: The wick as a percentage of the total candle range
Volume confirmation: Current bar volume compared to the 20-bar average
Candle size vs ATR: Whether the rejection candle is of meaningful size relative to recent volatility
A total score of 6+ = Grade A, 4-5 = Grade B, below 4 = Grade C. Grade is displayed as a label on the rejection bar.
Features
Z-Score Impulse Engine: Statistically filters price moves against a rolling mean/standard deviation window — configurable length and threshold
Automatic Order Block Detection: Last opposing candle before each confirmed impulse identified and stored as a zone
Bidirectional Zone Tracking: Bullish (demand) and bearish (supply) zones managed in separate arrays with independent colors
A/B/C Rejection Grading: Four-factor scoring system labels each zone test with a quality grade
Zone Mitigation Detection: Zones that are fully closed through are frozen and visually distinguished from active zones
Mid-Line Reference: Each zone box includes a dashed mid-line at the 50% level — institutional equilibrium reference
ATR Proximity Filter: Rejection signals only fire when price is within a configurable ATR multiple of the zone
Volume Confirmation: Optional volume filter requires above-average volume at rejection for grading
Non-Repainting: All signals gated on barstate.isconfirmed — no look-ahead bias
Zone History Limit: Oldest zones automatically removed when the maximum count is reached to maintain performance
Dashboard (Top Right): Active bull/bear zone counts, last signal grade, last impulse Z-Score, and ATR — updated on each bar
Live Z-Score Candle Gradient Coloring: Impulse candles colored teal or rose based on Z-Score strength — immediately identifies statistically significant displacement bars on the chart
ATR Band Plots Around EMA 750: Visual upper and lower extremity zones drawn as ATR-based bands around the 750-period EMA — communicates when price is at macro stretch relative to the long-term anchor
RR Trade Boxes on Rejection Signals: Auto-generated SL/TP boxes on every rejection signal — 1.5× ATR stop loss with 3:1 reward-to-risk ratio, extending forward from the signal bar
Session Win Rate Tracking: Asia, London, and NY win rates tracked independently for rejection trades — outcome recorded against each signal's ATR-based TP/SL levels
Best Session Highlight: Dashboard automatically identifies and highlights the highest win-rate session across all three windows
Expanded Dashboard (9 Rows): Dashboard expanded to 9 rows — now includes live Z-Score reading, total impulse count, and full session win rate breakdown alongside existing zone and signal data
Input Parameters
Z-Score Settings:
Z-Score Length: Rolling window for mean and standard deviation calculation (default: 20)
Z-Score Threshold: Minimum absolute Z-Score required to qualify as an impulse (default: 1.5)
Zone Settings:
Max Active Zones: Maximum number of zones tracked simultaneously per direction (default: 8)
Bull Zone Color / Bear Zone Color: Independent colors per direction
Rejection Settings:
ATR Proximity (multiplier): How close price must be to a zone to trigger rejection check (default: 0.5)
ATR Length: Period for ATR calculation (default: 14)
Require Volume Confirmation: Toggle — above-average volume required for Grade A
How to Use This Indicator
Step 1: Identify Active Zones
Active bullish zones (demand) appear below price in teal. Active bearish zones (supply) appear above price in rose. Mitigated zones are visually dimmed. Focus on zones that have not yet been tested — these are the most relevant levels for future price interaction.
Step 2: Wait for Price to Return to the Zone
ISZ does not generate entry signals on impulse creation. It monitors active zones for return tests. When price pulls back into a zone, watch for the rejection grading label to appear.
Step 3: Grade the Signal
An A-grade rejection at a fresh, unmitigated zone is the highest-quality setup. B-grade is acceptable with additional confluence. C-grade rejections at already-tested zones carry the least weight. Use the grade in combination with your own bias and higher-timeframe analysis.
Step 4: Monitor the Dashboard
The dashboard shows active zone counts, last Z-Score, last grade, and ATR. A high Z-Score at impulse creation indicates an unusually strong move — those zones tend to attract more significant future tests.
Indicator Limitations
Z-Score impulse detection requires sufficient historical bars (at least 2× the Z-Score length) to produce accurate statistics — on very short chart histories the first few zones may form under unstable conditions
Order block detection scans back a fixed number of bars (configurable). In fast-moving markets where multiple candles are the same color, the scan may place the zone further back than an analyst would manually
Rejection grading uses volume data. On instruments with synthetic or unreliable volume (e.g., some CFDs, synthetic indices), the volume scoring component will not reflect true market activity
Zones do not account for gap fills, overnight moves, or after-hours sessions — a zone that appears unmitigated on the chart may have been effectively traded through outside of regular hours depending on the instrument
The A/B/C grading is a quantitative scoring system, not a certainty measure. Grade A signals do not guarantee price continuation in the expected direction
Originality Statement
ISZ combines Z-Score statistical impulse detection with origin-candle order block identification and a multi-factor rejection grading system in a single, self-contained indicator. This combination is original for the following reasons:
The use of a Z-Score normalized against a rolling mean and standard deviation — rather than a fixed pip or percentage threshold — makes impulse detection adaptive to current market volatility. The same threshold parameter behaves consistently across instruments and timeframes without requiring manual recalibration
The A/B/C grading system applies four independent quantitative factors (wick dominance, wick proportion, volume, candle size) simultaneously to classify signal quality at the point of zone interaction — rather than simply marking every return to a zone as equal
Zone lifecycle management (create → extend → mitigate → reject → trim) is handled automatically through UDT arrays with in-place field mutation, eliminating the need for manual zone maintenance or re-drawing
The combination of impulse detection, zone creation, and rejection grading in a single engine — with a unified dashboard — removes the need to layer multiple indicators to accomplish the same workflow
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Order block zones are historical reference levels and do not guarantee that price will react at those levels. A/B/C grades reflect quantitative scoring and do not predict future price movement. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Displacement Forge [JOAT]Displacement Forge
Introduction
Displacement Forge is an open-source order block detection engine built on Z-Score impulse analysis. It identifies statistically significant price displacements — moves that exceed a configurable standard deviation threshold relative to recent price change history — and marks the candle immediately preceding each displacement as an Order Block Zone. Order blocks represent the price ranges from which institutional order flow originates. Price regularly returns to these zones to fill remaining orders, and Displacement Forge identifies and tracks each one, monitors for zone reactions, and records cumulative rejection statistics.
The problem order block analysis solves is entry precision. A trend bias tells you direction. An order block tells you at what price the institutions that created that trend loaded their positions. Returning to those prices to enter alongside institutional flow — rather than chasing moves already in progress — is the conceptual foundation Displacement Forge is built on. The Z-Score gate ensures only statistically significant displacements qualify, filtering out small impulses caused by normal market noise.
Core Concepts
1. Z-Score Displacement Detection
Rather than using fixed ATR multiples to define a "significant" move, Displacement Forge computes the Z-Score of each bar's price change relative to the rolling distribution of recent price changes. The Z-Score measures how many standard deviations the current move is from the recent mean:
priceChg = close - close
avgChg = ta.sma(priceChg, zscoreLen)
stdChg = ta.stdev(priceChg, zscoreLen)
zscore = stdChg > 0 ? (priceChg - avgChg) / stdChg : 0.0
A positive Z-Score above the threshold with a bullish candle close and a higher close than recent highs — filtered by an EMA and VWAP trend context — constitutes a bullish displacement impulse. A negative Z-Score below the negative threshold with a bearish close and lower-than-recent lows in the opposing trend context constitutes a bearish displacement impulse.
2. Order Block Zone Identification
When a displacement impulse is detected, the indicator looks backward through the impulse lookback window for the last candle in the opposite direction — the candle just before the institutional move began. That candle's high and low define the order block zone. This captures the price range where institutional orders were being placed before the displacement candle consumed available liquidity:
if bullImpulse
for i = 1 to impulseLook
if close < open // Last bearish candle before the impulse
obLow := low
obHigh := high
break
Each zone is drawn as a box on the chart using the pre-impulse candle's range. Bull order blocks are drawn with a bullish tint (price expected to react bullishly when revisited). Bear order blocks with a bearish tint.
3. EMA and VWAP Trend Filter
Two independent trend filters gate displacement qualification. The EMA filter (200-period by default, configurable) requires bull displacements to occur above the EMA and bear displacements below it. The VWAP filter adds an intraday fair-value gate — bull displacements require price to be above the current VWAP, bear displacements require price to be below. Both filters can be independently enabled or disabled:
bullImpulse = zscore > threshold and close > open
and close > ta.highest(close, impulseLook)
and (not useEma or close > ema200)
and (not useVwap or close > ta.vwap)
4. Zone Reaction Detection and Rejection Counting
Active order block zones are continuously monitored for price reactions. A bullish reaction occurs when the candle low touches or enters the bull zone range with a bullish close. A bearish reaction occurs when the high touches or enters the bear zone range with a bearish close. Each confirmed reaction increments the independent bull and bear rejection counters displayed in the dashboard:
if ob.isBull and low <= ob.top and low >= ob.bottom and close > open
bullReactionDetected := true
totalBullRejections += 1
5. Zone Lifespan and Active Zone Management
Each zone carries an age counter that increments bar by bar. Zones exceeding the maximum age (configurable) are automatically removed as inactive. The active zone count and total tested zone count are tracked and displayed in the dashboard, giving a running picture of how many zones are currently relevant versus how many have been tested and absorbed.
Features
Z-Score impulse gate: Displacement qualification based on standard deviations from the rolling price-change distribution, not arbitrary fixed thresholds
Order block zone boxes: Pre-impulse candle ranges drawn as colored boxes on the chart for both bull and bear impulses
EMA trend filter: Configurable EMA length gates displacement direction relative to long-term trend
VWAP trend filter: Intraday VWAP provides a fair-value gate alongside the EMA for dual confirmation
Zone reaction monitoring: Active zones continuously checked for price reactions with independent bull and bear rejection counters
Zone age management: Configurable maximum zone age with automatic removal of expired zones
Active and tested zone counts: Dashboard tracks how many zones are live versus how many have been tested
Bull and bear rejection totals: Cumulative counts of all confirmed zone reactions by direction
Displacement markers: Labeled arrows at each confirmed displacement bar (BULL DISP, BEAR DISP) with size and style differentiation
Divergence detection: Z-Score divergence against price direction labeled (BULL DIV, BEAR DIV) and hidden divergence (H.BULL, H.BEAR)
Institutional dashboard (top right): 13-row table with Z-Score, displacement state, OB reactions, active zone count, tested zone count, EMA and VWAP filter status
Fully configurable: Z-Score length and threshold, impulse lookback, EMA length, VWAP toggle, zone max age, and zone visibility independently adjustable
Alerts: Separate alertconditions for bullish and bearish displacement impulses
Input Parameters
Displacement Detection:
Z-Score Length: Rolling window for mean and standard deviation calculation (default: 20)
Z-Score Threshold: Standard deviation threshold for displacement qualification (default: 1.5)
Impulse Lookback: Bars back to search for the pre-impulse order block candle (default: 5)
Trend Filters:
EMA Length: Trend EMA period (default: 200)
Use EMA Filter toggle (default: enabled)
Use VWAP Filter toggle (default: enabled)
Zone Management:
Max Zone Age (Bars): Maximum bar lifespan of active zones before automatic removal (default: 100)
Show OB Zones toggle
Display:
Show Dashboard toggle
Show Divergence Labels toggle
Bullish and Bearish color inputs
How to Use This Indicator
Step 1: Identify the Current Z-Score and Displacement State
The dashboard shows the live Z-Score value and displacement state (BULL IMPULSE, BEAR IMPULSE, or NEUTRAL). Use the Z-Score value as a real-time gauge of how statistically extreme the current price move is relative to recent history.
Step 2: Locate Active Order Block Zones
After any displacement, a colored box marks the pre-impulse candle range. These zones are the areas where institutional orders were accumulated before the move. The dashboard's Active Zones row shows how many live zones are currently on the chart.
Step 3: Wait for Price to Return to a Zone
When price retraces after a displacement and enters an active zone, watch for a reaction candle. A bullish close from within a bull zone or a bearish close from within a bear zone constitutes a zone reaction and increments the dashboard's rejection counter.
Step 4: Apply EMA and VWAP Context
The EMA filter status (ABOVE/BELOW) and VWAP filter status in the dashboard confirm whether the trend context supports the zone direction. An active bull zone with price above both the EMA and VWAP provides a higher-context long reaction than the same zone in a downtrend.
Step 5: Observe Divergence Labels
BULL DIV and BEAR DIV labels appear when the Z-Score diverges from price direction — Z-Score momentum and price momentum disagree. H.BULL and H.BEAR mark hidden divergence. These are secondary signals that may precede displacement reversals.
Indicator Limitations
The Z-Score is computed relative to the rolling price-change distribution of the configured lookback period. During regime changes or low-liquidity periods, the distribution can shift and cause the threshold to misfire
Order block identification looks backward from the displacement bar. The pre-impulse candle selection is algorithmic — it finds the last opposite-direction candle within the lookback. In some impulse structures this may not match the manually identified order block
Zone reaction detection requires the candle to touch the zone range in the same bar that a directional close occurs. Multi-bar zone entry sequences are not separately tracked
The VWAP calculation resets at daily boundaries. On instruments that trade across midnight or on continuous futures contracts, the VWAP reset behavior may differ from expectations
This indicator identifies order block zones and reactions. It does not generate trade entry signals, and zone reactions do not guarantee price continuation from the zone
Originality Statement
Displacement Forge is original in its application of Z-Score analysis to price change distribution as the gate for order block qualification, combined with a dual trend filter and automatic zone reaction monitoring with cumulative statistics. This indicator is published because:
Using the rolling Z-Score of bar-by-bar price changes — rather than raw ATR multiples — to define what constitutes a statistically significant displacement provides an adaptive, distribution-aware threshold that adjusts to current volatility rather than using fixed values
The pre-impulse candle lookback logic that identifies the order block as the last opposite-direction candle before the displacement provides a specific, repeatable rule for zone placement that eliminates the ambiguity of manual order block selection
The dual trend filter combining a configurable EMA with VWAP — both independently togglable — provides layered directional context that single-MA systems do not offer
Tracking cumulative bull and bear rejection counts alongside active and tested zone counts provides ongoing statistical feedback on how the order block zones are performing across the chart history
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Order block zones are identified using statistical and structural criteria but do not guarantee any particular price reaction when revisited. Z-Score thresholds are parameters that require adjustment to match specific instruments and timeframes. Past zone reactions do not guarantee future reactions. Always use proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Volatility Squeeze Oscillator [JOAT]Volatility Squeeze Oscillator
Introduction
Volatility does not move randomly. It compresses, coils, and then releases — and the magnitude of the release is frequently proportional to the depth and duration of the compression. This relationship between volatility contraction and subsequent expansion is one of the most durable patterns in market behavior across all asset classes and timeframes. The Volatility Squeeze Oscillator is built to quantify this relationship with precision, using a multi-layered analysis framework that goes well beyond standard squeeze detection.
At its core, the indicator uses an ATR compression ratio engine to measure the difference between a short-term and long-term ATR. When the short-term ATR is smaller than the long-term ATR, volatility is contracting — the market is coiling. When the short-term ATR expands beyond the long-term reference, the coil is releasing. This compression differential is normalized against the high-low range, making the oscillator comparable across different instruments and volatility regimes.
Three additional analytical layers are stacked on top of the compression engine. A cumulative delta proxy estimates buying versus selling pressure within each bar using range-based calculations — no Level 2 or order flow data required. A volume RSI module measures whether the current volume is elevated relative to its own history, providing a confluence filter that separates high-conviction from low-conviction squeeze releases. And a statistical deviation band system built on a 200-bar lookback marks the historically significant boundaries of the squeeze oscillator's own distribution, so traders can identify not just whether a squeeze is forming, but how extreme it is relative to its own history.
Core Concepts
1. ATR Compression Ratio Engine
The compression ratio is derived from two ATR calculations at different smoothing periods. Both use EMA smoothing rather than RMA (Wilder's method) to produce a more responsive and visually cleaner oscillator. The short-term ATR reflects current volatility conditions. The long-term ATR (calculated at double the base period) establishes the reference level representing the recent historical norm. The difference between these two — long minus short — is the squeeze value: positive when the market is contracting (short ATR below long-term baseline), negative when expanding.
trueRange = ta.tr(true)
atrShort = ta.ema(trueRange, len)
atrLong = ta.ema(atrShort, len * 2)
sqzRaw = atrLong - atrShort
hlRange = ta.highest(high, len) - ta.lowest(low, len)
sqzVal = hlRange > 0 ? sqzRaw / hlRange : 0
Normalizing by the HL range makes the oscillator dimensionless — a squeeze value of 0.3 carries the same meaning whether you are analyzing a $1 stock or a $50,000 Bitcoin contract. The signal line is an EMA of the squeeze value, used to detect the inflection point where the squeeze begins to build (sqzVal crossing above sqzSig) or release (sqzVal crossing below sqzSig).
2. Hyper-Squeeze Detection
A hyper-squeeze occurs when the squeeze value is not merely positive (compressing) but is actively rising for N consecutive bars — indicating an accelerating contraction rather than a stable one. Accelerating compression is particularly significant because it suggests market participants are increasingly reducing their activity, creating a coiled spring effect where the eventual release may be more forceful.
hyperSqz = sqzVal > 0 and ta.rising(sqzVal, hyperLen)
When a hyper-squeeze is active, a violet tint is overlaid on the oscillator background in addition to the regular delta-driven background color. The dashboard updates the hyper squeeze row to ACTIVE status. This dual visual layer makes extended compression phases immediately distinguishable from ordinary positive squeeze readings.
3. Cumulative Delta Proxy
Order flow analysis — understanding whether buyers or sellers are dominant within a given period — typically requires tick-level data or exchange-provided volume breakdown. This indicator constructs a proxy for cumulative delta using bar-level range analysis, making the information accessible without any data feed requirements.
barRange = high - low
bullPress = barRange > 0 ? (close - low) / barRange : 0.5
bearPress = barRange > 0 ? (high - close) / barRange : 0.5
deltaBar = bullPress - bearPress
deltaSma = ta.sma(deltaBar, deltaLen)
deltaPos = deltaSma > 0
A close near the high of the bar implies buyers dominated (bull pressure near 1.0). A close near the low implies sellers dominated (bear pressure near 1.0). The difference, smoothed over a configurable window, produces a normalized delta reading. When delta is positive during a squeeze, the compressed volatility is accumulating with a bullish lean. When negative, with a bearish lean. This directional information is used both in the histogram coloring (alpha derived from delta conviction) and in dashboard output.
4. Volume RSI Confluence
Volume RSI applies the standard RSI momentum formula to the volume series rather than price. This produces a normalized reading of whether current volume is elevated or depressed relative to its recent distribution. A high volume RSI (default threshold: 65) during a squeeze release indicates that the expansion is occurring on above-average participation — a meaningful distinction from low-volume releases that can quickly reverse.
volRsi = ta.rsi(volume, 14)
highVol = volRsi > volThresh
The volume RSI value and status are displayed in the dashboard. Alert conditions include a "high-volume release" alert specifically when both a squeeze release signal and elevated volume RSI occur simultaneously, providing a higher-conviction composite signal.
5. Statistical Deviation Bands
Rather than using fixed threshold lines at arbitrary values, the oscillator's own distribution is analyzed statistically using a 200-bar lookback. The mean and one and two standard deviation levels of the squeeze value over this window establish dynamically updating bands. These bands are filled with a gradient and rendered at adaptive transparency based on the current Z-score — as the oscillator approaches the 2σ band, the fill becomes more opaque, visually emphasizing extreme readings.
sqzMean = ta.sma(sqzVal, statLen)
sqzStd = ta.stdev(sqzVal, statLen)
band1Up = sqzMean + sqzStd
band2Up = sqzMean + 2 * sqzStd
band1Dn = sqzMean - sqzStd
band2Dn = sqzMean - 2 * sqzStd
zScore = sqzStd > 0 ? (sqzVal - sqzMean) / sqzStd : 0
A squeeze reading above the 2σ upper band is historically anomalous compression — significantly above what has been typical over the prior 200 bars. Such readings often precede the most explosive release moves.
6. Histogram Coloring and Background Rendering
The histogram bar colors encode two simultaneous dimensions. The base color is red when the squeeze is building (sqzVal above sqzSig) and teal when releasing (sqzVal below sqzSig). The alpha channel of each bar is modulated by the absolute value of the delta conviction — high delta conviction produces more saturated colors, while low-conviction delta (price closing near the bar midpoint) produces more transparent bars. The background color is a 93% alpha gradient driven entirely by delta: teal for bullish delta, red for bearish delta, with the hyper-squeeze violet tint layered on top when active.
Features
ATR Compression Ratio Engine: Measures the difference between short-term and long-term EMA-smoothed ATR, normalized by HL range for cross-instrument comparability.
Signal Line: EMA of the squeeze value provides the crossover reference for detecting compression buildup and release initiation.
Hyper-Squeeze Detection: Identifies accelerating compression phases where the squeeze is rising for N consecutive bars simultaneously.
Cumulative Delta Proxy: Bar-range-based buying and selling pressure estimate, smoothed and normalized, requiring no Level 2 data.
Volume RSI Confluence: RSI applied to volume series identifies above-average participation, separating high-conviction releases from low-volume ones.
Statistical Deviation Bands: 200-bar mean and sigma levels with gradient fill and adaptive transparency based on Z-score position.
Delta-Driven Alpha Histogram: Histogram color and opacity encode both squeeze direction and delta conviction simultaneously.
Layered Background Coloring: Delta-based background with hyper-squeeze overlay provides immediate pane-level context without requiring close inspection.
Signal Markers: Circle markers at oscillator bottom on squeeze cross and release cross events.
Seven-Row Dashboard: Real-time status covering state, hyper squeeze, volume RSI, delta bias, Z-score, and squeeze value.
Four Alert Conditions: Squeeze building, release detected, hyper squeeze active, and high-volume release composite signal.
Input Parameters
ATR Settings:
Base Length: Period for short-term ATR EMA and HL range lookback (default: 20)
Hyper-Squeeze Settings:
Hyper Squeeze Consecutive Bars: Number of consecutive rising bars required for hyper-squeeze (default: 3)
Delta Settings:
Delta Smoothing Window: SMA period for the delta bar average (default: 10)
Volume RSI Settings:
Volume RSI Period: RSI lookback applied to volume series (default: 14)
Volume RSI Threshold: Level above which volume is considered elevated (default: 65)
Statistical Bands Settings:
Statistical Lookback: Bar count for mean and standard deviation computation (default: 200)
Show Bands: Toggle deviation band fills (default: true)
Display Settings:
Show Background: Toggle delta and hyper-squeeze background coloring (default: true)
Show Signal Markers: Toggle circle markers at squeeze and release crosses (default: true)
Show Dashboard: Toggle the seven-row information table (default: true)
How to Use This Indicator
Step 1: Monitor the Squeeze State
The primary read from this oscillator is the current state displayed in the dashboard: SQUEEZING, RELAXING, or EXPANDING. Squeezing means the compression ratio is positive and rising — the market is actively coiling. Relaxing means the compression is positive but flattening or declining — the coil is beginning to unwind. Expanding means the oscillator has gone negative — volatility is actively expanding beyond the historical baseline. The transition from SQUEEZING to RELAXING is the early warning signal; the transition to EXPANDING is confirmation that the release has begun.
Step 2: Watch for Hyper-Squeeze Conditions
When the dashboard shows HYPER SQUEEZE: ACTIVE and the chart shows the violet tint overlay, the compression is accelerating — each bar the market is coiling tighter. These conditions historically precede more forceful releases. In hyper-squeeze conditions, position sizing on the anticipated breakout can be considered carefully, as the magnitude of the release may be larger than during ordinary squeeze exits.
Step 3: Check Delta Bias for Directional Lean
Before committing to a directional bias, check the delta row in the dashboard. Positive delta (bullish) during a squeeze indicates that even during compression, buyers have been closing bars near the upper portion of their range — a bullish accumulation signature. Negative delta (bearish) suggests the opposite. Delta bias does not guarantee direction, but it provides a useful lean when combined with the squeeze release signal.
Step 4: Require Volume RSI Confluence on Release
Not all squeeze releases produce sustained moves. Low-volume releases frequently reverse within a few bars. The "High-Volume Release" alert fires only when both a release cross and elevated volume RSI (above threshold) occur simultaneously. Waiting for this composite signal before acting on a release — rather than responding to the release cross alone — filters out a meaningful number of false expansion signals in low-participation environments.
Indicator Limitations
The ATR compression ratio measures relative volatility contraction but cannot determine the direction of the eventual breakout. This indicator identifies when a release is likely, not which way price will move. Directional analysis must come from structure, trend, or other contextual tools.
The delta proxy is a bar-level approximation of order flow. It does not access actual tick data, order book data, or trade-level information. In markets with high-frequency activity, the close-to-high/low ratio can systematically misrepresent actual buying and selling pressure.
The statistical deviation bands require 200 bars to be fully seeded. On instruments or timeframes with limited history, or immediately after loading a new chart, the bands may produce unreliable readings until sufficient data is available.
Volume RSI confluence is not applicable to instruments where volume data is unreliable, unavailable, or represents synthetic aggregation (some forex pairs, certain CFDs). In these cases, the volume RSI row should be treated as informational only.
The hyper-squeeze condition measures consecutive rising bars in the squeeze value. This makes it sensitive to the base period setting — shorter periods produce more variable squeeze values, leading to more frequent interruptions of the consecutive count.
This indicator operates entirely on the chart's native timeframe. It does not incorporate multi-timeframe squeeze data — a squeeze on a 15-minute chart may be occurring within the context of a much larger timeframe expansion that this indicator would not reflect.
Originality Statement
The Volatility Squeeze Oscillator is a purpose-built analytical instrument that combines techniques not previously assembled in this specific architecture.
The ATR compression ratio engine — using EMA-smoothed ATR at the base period versus double the base period, normalized by the HL range — is an original squeeze quantification method. It differs from the widely used Lazybear TTM Squeeze (which measures Bollinger Band width versus Keltner Channel width) by operating entirely within the ATR framework with range normalization.
The hyper-squeeze detection via ta.rising() on the already-positive squeeze value identifies accelerating compression as a distinct state separate from ordinary compression, a categorization not found in standard squeeze implementations.
The cumulative delta proxy using bar-range ratios (close minus low divided by range for bull pressure; high minus close divided by range for bear pressure), smoothed and normalized, provides order-flow-inspired information without any data dependency beyond OHLC — an original application of range analysis.
The integration of volume RSI as a confluence gate within the squeeze oscillator framework — not as a separate indicator but as an internal filter with dedicated dashboard output and composite alert conditions — is an original design choice.
The statistical deviation band system applied to the squeeze oscillator's own values (using a 200-bar SMA and StDev of the squeeze value itself) to create adaptive significance thresholds is an original meta-statistical layer not found in comparable oscillators.
Disclaimer
The Volatility Squeeze Oscillator is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. Identifying squeeze conditions does not predict the direction or magnitude of subsequent price moves with any certainty. All trading involves risk of loss. Users are solely responsible for their own trading decisions. Please consider your individual risk tolerance and consult a licensed financial professional before engaging in any trading activity.
-Made with passion by officialjackofalltrades
Indicator

Volume Flow Index - Advanced Multi Time Frame ToolVFI Pro — Advanced Horizon
A multi‑timeframe, volatility‑adaptive evolution of the classic Volume Flow Indicator (VFI). This version introduces horizon‑based parameter scaling, multiple visualization modes, regime detection, and optional Z‑score normalization for deeper volume‑flow analysis.
Key Features
Hybrid Mode — Displays VFI, Signal, Histogram, and Regime shading for full‑spectrum analysis.
Regime Detection — Green background for bullish accumulation (VFI > 0 and VFI > Signal), red background for bearish distribution (VFI < 0 and VFI < Signal).
Adaptive Horizon Engine — Intraday, Weekly, and Monthly modes automatically adjust volatility coefficients and smoothing lengths.
Histogram Momentum — Shows acceleration and deceleration of volume flow even within broader trends.
Optional Normalization — Z‑score mode for comparing VFI behavior across assets and timeframes.
Documentation
More information can be found here:
github.com Indicator

ATR-Based Z-Score (with Signal Line)The ATR-Based Z-Score is an advanced, volatility-normalized oscillator designed to identify extreme price deviations more reliably than the standard Z-Score.
By replacing the traditional Standard Deviation with the Average True Range (ATR) in the denominator, this indicator eliminates the "volatility paradox" where rapid price spikes cause standard oscillators to prematurely return to zero, even as the price continues to crash.
Why this version is superior
In a classic Z-Score calculation:
Z = (Price - SMA) / (Standard Deviation)
A sudden impulsive price drop causes the Standard Deviation to explode. Because you are dividing by a rapidly increasing number, the Z-Score often "rises" while the price is still falling.
The ATR-Based Solution:
Z = (Price - SMA) / ATR
By using a long-period ATR as the denominator, the volatility measure remains stable and "clean." This ensures that the indicator’s troughs align much more accurately with actual price bottoms, staying in the oversold territory until the momentum truly shifts.
Key Features
Volatility Cleaning: The ATR-normalization prevents the indicator from "flattening out" during impulsive price movements.
Integrated Signal Line: A customizable Moving Average of the Z-Score values helps filter noise and confirms entry/exit points.
Independent Periods: You can set the Price MA (responsiveness) and the ATR (volatility baseline) separately to fine-tune the indicator to different timeframes.
How to Trade with it
1. Mean Reversion (Buy the Dip / Sell the Rip)
Long: Wait for the Z-Score to drop below a significant level (e.g., -10.0). Enter when the Z-Score crosses back above its Signal Line.
Short: Wait for the Z-Score to rise above +10.0 and enter when it crosses below the Signal Line.
2. Breakout Trading
A strong push of the Z-Score beyond the +/- 7.0 levels can indicate a powerful trend breakout.
In this case, the Signal Line crossover serves as an effective Exit Signal, telling you that the initial momentum of the breakout is fading.
Summary
✅ This indicator is designed for traders who find standard oscillators too "nervous" during volatile periods. By decoupling price deviation from immediate variance spikes, the ATR-Based Z-Score provides a rock-solid foundation for identifying true market extremes and high-probability reversal points. Indicator

Smart Trader, Episode 04, by Ata Sabanci, Candles and Z ScoresSmart Trader, Episode 04
Candles and Z-Scores: A Statistical Approach to Market Analysis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OVERVIEW
This indicator applies Z-Score statistical analysis to measure how unusual current market conditions are compared to historical norms. It simultaneously analyzes five key metrics: Price, Total Volume, Buy Volume, Sell Volume, and Delta (Buy minus Sell) . The system detects 60 academically-researched market scenarios and provides visual feedback through Z-Lines (support/resistance levels), Event Markers, Trend Channels, and a comprehensive Dashboard.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CORE CONCEPT: WHY Z-SCORE?
A Z-Score measures how many standard deviations a value is from its mean. In financial markets, extreme Z-Scores indicate statistically rare events that often precede significant price movements.
Mathematical Formula:
Z = (Current Value - Mean) / Standard Deviation
Interpretation:
• Z ≥ +2.0: Extremely high (occurs approximately 2.5% of the time)
• Z ≥ +1.0: Above average
• Z ≈ 0: Normal (near the mean)
• Z ≤ -1.0: Below average
• Z ≤ -2.0: Extremely low (occurs approximately 2.5% of the time)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ACADEMIC FOUNDATION
This indicator is inspired by / grounded in market microstructure literature (abbreviated citations in-script) from market microstructure literature:
• Price-Volume Relationship - Karpoff (1987), Journal of Financial and Quantitative Analysis, Cambridge
Volume is positively correlated with price change magnitude
• Order Flow Imbalance - Cont, Kukanov, Stoikov (2014), Journal of Financial Econometrics
Order imbalance drives price more reliably than raw volume
• Informed Trading (PIN Model) - Easley, Kiefer, O'Hara, Paperman (1996), Journal of Finance
Buy/Sell imbalance reveals informed trader activity
• Mixture of Distributions - Tauchen & Pitts (1983), Clark (1973)
Volume clusters with volatility regimes
• Volume Predictability - Gervais, Kaniel, Mingelgrin (2001)
Volume shocks predict future returns
• Liquidity & Order Imbalance - Chordia, Roll, Subrahmanyam (2002)
Order imbalance affects short-term returns
• Volume-Return Dynamics - Llorente, Michaely, Saar, Wang (2002)
Speculation vs. risk-sharing patterns
• Reversal vs. Continuation - Campbell, Grossman, Wang (MIT)
High volume predicts lower autocorrelation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
VOLUME ENGINE
The indicator offers two methods for decomposing total volume into Buy and Sell components:
Method 1: Geometry (Approximation)
Uses candle structure to estimate buying and selling pressure:
Buy Volume = Total Volume × (Close - Low) / (High - Low)
Sell Volume = Total Volume × (High - Close) / (High - Low)
• Works on all instruments without additional data requirements
• Fast calculation
• Less precise than intrabar method
Method 2: Intrabar (Precise)
Uses Lower Timeframe (LTF) tick/second data to aggregate actual up-ticks versus down-ticks:
• More accurate volume decomposition
• Requires LTF data availability
• Configurable LTF: 1T (tick), 1S, 15S, 1M
Delta Calculation:
Delta = Buy Volume - Sell Volume
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Z-SCORE SYSTEM
The system calculates Z-Scores for five metrics simultaneously, using a configurable lookback period (default: 20 bars):
• Zp (Price Z-Score): Measures price deviation from its mean
• Zv (Volume Z-Score): Measures total volume deviation
• Zbuy (Buy Volume Z-Score): Measures buying pressure deviation
• Zsell (Sell Volume Z-Score): Measures selling pressure deviation
• ZΔ (Delta Z-Score): Measures order flow imbalance deviation
Threshold Constants:
• ZH (Z High) = 2.0: Extreme threshold
• ZM (Z Medium) = 1.0: Moderate threshold
• Z0 (Z Zero) = 0.5: Near-zero threshold
Group System:
The analysis window is divided into groups (default: 5 groups × 20 bars = 100 bar total window). Group numbers (1, 2, 3...) are displayed above candles when enabled, helping identify the relative age of detected levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Z-LINES (SUPPORT/RESISTANCE LEVELS)
When any metric reaches an extreme Z-Score, the system marks that price level as a significant support or resistance zone.
Detection Logic:
• Upper Z-Line: Drawn from the HIGH when Z ≥ upper threshold (default +2.0)
• Lower Z-Line: Drawn from the LOW when Z ≤ lower threshold (default -2.0)
Multi-Metric Detection:
Z-Lines can be triggered by any of the five metrics (Price, Volume, Buy, Sell, Delta). When multiple metrics trigger at similar price levels, they are clustered together into a single combined label showing all contributing metrics.
Persistence:
Z-Lines persist for the entire analysis window (Period × Groups bars) and are NOT removed when price touches them. This allows traders to see historical support/resistance levels that may still be relevant.
Anti-Overlap System:
Labels are automatically repositioned to prevent overlap. The "Label Min Gap (%)" setting controls minimum vertical separation between ALL labels (both upper and lower), ensuring readability even when multiple levels cluster together.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EVENT DETECTION ENGINE (60 SCENARIOS)
The system analyzes 60 distinct market scenarios based on Z-Score combinations. Each scenario is derived from academic research and assigned a confidence score based on signal strength and alignment.
Notation:
• Zp = Price Z-Score
• Zv = Total Volume Z-Score
• Zbuy = Buy Volume Z-Score
• Zsell = Sell Volume Z-Score
• ZΔ = Delta Z-Score
• dirP = Price direction (+1 if Zp > 0.5, -1 if Zp < -0.5, else 0)
• = Previous bar value
• ZH = 2.0 (High threshold)
• ZM = 1.0 (Medium threshold)
• Z0 = 0.5 (Zero threshold)
─────────────────────────────────────────────────────────────
CATEGORY A: PRICE-VOLUME (Events 1-10)
Based on: Karpoff (1987), Tauchen-Pitts (1983), Clark (1973)
─────────────────────────────────────────────────────────────
Event 1: Breakout Confirmed
|Zp| ≥ ZH AND Zv ≥ ZH AND sign(ZΔ) = dirP AND dirP ≠ 0
Direction: Bullish/Bearish (follows price direction)
Event 2: Trend Strength Confirmed
|Zp| ≥ ZH AND Zv ≥ ZH
Direction: Follows price direction
Event 3: Fragile Move
|Zp| ≥ ZH AND Zv ≤ -ZM
Direction: Warning (price move without volume support)
Event 4: Weak Rally
Zp ≥ ZH AND Zv ≤ -ZH
Direction: Warning (price up without volume)
Event 5: Weak Selloff
Zp ≤ -ZH AND Zv ≤ -ZH
Direction: Warning (price down without volume)
Event 6: Momentum Build
ZM ≤ |Zp| < ZH AND Zv ≥ ZH
Direction: Follows price direction
Event 7: Churn
|Zp| ≤ Z0 AND Zv ≥ ZH
Direction: Neutral (high volume, low price movement)
Event 8: Quiet Compression
|Zp| ≤ Z0 AND Zv ≤ -ZH
Direction: Neutral (low volume, low price movement)
Event 9: High Volume Regime
Zv ≥ ZH
Direction: Neutral
Event 10: Low Volume Regime
Zv ≤ -ZH
Direction: Neutral
─────────────────────────────────────────────────────────────
CATEGORY B: ORDER-FLOW / DELTA (Events 11-16)
Based on: Cont, Kukanov, Stoikov (2014), Easley, Kiefer, O'Hara, Paperman (1996)
─────────────────────────────────────────────────────────────
Event 11: Imbalance Drives Price
|ZΔ| ≥ ZH AND sign(ZΔ) = dirP AND dirP ≠ 0
Direction: Follows price direction (dirP), with delta alignment required
Event 12: Divergence Top
Zp ≥ ZH AND ZΔ ≤ -ZH
Direction: Warning (distribution at top)
Event 13: Divergence Bottom
Zp ≤ -ZH AND ZΔ ≥ ZH
Direction: Warning (accumulation at bottom)
Event 14: Absorption Positive
|Zp| ≤ Z0 AND Zv ≥ ZH AND ZΔ ≥ ZH
Direction: Bullish (buy absorption, support forming)
Event 15: Absorption Negative
|Zp| ≤ Z0 AND Zv ≥ ZH AND ZΔ ≤ -ZH
Direction: Bearish (sell absorption, resistance forming)
Event 16: Depth Wall
Zv ≥ ZH AND |ZΔ| ≥ ZH AND |Zp| ≤ Z0
Direction: Neutral (market depth absorbing)
─────────────────────────────────────────────────────────────
CATEGORY C: BUY VS SELL (Events 17-23)
Based on: Easley, Kiefer, O'Hara, Paperman (1996), Chordia, Roll, Subrahmanyam (2002)
─────────────────────────────────────────────────────────────
Event 17: Aggressive Buy Dominance
Zbuy ≥ ZH AND ZΔ ≥ ZH AND Zsell ≤ -ZM
Direction: Bullish
Event 18: Aggressive Sell Dominance
Zsell ≥ ZH AND ZΔ ≤ -ZH AND Zbuy ≤ -ZM
Direction: Bearish
Event 19: Two-Sided Battle
Zbuy ≥ ZH AND Zsell ≥ ZH AND |ZΔ| ≤ Z0
Direction: Neutral (buyers and sellers equally strong)
Event 20: Battle with Buy Edge
Zbuy ≥ ZH AND Zsell ≥ ZH AND ZM ≤ ZΔ < ZH
Direction: Bullish
Event 21: Battle with Sell Edge
Zbuy ≥ ZH AND Zsell ≥ ZH AND -ZH < ZΔ ≤ -ZM
Direction: Bearish
Event 22: Hidden Accumulation
Zbuy ≥ ZH AND |Zp| ≤ Z0 AND Zv ≥ ZH
Direction: Bullish (buy shock without price movement)
Event 23: Hidden Distribution
Zsell ≥ ZH AND |Zp| ≤ Z0 AND Zv ≥ ZH
Direction: Bearish (sell shock without price movement)
─────────────────────────────────────────────────────────────
CATEGORY D: PREDICTABILITY (Events 24-26)
Based on: Gervais, Kaniel, Mingelgrin (2001), Karpoff (1987)
─────────────────────────────────────────────────────────────
Event 24: Volume Shock Positive Drift
Zv ≥ ZH AND |Zp| ≤ ZM
Direction: Follows price direction
Event 25: Volume Shock Negative Drift
Zv ≤ -ZH AND |Zp| ≤ ZM
Direction: Opposite to price direction
Event 26: Abnormal Volume Info Arrival
Zv ≥ ZH
Direction: Neutral
─────────────────────────────────────────────────────────────
CATEGORY E: REVERSAL VS CONTINUATION (Events 27-30)
Based on: Campbell, Grossman, Wang (MIT), Llorente, Michaely, Saar, Wang (2002)
─────────────────────────────────────────────────────────────
Event 27: High Vol Reversal Risk
Zv ≥ ZH
Direction: Warning (high volume implies lower positive autocorrelation)
Event 28: Low Vol Continuation Risk
Zv ≤ -ZH
Direction: Follows price direction (trend likely continues)
Event 29: Speculation Continuation
Zv ≥ ZH AND |ZΔ| ≥ ZM AND sign(ZΔ) = dirP AND dirP ≠ 0
Direction: Follows price direction
Event 30: Risk Sharing Reversal
Zv ≥ ZH AND |ZΔ| ≤ Z0
Direction: Warning (potential reversal)
─────────────────────────────────────────────────────────────
CATEGORY F: IMBALANCE LAG (Events 31-33)
Based on: Chordia, Roll, Subrahmanyam (2002)
─────────────────────────────────────────────────────────────
Event 31: Persistent Imbalance Push
|ZΔ| ≥ ZM AND |ZΔ | ≥ ZM AND sign(ZΔ) = sign(ZΔ )
Direction: Follows delta direction (persistent pressure)
Event 32: Imbalance Pressure Decay
(ZΔ ≥ ZM AND ZΔ ≤ -ZM) OR (ZΔ ≤ -ZM AND ZΔ ≥ ZM)
Direction: Warning (imbalance sign flip)
Event 33: Intraday Imbalance Predicts
|ZΔ| ≥ ZM
Direction: Follows delta direction
─────────────────────────────────────────────────────────────
CATEGORY G: SUPPORT/RESISTANCE (Events 34-36)
Based on: Peskir (Manchester)
─────────────────────────────────────────────────────────────
Event 34: SR Barrier Event
|Zp| ≤ Z0 AND Zv ≥ ZH
Direction: Neutral (price stalls with high volume)
Event 35: Volume Backed SR Level
|Zp| ≤ Z0 AND Zv ≥ ZH AND |ZΔ| ≥ ZM
Direction: Follows delta direction
Event 36: Volume Poor SR Level
|Zp| ≤ Z0 AND Zv ≤ -ZM
Direction: Warning (weak S/R without volume)
─────────────────────────────────────────────────────────────
CATEGORY H: EXTENDED ANALYSIS (Events 37-50)
Based on: Extended market microstructure analysis
─────────────────────────────────────────────────────────────
Event 37: Climax Buy
Zbuy ≥ ZH AND Zp ≥ ZH AND Zv ≥ ZH
Direction: Warning (extreme buying exhaustion, potential top)
Event 38: Climax Sell
Zsell ≥ ZH AND Zp ≤ -ZH AND Zv ≥ ZH
Direction: Warning (extreme selling exhaustion, potential bottom)
Event 39: Stealth Accumulation
Zbuy ≥ ZM AND |Zp| ≤ Z0 AND Zv ≤ Z0
Direction: Bullish (quiet buying)
Event 40: Stealth Distribution
Zsell ≥ ZM AND |Zp| ≤ Z0 AND Zv ≤ Z0
Direction: Bearish (quiet selling)
Event 41: Volume Divergence Bull
Zp ≤ -ZM AND Zv ≤ -ZM
Direction: Bullish (price down but volume declining)
Event 42: Volume Divergence Bear
Zp ≥ ZM AND Zv ≤ -ZM
Direction: Bearish (price up but volume declining)
Event 43: Delta Price Alignment
|Zp| ≥ ZM AND |ZΔ| ≥ ZM AND sign(Zp) = sign(ZΔ)
Direction: Follows price direction (strong trend confirmation)
Event 44: Extreme Compression
|Zp| ≤ Z0 AND Zv ≤ -ZH
Direction: Neutral (very low volatility)
Event 45: Volatility Expansion
|Zp| ≥ ZH AND Zv ≥ ZH
Direction: Follows price direction (breakout from compression)
Event 46: Buy Exhaustion
Zbuy ≥ ZH AND Zp ≤ Z0
Direction: Warning (high buy but price fails)
Event 47: Sell Exhaustion
Zsell ≥ ZH AND Zp ≥ -Z0
Direction: Warning (high sell but price holds)
Event 48: Trend Acceleration
|Zp| ≥ ZM AND |Zp| > |Zp | AND Zv ≥ ZM
Direction: Follows price direction (increasing momentum)
Event 49: Trend Deceleration
|Zp| ≥ ZM AND |Zp| < |Zp | AND sign(Zp) = sign(Zp )
Direction: Warning (decreasing momentum)
Event 50: Multi Divergence
(Zp ≥ ZM AND ZΔ ≤ -ZM) OR (Zp ≤ -ZM AND ZΔ ≥ ZM) + |Zp| ≥ ZM AND Zv ≤ -ZM
Direction: Warning (multiple divergence signals)
─────────────────────────────────────────────────────────────
CATEGORY I: TREND-INTEGRATED (Events 51-60)
Based on: Combined price-volume-delta trend analysis
─────────────────────────────────────────────────────────────
Event 51: Trend Breakout Confirmed
|Zp| ≥ ZH AND Zv ≥ ZH AND |ZΔ| ≥ ZM AND sign(ZΔ) = dirP AND dirP ≠ 0
Direction: Follows price direction
Event 52: Trend Support Test
Zp ≥ ZM AND Z0 ≤ Zp < ZM AND ZΔ ≥ Z0
Direction: Bullish (pullback in uptrend)
Event 53: Trend Resistance Test
Zp ≤ -ZM AND -ZM < Zp ≤ -Z0 AND ZΔ ≤ -Z0
Direction: Bearish (rally in downtrend)
Event 54: Trend Reversal Signal
sign(Zp) ≠ sign(Zp ) AND |Zp| ≥ ZM AND |Zp | ≥ ZM
Direction: Follows new price direction (momentum flip)
Event 55: Channel Absorption
|Zp| ≤ Z0 AND Zv ≥ ZH
Direction: Neutral (range-bound with volume)
Event 56: Trend Continuation Volume
|Zp| ≥ ZM AND Zv ≥ ZM AND sign(ZΔ) = dirP AND dirP ≠ 0
Direction: Follows price direction (healthy trend with volume)
Event 57: Trend Exhaustion
|Zp| ≥ ZM AND Zv ≤ -ZM AND |Zp| < |Zp |
Direction: Warning (trend losing steam)
Event 58: Range Breakout Pending
|Zp| ≤ Z0 AND Zv ≤ -ZH AND |ZΔ| ≥ ZM
Direction: Follows delta direction (compression with imbalance)
Event 59: Trend Quality High
|Zp| ≥ ZM AND sign(ZΔ) = dirP AND Zv ≥ Z0 AND dirP ≠ 0
Direction: Follows price direction (strong aligned signals)
Event 60: Trend Quality Low
|Zp| ≥ ZM AND sign(ZΔ) ≠ dirP AND dirP ≠ 0
Direction: Warning (conflicting signals)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TREND CHANNEL SYSTEM
The trend channel system is adapted from Smart Trader Episode 03 to provide consistent visual context for price action analysis.
How It Works:
• Divides the chart into blocks based on Z-Score groups
• Calculates OHLC (Open, High, Low, Close) for each block
• Detects Higher Highs/Higher Lows (uptrend) or Lower Highs/Lower Lows (downtrend) patterns
• Draws channel lines connecting block extremes
• Classifies by angle: steep angles indicate trends, flat angles indicate ranges
Channel Classifications:
• UPTREND: Higher highs and higher lows detected
• DOWNTREND: Lower highs and lower lows detected
• RANGE: Channel angle below threshold (default 10 degrees)
Label Information:
• Trend direction (UPTREND/DOWNTREND/RANGE)
• Channel boundary prices
• Distance from current price (absolute and percentage)
• Channel angle in degrees
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DASHBOARD
The dashboard provides a comprehensive real-time view of all Z-Score metrics and detected events.
Dashboard Sections:
1. Header Row
Displays indicator name and current calculation mode (CLOSED or LIVE).
2. Metric Rows (Price, Total Volume, Buy Volume, Sell Volume, Delta)
Each row displays:
• Value: Current metric value
• Z: Calculated Z-Score
• Visual: Graphical Z-bar showing position relative to mean
• Status: Interpretation (Extreme High, Above Avg, Normal, Below Avg, Extreme Low)
• Upper: Oldest active upper Z-Line in window (Label Mirror)
• Lower: Oldest active lower Z-Line in window (Label Mirror)
3. Event Detection Section
• Count of triggered events out of 60 total scenarios
• Market Bias: Bull/Bear/Neutral percentage with visual bar
• Strongest Event: Highest confidence event currently triggered
• #2 Event: Second highest confidence event
4. Footer
Shows engine type (Geometry/Intrabar), Z-Score period, calculation basis, and number of valid bars.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERT SYSTEM
The indicator uses native alertcondition() functions, keeping the settings menu clean while providing comprehensive alert options in PulseWire's alert dialog.
Available Alert Categories:
• Master Alerts: Any event, Any bullish, Any bearish, Any warning
• Single Event Alerts: Individual alerts for key events (Breakout, Climax, Divergence, etc.)
• Category Alerts: Alerts by event category (Price-Volume, Order-Flow, etc.)
• Confluence Alerts: 2+, 3+, 4+, or 5+ aligned events
• Bias Shift Alerts: 10%, 20%, or 30% shifts in market bias
• High Confidence Alerts: Events with 60%+, 70%+, 80%+, or 90%+ confidence
• Divergence Alerts: Price vs Volume or Price vs Delta divergences
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DATA ACCURACY AND LIMITATIONS
This indicator is 100% VOLUME-BASED and requires Lower Timeframe (LTF) intrabar data for accurate calculations when using the Intrabar method.
Data Accuracy Levels:
• 1T (Tick): Most accurate, real volume distribution per tick
• 1S (1 Second): Reasonably accurate approximation
• 15S (15 Seconds): Good approximation, longer historical data available
• 1M (1 Minute): Rough approximation, maximum historical data range
Backtest and Replay Limitations:
• Replay mode results may differ from live trading due to data availability
• For longer backtest periods, use higher LTF settings (15S or 1M)
• Not all symbols/exchanges support tick-level data
• Crypto and Forex typically have better LTF data availability than stocks
A Note on Data Access:
Higher PulseWire plans provide access to more historical intrabar data, which directly impacts the accuracy of volume-based calculations. More precise volume data leads to more reliable calculations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LANGUAGE SUPPORT (TRI-LINGUAL UI)
This indicator includes a built-in language switch with three interface languages :
• English (EN)
• Türkçe (TR)
• 한국어 (KO)
The selected language updates key interface text such as the Dashboard headers/rows , tooltips , and the Event Engine outputs (event names, category names, and direction labels). Turkish diacritics and Korean Hangul are supported for clean, native readability.
Why only three languages?
Each additional language requires duplicating strings throughout the code, which increases script size/memory usage and compilation time. To keep the indicator optimized and responsive, language options are intentionally limited to three.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ DISCLAIMER
FOR EDUCATIONAL AND RESEARCH PURPOSES ONLY
This indicator is designed as an educational and research tool based on academic market microstructure literature. It is NOT financial advice and should NOT be used as the sole basis for trading decisions.
Important Notices:
• Past performance does not guarantee future results
• All trading involves risk of substantial loss
• The indicator's signals are statistical probabilities, not certainties
• Always conduct your own research and consult qualified financial advisors
• The creator assumes no responsibility for trading losses
Research Sources:
This indicator is built upon peer-reviewed academic research from:
• Journal of Financial and Quantitative Analysis (Cambridge University Press)
• Journal of Finance
• Journal of Financial Econometrics
• MIT Working Papers
• arXiv Financial Mathematics Indicator

ZScore SemiConductoresZ-Score of Semiconductor Sector Volume
This custom Pine Script indicator applies a Z-Score calculation to the aggregated trading volume of leading semiconductor companies. The goal is to highlight statistical extremes in sector activity that may signal unusual market behavior.
🔧 How it works
- Fixed ticker list: NVDA, AVGO, TSM, AMD, ASML, MU, ARM, ON, TXN, QCOM, INTC.
- Aggregate volume: The script sums the trading volume of all tickers in the list for the selected timeframe.
- Z-Score calculation:
- Moving average and standard deviation are computed over a configurable window (default = 50 bars).
- Formula:
Z= (Current Volume - Mean) / Standard Deviation
Visualization:
- Z-Score plotted in green.
- Reference lines at 0, ±1σ, ±2σ.
- Labels (triangles) mark critical signals when Z > +2 or Z < -2.
📈 Why it matters
- Detects abnormal surges or drops in sector-wide volume.
- Highlights potential euphoria (+2σ) or panic (-2σ) moments.
- Useful as a filter for trading strategies or as a sector-level alert system.
⚠️ Disclaimer: This script is for educational purposes only and not financial advice
Indicator

Institutional Quantum Momentum Impulse [BullByte]## Overview
The Institutional Quantum Momentum Impulse (IQMI) is a sophisticated momentum oscillator designed to detect institutional-level trend strength, volatility conditions, and market regime shifts. It combines multiple advanced technical concepts, including:
- Quantum Momentum Engine (Hilbert Transform + MACD Divergence + Stochastic Energy)
- Fractal Volatility Scoring (GARCH + Keltner-based volatility)
- Dynamic Adaptive Bands (Self-adjusting thresholds based on efficiency)
- Market Phase Detection (Volume + Momentum alignment)
- Liquidity & Cumulative Delta Analysis
The indicator provides a Z-score normalized momentum reading, making it ideal for mean-reversion and trend-following strategies.
---
## Key Features
### 1. Quantum Momentum Core
- Combines Hilbert Transform, MACD divergence, and Stochastic Energy into a single composite momentum score.
- Normalized using a Z-score for statistical significance.
- Smoothed with EMA/WMA/HMA for cleaner signals.
### 2. Dynamic Adaptive Bands
- Upper/Lower bands adjust based on volatility and efficiency ratio .
- Acts as overbought/oversold zones when momentum reaches extremes.
### 3. Market Phase Detection
- Identifies bullish , bearish , or neutral phases using:
- Volume-Weighted MA alignment
- Fractal momentum extremes
### 4. Volatility & Liquidity Filters
- Fractal Volatility Score (0-100 scale) shows market instability.
- Liquidity Check ensures trades are taken in favorable spread conditions.
### 5. Dashboard & Visuals
- Real-time dashboard with key metrics:
- Momentum strength, volatility, efficiency, cumulative delta, and market regime.
- Gradient coloring for intuitive momentum visualization .
---
## Best Trade Setups
### 1. Trend-Following Entries
- Signal :
- QM crosses above zero + Market Phase = Bullish + ADX > 25
- Cumulative Delta rising (buying pressure)
- Confirmation :
- Efficiency > 0.5 (strong momentum quality)
- Liquidity = High (tight spreads)
### 2. Mean-Reversion Entries
- Signal :
- QM touches upper band + Volatility expanding
- Market Regime = Ranging (ADX < 25)
- Confirmation :
- Efficiency < 0.3 (weak momentum follow-through)
- Cumulative Delta divergence (price high but delta declining)
### 3. Breakout Confirmation
- Signal :
- QM holds above zero after a pullback
- Market Phase shifts to Bullish/Bearish
- Confirmation :
- Volatility rising (expansion phase)
- Liquidity remains high
---
## Recommended Timeframes
- Intraday (5M - 1H): Works well for scalping & swing trades.
- Swing Trading (4H - Daily): Best for trend-following setups.
- Position Trading (Weekly+): Useful for macro trend confirmation.
---
## Input Customization
- Resonance Factor (1.0 - 3.618 ): Adjusts MACD divergence sensitivity.
- Entropy Filter (0.382/0.50/0.618) : Controls stochastic damping.
- Smoothing Type (EMA/WMA/HMA) : Changes momentum responsiveness.
- Normalization Period : Adjusts Z-score lookback.
---
The IQMI is a professional-grade momentum indicator that combines institutional-level concepts into a single, easy-to-read oscillator. It works across all markets (stocks, forex, crypto) and is ideal for traders who want:
✅ Early trend detection
✅ Volatility-adjusted signals
✅ Institutional liquidity insights
✅ Clear dashboard for quick analysis
Try it on PulseWire and enhance your trading edge! 🚀
Happy Trading!
- BullByte Indicator

Indicator

Mean Reversion Watchlist [Z score]Hi Traders !
What is the Z score:
The Z score measures a values variability factor from the mean, this value is denoted by z and is interpreted as the number of standard deviations from the mean.
The Z score is often applied to the normal distribution to “standardize” the values; this makes comparison of normally distributed random variables with different units possible.
This popular reversal based indicator makes an assumption that the sample distribution (in this case the sample of price values) is normal, this allows for the interpretation that values with an extremely high or low percentile or “Z” value will likely be reversal zones.
This is because in the population data (the true distribution) which is known, anomaly values are very rare, therefore if price were to take a z score factor of 3 this would mean that price lies 3 standard deviations from the mean in the positive direction and is in the ≈99% percentile of all values. We would take this as a sign of a negative reversal as it is very unlikely to observe a consecutive equal to or more extreme than this percentile or Z value.
The z score normalization equation is given by
In Pine Script the Z score can be computed very easily using the below code.
// Z score custom function
Zscore(source, lookback) =>
sma = ta.sma(source, lookback)
stdev = ta.stdev(source, lookback, true)
zscore = (source - sma) / stdev
zscore
The Indicator:
This indicator plots the Z score for up to 20 different assets ( Note the maximum is 40 however the utility of 40 plots in one indicator is not much, there is a diminishing marginal return of the number of plots ).
Z score threshold levels can also be specified, the interpretation is the same as stated above.
The timeframe can also be fixed, by toggling the “Time frame lock” user input under the “TIME FRAME LOCK” user input group ( Note this indicator does not repain t).
Indicator

Indicator

Stablecoin Supply Ratio Oscillator
The Stablecoin Supply Ratio Oscillator (SSRO) is a cryptocurrency indicator designed for mean reversion analysis and sentiment assessment. It calculates the ratio of CRYPTO:BTCUSD 's market capitalization to the sum of stablecoins' market capitalization and z-scores the result, offering insights into market sentiment and potential turning points.
Methodology:
The SSRO is calculated as follows-
method ssro(float src, array stblsrc, int len) =>
float ssr = src / stblsrc.sum() // Source of the underlying divided by the sum of stablecoin sources
(ssr - ta.sma(ssr, len)) / ta.stdev(ssr, len) // Z-Score Transformed
This ratio is Z-Scored to provide a standardized measure, allowing users to identify periods of market fear or greed based on the allocation of capital between the underlying and Stablecoins ( CRYPTOCAP:USDT , CRYPTOCAP:USDC , CRYPTO:TUSD , CRYPTOCAP:BUSD , CRYPTOCAP:DAI , CRYPTOCAP:USDD , CRYPTOCAP:FRAX ). The z-scored values indicate potential areas of discount (buying opportunities) or premium (selling opportunities) relative to historical patterns.
Customization:
Underlying Asset: SSRO is customizable to different underlying assets, offering a versatile tool for various cryptocurrencies.
Calculation Length: Users can adjust the length of the calculation, tailoring the indicator to short or long-term analysis.
Visualization: SSRO can be displayed as candles, providing a visual representation of premium and discount areas.
Interpretation:
Market Sentiment: Lower SSRO values may indicate market fear, suggesting a preference for stablecoins as a relatively safer haven for capital. Conversely, higher values may suggest market greed, as more capital is allocated to the underlying asset.
Utility and Use Cases:
1. Mean Reversion Analysis: SSRO identifies potential mean reversion opportunities, guiding traders on optimal entry and exit points.
2. Sentiment Analysis: The indicator provides insights into market sentiment, aiding traders in understanding market dynamics.
3. Macro Analysis: The majority of cryptos follow \ correlate to CRYPTO:BTCUSD , Therefore by assessing premium and discount areas of CRYPTO:BTCUSD relative to the chosen underlying asset, users gain insights into potential market tops and bottoms.
4. Divergence Analysis: SSRO divergence from price trends can signal potential reversals, providing traders with additional confirmation for their decisions.
The Stablecoin Supply Ratio Oscillator is a valuable tool for cryptocurrency traders, offering a nuanced perspective on market sentiment and mean reversion opportunities. Its customization options and visual representation make it a versatile and powerful addition to the crypto analyst's toolkit. Indicator

Enhanced WaveTrend OscillatorThe Enhanced WaveTrend Oscillator is a modified version of the original WaveTrend. The WaveTrend indicator is a popular technical analysis tool used to identify overbought and oversold conditions in the market and generate trading signals. The enhanced version addresses certain limitations of the original indicator and introduces additional features for improved analysis and comparison across assets.
WaveTrend:
The original WaveTrend indicator calculates two lines based on exponential moving averages and their relationship to the asset's price. The first line measures the distance between the asset's price and its EMA, while the second line smooths the first line over a specific period. The result is divided by 0.015 multiplied by the smoothed difference ('d' for reference). The indicator aims to identify overbought and oversold conditions by analyzing the relationship between the two lines.
In the original formula, the rudimentary estimation factor 0.015 times 'd' fails to accomodate for approximately a quarter of the data, preventing the indicator from reaching the traditional stationary levels of +-100. This limitation renders the indicator quantitatively biased, as it relies on the user's subjective adjustment of the levels. The enhanced version replaces this factor with the standard deviation of the asset's price, resulting in improved estimation accuracy and provides a more dynamic and robust outcome, we thereafter multiply the result by 100 to achieve a more traditional oscillation.
Enhancements and Features:
The enhanced version of the WaveTrend indicator addresses several limitations of the original indicator and introduces additional features-
Dynamic Estimation: The original indicator uses an arbitrary estimation factor, while the enhanced version replaces it with the standard deviation of the asset's price. This modification provides a more dynamic and accurate estimation, adapting to the specific price characteristics of each asset.
Stationary Support and Resistance Levels: The enhanced version provides stationary key support and resistance levels that range from -150 to 150. These levels are determined based on the analysis of the indicator's data and encompass more than 95% of the indicator's values. These levels offer important reference points for traders to identify potential price reversals or significant price movements.
Comparison Across Assets: The enhanced version allows for better comparison and analysis across different assets. By incorporating the standard deviation of the asset's price, the indicator provides a more consistent and comparable interpretation of the market conditions across multiple assets.
Upon closer inspection of the modification in the enhanced version, we can observe that the resulting indicator is a smoothed variation of the Z-Score!
f_ewave(src, chlen, avglen) =>
basis = ta.ema(src, chlen)
dev = ta.stdev(src, chlen)
wave = (src - basis) / dev * 100
ta.ema(wave, avglen)
Z-Score Analysis:
The Z-Score is a statistical measurement that quantifies how far a particular data point deviates from the mean in terms of standard deviations. In the enhanced version, the calculation involves determining the basis (mean) and deviation (standard deviation) of the asset's price to calculate its Z-Score, thereafter applying a smoothing technique to generate the final WaveTrend value.
Utility:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator offers traders and investors valuable insights into overbought and oversold conditions in the market. By analyzing the indicator's values and referencing the stationary support and resistance levels, traders can identify potential trend reversals, evaluate market strength, and make better informed analysis.
It is important to note that this indicator should be used in conjunction with other technical analysis tools and indicators to confirm trading signals and validate market dynamics.
Credit:
The 𝗘𝗻𝗵𝗮𝗻𝗰𝗲𝗱 𝗪𝗧 indicator is a modification of the original WaveTrend Oscillator developed by @LazyBear on PulseWire.
Example Charts:
Indicator

Z-Score Heikin-Ashi TransformedThe Z-Score Heikin-Ashi Transformed (𝘡 𝘏-𝘈) indicator is a powerful technical tool that combines the principles of Z-Score and Heikin Ashi to provide traders with a smoothed representation of price movements and a standardized measure of market volatility.
The 𝘡 𝘏-𝘈 indicator applies the Z-Score calculation to price data and then transforms the resulting Z-Scores using the Heikin Ashi technique. Understanding the individual components of Z-Score and Heikin Ashi will provide a foundation for comprehending the methodology and unique features of this indicator.
Z-Score:
Z-Score is a statistical measure that quantifies the distance between a data point and the mean, relative to the standard deviation. It provides a standardized value that allows traders to compare different data points on a common scale. In the context of the 𝘡 𝘏-𝘈 indicator, Z-Score is calculated based on price data, enabling the identification of extreme price movements and the assessment of their significance.
Heikin Ashi:
Heikin Ashi is a popular charting technique that aims to filter out market noise and provide a smoother representation of price trends. It involves calculating each candlestick based on the average of the previous candle's open, close, high, and low prices. This approach results in a chart that reduces the impact of short-term price fluctuations and reveals the underlying trend more clearly.
Methodology:
The 𝘡 𝘏-𝘈 indicator starts by calculating the Z-Score of the price data, which provides a standardized measure of how far each price point deviates from the mean. Next, the resulting Z-Scores are transformed using the Heikin Ashi technique. Each Z-Score value is modified according to the Heikin Ashi formula, which incorporates the average of the previous Heikin Ashi candle's open and close prices. This transformation smooths out the Z-Score values and reduces the impact of short-term price fluctuations, providing a clearer view of market trends.
This tool enables traders to identify significant price movements and assess their relative strength compared to historical data. Positive transformed Z-Scores indicate that prices are above the average, suggesting potential overbought conditions, while negative transformed Z-Scores indicate prices below the average, suggesting potential oversold conditions. Traders can utilize this information to identify potential reversals, confirm trend strength, and generate trading signals.
Utility:
The indicator offers valuable insights into price volatility and trend analysis. By combining the standardized measure of Z-Score with the smoothing effect of Heikin Ashi, traders can make more informed trading decisions and improve their understanding of market dynamics. 𝘡 𝘏-𝘈 can be used in various trading strategies, including identifying overbought or oversold conditions, confirming trend reversals, and establishing entry and exit points.
Note that the 𝘡 𝘏-𝘈 should be used in conjunction with other technical indicators and analysis tools to validate signals and avoid false positives. Additionally, traders are encouraged to conduct thorough backtesting and experimentation with different parameter settings to optimize the effectiveness of the indicator for their specific trading approach.
Key Features:
Optional Reversion Doritos
Adjustable Reversion Threshold
2 Adjustable EMAs
Example Charts:
See Also:
On Balance Volume Heikin-Ashi Transformed
Indicator
