[JOAT] Apex Flow EngineApex Flow Engine
A volatility-adaptive trend-flow engine that only signals when the move has measurable quality behind it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ WHAT IT IS
Apex Flow Engine tracks the market's underlying flow — the direction price is genuinely travelling once noise is stripped out — and grades every potential entry against a transparent Flow Quality score before a signal is ever printed. It is built to keep a chart clean while still giving a full trade framework: entry, stop, and three take-profit targets.
This is 100% original code. It does not reuse or repackage anyone else's script.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ HOW IT WORKS
1. The Flow Baseline. Instead of a fixed moving average, the baseline is an efficiency-weighted adaptive average . It measures how much net directional travel price achieved versus how much raw movement it burned to get there (an efficiency ratio). When price moves cleanly, the baseline speeds up and hugs price; when price chops sideways, it slows and flattens. This keeps the reference honest in both trending and ranging conditions.
2. The Flow Envelope. An ATR-scaled band is wrapped around the baseline. A flow flip is only registered when price closes beyond the opposite band for a configurable number of confirmation closes — this filters the marginal pokes that create false flips on lower timeframes.
3. The Flow Quality score (0–100). Every flip is scored on four independent components before it becomes a signal:
• Momentum alignment — is momentum pushing in the flip direction
• Volume pulse — is participation expanding versus its own average
• Candle structure — did the trigger candle close with a decisive body
• Efficiency — how clean the underlying move is
A signal fires only if the score meets your minimum threshold, so weak, low-conviction flips are skipped.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ WHAT YOU SEE
• BUY / SELL labels carrying the live Quality score plus an efficiency and volume read at the moment of the signal
• A full TP/SL framework on every signal — entry line, stop-loss, TP1 / TP2 / TP3, and shaded risk/reward zones — that automatically stops updating once the stop or the furthest target is reached
• An optional gradient flow ribbon whose intensity scales with Quality, and three candle-coloring styles (Gradient, Solid, Two-Tone)
• A resizable command dashboard with block-meter gauges for Quality, Efficiency, Volume, Body and Stretch, plus live position and stop readouts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ HOW TO USE IT
• Trade in the direction of the current Flow State . Treat higher-Quality signals as higher-conviction.
• The Stretch (ATR) reading shows how far price has extended from the baseline — large values warn that a pullback may be near before entering late.
• Use the built-in SL and TP levels as a structured plan, or as a reference for your own risk model.
• Works on all symbols and all timeframes. Raise the confirmation closes and minimum Quality on fast intraday charts for fewer, cleaner signals.
◆ SETTINGS THAT MATTER
• Flow Baseline Length / Acceleration — responsiveness of the core
• Envelope Width + Confirmation Closes — how strict a flip must be
• Minimum Quality Score — the signal gate
• TP/SL group — ATR or percent stops, and independent R:R per target
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ NOTES & LIMITATIONS
Apply the indicator to standard candlestick charts . Signals are decision-support tools that describe current conditions — they are not financial advice and no indicator can predict the future or guarantee an outcome. Always combine with your own analysis and risk management.
— made with passion by officialjackofalltrade
อินดิเคเตอร์

SMT Divergence Matrix [JOAT]════════════════════════════════
SMT DIVERGENCE MATRIX
════════════════════════════════
Smart Money Technique divergence, automated. This tool watches your chart symbol against up to two correlated reference assets and flags the moment they disagree at a swing — the classic footprint of one market failing to confirm another. When your chart carves a new low that a correlated market refuses to match, that non-confirmation is highlighted as a potential turn.
▎ WHAT IT DOES
It compares swing highs and lows on your chart to the same swings on two reference instruments and looks for SMT divergence — where the assets normally move together but split at a pivot. Each qualifying event is drawn as a connector line between the two chart pivots, tagged with a BUY or SELL pill, and paired with an optional ATR-based stop and target zone. A dashboard reports live correlation, structure, and which reference triggered.
▎ HOW IT WORKS
• Swing detection — confirmed pivot highs and lows are located on the chart using a configurable left/right pivot length . Larger values isolate more significant swings.
• Reference sync — the same high/low/close series are pulled for up to two reference assets on your chart's timeframe, guarded against invalid symbols.
• Bullish SMT — the chart prints a lower low while a correlated reference prints a higher low . That failure to confirm the downside is read as bullish non-confirmation.
• Bearish SMT — the chart prints a higher high while a correlated reference prints a lower high , reading as bearish non-confirmation.
• Either reference can trigger — a signal fires from whichever asset fails to confirm; the dashboard shows REF1, REF2, or both.
• Correlation filter — rolling correlation between chart and reference is measured over a lookback. SMT only makes sense when assets normally track together, so signals can be restricted to references whose correlation is currently at or above a minimum.
• Confirmation filter — the triggering bar can be gated by RSI momentum turning in the signal direction, by a directional candle close, by both , or by nothing.
• Cooldown — a minimum bar gap between same-direction signals prevents clustering, and the engine never fires a buy and sell on the same bar.
• Trade zones — on each signal, entry is taken at the close, stop is placed a chosen ATR multiple away, and the target is projected at your risk/reward ratio. The zones live-extend to the right each bar and freeze the moment price touches the stop or target.
▎ HOW TO USE IT
• Set Reference Asset 1 and 2 to instruments that genuinely correlate with your chart (index futures, sector peers, a lead/lag pair). The technique is only meaningful when the assets normally move together.
• A BUY pill below price marks bullish non-confirmation; a SELL pill above price marks bearish non-confirmation. The pill text names the reference that triggered.
• The divergence line connects the two chart pivots involved, so you can see the exact swings being compared.
• Treat the red zone as risk (entry-to-stop) and the blue/violet zone as reward (entry-to-target). Use them as a visual framework, not a mechanical order.
• Combine signals with your own read of market structure, session timing, and key levels rather than trading them in isolation.
▎ KEY SETTINGS
• Engine — swing pivot length, the two reference symbols and their enable toggles, and correlation lookback.
• Filters — confirmation mode (None / RSI / Candle / Both), RSI length, positive-correlation requirement with a minimum threshold, and signal cooldown.
• Trade Model — show ATR SL/TP toggle, ATR length, stop distance in ATR multiples, risk/reward target, and a cap on drawn setups for performance.
• Visuals — divergence lines, signal labels, pivot markers, label size, custom bull/bear colors, an optional candle zone-reader, and a session VWAP with ±σ bands.
• Dashboard — show toggle, position, and text size.
▎ DASHBOARD
The panel reports correlation state and value for each reference (Strong+, Positive, Weak, Negative, Strong−, or OFF), the last SMT side with the triggering reference, current market structure (HH / HL / LH / LL), running bull/bear counts , total divergences , live signal status , and current ATR .
▎ ALERTS
• Bullish SMT — chart lower low versus a correlated higher low.
• Bearish SMT — chart higher high versus a correlated lower high.
Both include ticker and interval placeholders in the message.
▎ NOTES
• Works on any symbol and any timeframe; references are read on the chart's own timeframe.
• Signals are based on confirmed pivots, which require the configured right-side bars to close before a swing is validated.
• Colored candles and VWAP bands are off by default for a clean chart, and the drawn-setup cap keeps performance stable.
• Reference data uses non-lookahead requests and tolerates invalid symbols without breaking the script.
For research and education only. This is not financial advice. No indicator predicts the future, on-chart signals and counts are illustrative of historical behavior only, and past behavior does not guarantee future results. Always manage your own risk.
Made with passion by JackOfAllTrades ⚡ อินดิเคเตอร์

Liquidity Sweep Reversal [JOAT]═══ LIQUIDITY SWEEP REVERSAL ═══
Liquidity Sweep Reversal hunts the stop-run. Price wicks beyond a prior swing high or low to grab resting liquidity, then snaps back inside — and that reclaim is where the reversal often begins. This tool tracks those levels, validates the sweep, and frames a complete trade with stop, targets and live outcome stats. 🎯
▎ WHAT IT DOES
It maps recent swing highs and swing lows as liquidity pools, watches for a candle to pierce one and then close back on the correct side (the reclaim ), and prints a clean BUY or SELL label. Every valid signal is turned into a structured trade: an ATR-based stop beyond the swept wick and three R-multiple targets, all tracked to resolution on a self-scoring dashboard.
▎ HOW IT WORKS
• Liquidity mapping — Confirmed pivot highs and lows (lookback set by Swing Pivot Lookback ) are stored as active levels per side, capped in count and aged out after a maximum bar age so only relevant pools remain.
• Sweep + reclaim — A bullish setup needs the bar to wick below a tracked swing low, then close back above it (sell-side liquidity grabbed). A bearish setup wicks above a swing high, then closes back below it. The reclaim can complete on the sweep bar or within the Reclaim Window you allow.
• Wick-depth gate — The penetration beyond the level is measured in ATR. Too shallow (noise) or too deep beyond the Max Wick cap (a genuine breakout) is rejected, so only clean stop-hunts qualify.
• Confluence filters — Optional volume-spike confirmation, HTF trend alignment (BUY only above a higher-timeframe EMA, SELL only below), directional restriction, dual-side sweep blocking on wide bars, and a signal cooldown all thin the feed.
• Trade construction — Entry is the reclaim close. The stop sits beyond the swept wick by an ATR buffer, then is clamped between a min-risk floor and max-risk cap. That risk (1R) projects TP1 / TP2 / TP3 at your chosen R multiples.
• Outcome engine — Each trade is followed bar by bar. Same-bar stop-vs-target conflicts resolve by your chosen priority, and trades that never reach TP3 or stop are flattened at a bar timeout — every result feeds the stats.
▎ HOW TO USE IT
• A BUY pill under price marks a bullish reclaim; a SELL pill above price marks a bearish one. The dotted level line and SSL / BSL SWEEP tag show exactly which liquidity pool was raided.
• The green target zone spans entry to TP3; the red risk zone spans entry to stop. Lines and left-side labels print entry, SL and each TP with its R value.
• On close, a result label reports the outcome — TP3 , a protected partial TP , SL , or a TIME exit — with the realised R.
• Treat signals as a structured framework, not a black box: strongest reversals tend to appear at obvious swing extremes, with HTF alignment and a volume spike behind them.
▎ KEY SETTINGS
• Engine — pivot lookback, reclaim window, ATR length, tracked levels per side, level age, and signal direction (Both / Long / Short).
• Filters — min/max wick depth, volume-spike confirmation, HTF timeframe + EMA, dual-side blocking, and cooldown bars.
• Trade Model — stop buffer, min/max risk bounds, TP1/TP2/TP3 in R, same-bar priority, trade timeout, and drawn-trade history depth.
• Visuals — toggles for markers, sweep lines, zones, level labels, result labels, optional signal-candle tint, and a session VWAP ± σ band .
▎ DASHBOARD
A compact panel reports live state — Status (Waiting / Armed / Active), current active trade side, last sweep and its level — alongside performance: sweeps detected, signals taken, closed count, win rate , profit factor , average R , bull vs bear win%, current and max win/loss streak , and an optional TP1/TP2/TP3 vs SL/Timeout breakdown. Position and text size are configurable.
▎ ALERTS
• Bullish Sweep (BUY) and Bearish Sweep (SELL) on confirmed entries.
• TP3 Hit , Partial TP Hit (protected exit), and SL Hit on trade resolution.
▎ NOTES
• Works on all timeframes and all assets — instruments without volume simply pass the volume filter.
• Signals confirm on the reclaim close , so a printed BUY/SELL marker does not move once the bar closes.
• Every visual has a toggle — turn off zones, lines, labels or the dashboard for a minimalist chart.
• The on-chart statistics summarise historical signals only and are illustrative, not a forecast.
For research and education only. This is not financial advice. No indicator can predict the future, and past behaviour does not guarantee future results. Always manage your own risk.
Made with passion by JackOfAllTrades ⚡ อินดิเคเตอร์

RSI Divergence Hunter [JOAT]RSI Divergence Hunter
Automatically detects the four classic RSI divergence types on confirmed pivots and frames each one as a trade.
What it is
Divergence between price and momentum is one of the oldest reversal and continuation reads, but marking it by hand is subjective and easy to force. This indicator detects all four divergence types algorithmically on confirmed pivots, so what you see is defined and repeatable, and then attaches a full trade structure to each. It is an original divergence engine, not a plain RSI plot.
How it works
• RSI core — the relative strength index measures the speed and size of recent moves. It is the momentum reference every divergence is measured against.
• Confirmed pivots — the engine waits for pivots on both price and RSI to confirm a set number of bars back before comparing them. Because pivots are only evaluated once confirmed, a plotted divergence does not repaint into or out of existence.
• The four types — regular bullish (price lower low, RSI higher low) and regular bearish (price higher high, RSI lower high) point to potential reversals; hidden bullish and hidden bearish point to trend continuation after a pullback. Each is drawn with a connecting line on both price and RSI and labelled by type.
• Zones and gating — overbought and oversold zones give context, and a minimum-gap control keeps divergence signals from stacking on lower timeframes.
Trade levels
Each qualifying divergence draws a red risk box to the stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples. The stop is anchored beyond the pivot that formed the divergence.
The dashboard
An adjustable divergence-scope panel shows the current RSI value and zone, the most recent divergence type detected, the active signal, a conviction estimate, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe.
• Treat regular divergences as counter-trend reversal cues and hidden divergences as with-trend continuation cues — the distinction matters.
• Combine with structure or a trend filter; divergence works well as confluence, not in isolation.
Settings
RSI length and source, pivot strength, which divergence types to display, overbought/oversold levels, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is a complete, confirmed-pivot detector for all four divergence classes with clear per-type labelling and integrated, non-repainting trade framing. By fixing the definition of a divergence and waiting for pivot confirmation, it removes much of the hindsight bias that makes manual divergence unreliable.
Notes and limitations
• Divergence signals can persist and reappear in strong trends; a divergence is a condition, not a timing guarantee.
• Confirmed pivots introduce a natural delay equal to the pivot strength — this is the cost of not repainting.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Two Sigma Factor Composite [JOAT]TWO SIGMA FACTOR COMPOSITE
A tribute to the multi-factor approach pioneered by Two Sigma — long-only, long/short, and risk-premia funds that decompose returns into orthogonal factor exposures, normalise each factor onto the same statistical scale, and combine them into a single signed score. Two Sigma Factor Composite builds five canonical factors (Momentum, Quality, Value, Volatility, Mean-Reversion), Z-normalises each against a rolling baseline, sum-normalises the user-controllable weights, and outputs a composite score with signal labels, factor sparklines on the chart, and a rolling hit-rate backtest.
The five factors
Each factor is computed independently and Z-normalised over a configurable window (default 100 bars) with optional outlier clipping (default ±4σ):
Momentum — return / volatility over the configurable momentum window (default 50 bars). The classic "trend" factor.
Quality — inverse of recent realised volatility (default 50-bar window). Lower volatility = higher quality; an asset that has been calmer is treated as higher quality, consistent with academic factor research.
Value — deviation from a long mean (default 200-bar SMA). Negative deviation = "cheap" (positive value factor exposure); positive deviation = "expensive". The classical cross-sectional value definition, adapted to time series.
Volatility — percentile rank of recent realised volatility (default 20-bar stdev percentile-ranked over 252 bars). High vol = negative factor; low vol = positive factor.
Mean-Reversion — signed deviation from a 20-bar mean (default). Captures short-term reversion bias.
Each factor's window is independently configurable. All five outputs are Z-scores capped at ±4σ to prevent any single outlier from dominating the composite.
Sum-normalised weights
Five weight sliders (default 1.0 each) are normalised internally so any positive combination is valid. Default equal weight is the most defensible baseline; tune individual weights to bias the composite. Want a pure momentum + quality read? Set the others to 0.1 and Momentum/Quality to 2.0. The composite reshapes itself live.
Signal engine — bounded composite with three tiers
The composite is bounded by the clipping cap. The signal engine layers three thresholds:
Buy — composite crosses above the buy threshold (default +1.0σ).
Sell — composite crosses below the sell threshold (default −1.0σ).
Extreme Bull / Extreme Bear — |composite| crosses ±2.0σ. The script's strongest read.
A configurable signal cooldown (default 10 bars) prevents clustering.
Factor sparklines (the signature visual)
The script renders inline sparklines on the chart for all five factors — small line plots that visually show each factor's recent Z trajectory. Configurable base offset (vertical position below zero), row spacing, amplitude, and per-row transparency mapping. At a glance you see which factors are driving the composite and which are flat.
When all five sparklines lean the same way, the composite is high-confidence. When they disagree, the composite is a weighted compromise — the sparklines tell you the truth that a single number cannot.
Visual system
Composite line (configurable width, default 3px) with sign-coloured fill toward zero (configurable transparency).
Threshold lines at ±buyTH and ±extremeTH (configurable transparency).
Buy / Sell labels on chart on threshold crosses.
Factor sparklines — five inline Z-trajectory plots in the pane.
Optional chart-background override to follow chart.bg_color.
A locked Emerald Night palette: vivid green bull / vivid red bear / sage mid on a deep emerald background — strict 2-hue discipline with bg. No third colour invented anywhere; all variations are transparency-only.
Dashboard
Monospaced table positionable to any of eight corners. Surfaces:
Composite Z value and sign.
Per-factor Z rows (Momentum / Quality / Value / Volatility / Mean-Reversion).
Factor agreement percentage (how many factors agree with composite sign).
Last signal direction with bars-ago.
Weight configuration in use.
Backtest stats row — rolling forward-N-bar hit rate (configurable lookahead, default 10 bars). The script's own performance audit.
Alerts
Five alert conditions, each independently controllable:
BUY Cross (composite crosses above buy threshold)
SELL Cross
Extreme Bull (composite > +2.0σ)
Extreme Bear (composite < −2.0σ)
Low Factor Agreement (% of factors agreeing falls below the configurable threshold, default 40%) — the script's "no edge" warning.
How to read it
Three reads, in order of conviction:
Extreme score with high factor agreement (e.g. composite > +2.0σ AND agreement > 80%) — the highest-conviction read the script produces. Four or five factors are pointing decisively one way, and the composite is at a statistical extreme.
Buy / Sell with sparkline confirmation — visual confirmation that the directional read is being driven by multiple factors, not just one. If the composite is bullish but only the Momentum sparkline is leaning, the read is fragile; if Momentum + Quality + Value + Mean-Reversion all lean, the read is robust.
Low Agreement alert — stand-aside signal. The factors disagree internally; the composite is a wash. Wait for re-alignment.
Suggested settings
Defaults (momentum 50 / quality vol 50 / value 200 / vol 20/252 / MR 20, Z window 100, ±4σ clip, ±1.0 buy/sell, ±2.0 extreme, 10-bar cooldown) are tuned for daily charts on broad indices — the timeframes where factor approaches are statistically meaningful. For lower timeframes drop all windows proportionally. For weekly+ keep defaults; factor reads on weekly are the canonical institutional horizons.
Originality / what's reused
The factor-investing framework is published academic finance — Fama-French 1992, Carhart 1997, AQR 2013, and many others. The five factors used here (Momentum, Quality, Value, Volatility, Mean-Reversion) are the canonical institutional factor set. The implementation here — the five-factor pipeline with each factor's window independently configurable, the rolling Z-normalisation with outlier clipping, the sum-normalised five-weight composition, the bounded-composite signal engine with three-tier thresholds, the inline factor sparklines render in the same pane, the rolling forward-bar hit-rate backtest, and the strict 2-hue alpha-only palette — is JOAT-original. No third-party code reused. The script is a tribute to Two Sigma-style factor-composite portfolio construction, not a direct replication of any proprietary Two Sigma model.
Limitations
The five factors are computed from chart data only — they are time-series proxies of the cross-sectional factors used in true multi-asset portfolios. The Z-normalisation needs the window populated; early bars give a warm-up read. The forward-N-bar hit-rate backtest is descriptive of recent signal behaviour under the current settings; it is not a predictive metric. Factor exposures historically underperform for extended periods — the dashboard's agreement row and the low-agreement alert exist specifically to warn you when the model is breaking down.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

CVD Delta Divergence [JOAT]CVD DELTA DIVERGENCE
A full-featured Cumulative Volume Delta engine with proper pivot-based divergence detection. CVD on its own is one of the cleanest reads of net flow you can produce without L2 data — but the value of CVD lives almost entirely in its divergence with price. CVD Delta Divergence builds the CVD properly (with footprint-API or reconstructed-tick options), then runs a strict pivot-vs-pivot divergence engine on top of it, with strength scoring and configurable cooldown.
Three data-source modes
CVD is only as good as the delta classification underneath it. Three modes are exposed:
Footprint API — uses TradingView's Footprint dataset when the instrument supports it. The cleanest read, equivalent to professional delta feeds.
Reconstructed — when Footprint is unavailable, reconstructs buy/sell from a configurable lower-timeframe stream (1m / 3m / 5m / 15m / 30m) using the standard tick rule. Optional intrabar volume weighting.
Auto — picks Footprint when present, falls back to Reconstructed. The recommended default.
This is unusual — most public CVD scripts hardcode one method. Auto-mode means the script works correctly on any instrument that has either dataset, without per-instrument configuration.
Four CVD anchors
Cumulative deltas need an anchor — running a sum from inception of data is rarely meaningful. Four anchoring modes:
Cumulative — never resets. Maximum context, slowest divergence detection.
Session Reset (default) — anchors at the start of each trading session. The most useful read for day-trading reference.
Day Reset — anchors at midnight exchange time.
Week Reset — anchors at week boundary. Good for swing-frame divergences.
Pivot-based divergence engine (the headline)
Slope-comparison divergence is noisy. CVD Delta Divergence uses proper pivots :
ta.pivothigh / ta.pivotlow on price with a configurable lookback (default 5 bars left/right).
At each confirmed pivot, the corresponding CVD value is recorded.
A divergence is built only when two price pivots and their CVD readings disagree directionally.
A minimum-strength filter (default 15.0 on a 0–100 scale) suppresses weak signals — strength is the normalised disagreement magnitude between the price-pivot motion and the CVD-pivot motion.
A strict HL/LL toggle requires the second pivot to strictly exceed/undershoot the first by a small fraction so equal-pivot edge cases do not produce noise divergences.
A cooldown per divergence class (default 3 bars) prevents back-to-back fires of the same class.
Four divergence classes are detected:
Regular Bull — price lower-low, CVD higher-low. Reversal up.
Regular Bear — price higher-high, CVD lower-high. Reversal down.
Hidden Bull — price higher-low, CVD lower-low. Trend continuation up.
Hidden Bear — price lower-high, CVD higher-high. Trend continuation down.
Divergence markers can be force-overlaid onto the main chart pane (toggleable) so you see them on price without flipping panes.
Visual system
Slope-coloured CVD line — bull / bear gradient based on the CVD's own short-term slope (configurable window).
Smoothed CVD overlay — toggleable EMA-smoothed CVD on top of the raw line. Useful for cutting through noisy 1m reconstructions.
Delta histogram — bar-by-bar delta as columns behind the CVD line. Useful for seeing per-bar flow vs cumulative flow.
Zero line and crossover alerts.
Divergence connecting lines — when a divergence fires, a connector line is drawn between the two pivots for visual proof.
A locked Lava palette (gold bull / orange-red bear / oxblood mid on a deep lava-black ground) gives the pane a distinctive flow-read identity.
Dashboard
Monospaced table, positionable to any of eight corners, with:
Current CVD value with sign.
CVD slope direction (Rising / Falling / Flat).
Active anchor mode.
Last divergence class with bar age.
Source mode in use (Footprint / Reconstructed).
Zero-cross status with bars-ago.
Alerts
Six alert conditions, each independently controllable:
Regular Bull Divergence
Regular Bear Divergence
Hidden Bull Divergence
Hidden Bear Divergence
CVD Crosses Zero
CVD Slope Flips
How to read it
Three reads, in order of conviction:
Regular divergence — the classic reversal read. Price made a new extreme, CVD did not. The flow that was needed to extend the move did not show up. A regular divergence at a known structural level is one of the highest-conviction reversal setups in tape reading.
Hidden divergence — the trend-continuation read. Price retraced, but CVD did not. The flow is still committed in the original direction even though price wavered. Often produces clean re-entry signals in trends.
CVD zero-cross + slope flip — the regime change read. Cumulative flow has rotated sides — what was net-buying is now net-selling (or vice versa). Useful as a "the tape has flipped" notification.
Suggested settings
Defaults are tuned for 5m–1H charts on liquid markets in Session Reset mode. For lower timeframes, drop pivot lookback to 3 and divergence window to 30. For higher timeframes, raise pivot lookback to 7–10 and switch anchor to Day Reset. The minimum strength threshold (15) is intentionally loose; raise to 25–30 if you want only the strongest divergences.
Originality / what's reused
CVD (cumulative volume delta) is public-domain market-structure language; the tick rule is standard. The implementation — the Auto/Footprint/Reconstructed source switch, the four-anchor reset logic, the pivot-based divergence engine with strict HL/LL gating and minimum-strength filter, the slope-coloured CVD with histogram backdrop, the force-overlay divergence markers, and the cooldown-per-class state machine — is JOAT-original and tuned together. No third-party code reused.
Open source
Published open-source under the default Mozilla Public License 2.0. The source is sectioned, every input has a tooltip, every helper is documented inline. The CVD engine, the source-mode router, the pivot logic, and the divergence engine are independent modules — adapt any single piece without reading the whole file.
Limitations
Reconstructed CVD is a proxy — the tick rule is the accepted public-market inference but it is not a direct read of bid vs ask volume. Footprint mode requires the TradingView Footprint dataset and is unavailable on some instruments. Pivot divergences are non-repainting once confirmed (they lag by the pivot's right-lookback) but the divergence between two pivots cannot fire until both are confirmed — so the second pivot's lag is the structural lag of the signal.
—
-made with passion by jackofalltrades
อินดิเคเตอร์

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
อินดิเคเตอร์

Momentum Saturation Zones [JOAT]Momentum Saturation Zones
Introduction
Momentum Saturation Zones is an open-source indicator that detects when momentum has reached an extreme and then begins pulling back, marks the price level where that extreme occurred as a zone, and tracks the zone's structural validity until price either respects or invalidates it. The premise is that momentum peaks and troughs at significant price levels leave structural imprints — areas where the market demonstrated conviction — that subsequently act as reference points for support or resistance.
The key differentiator from a simple overbought/oversold indicator is the composite strength scoring: a zone is only created when a configurable minimum score is reached, incorporating the momentum extreme level, the magnitude of the pullback, volume at the peak bar, and whether a divergence is present.
Core Concepts
1. Multi-Source Momentum
The momentum signal is selectable from five sources: RSI, Rate of Change (normalized), MFI, Stochastic RSI, or a composite average of all four. The composite mode averages RSI, normalized ROC, MFI, and StochRSI into a single signal, reducing single-indicator noise while retaining each component's contribution:
float momSeries = (rsiRaw + rocNorm + mfiRaw + stochD) / 4.0
2. Adaptive Pullback Detection
The saturation trigger fires when momentum has pulled back from a rolling peak by more than a configurable percentage threshold. The threshold is adaptive — scaled by the current ATR relative to its 50-bar average. In high-volatility regimes the required pullback is larger; in low-volatility regimes it is smaller. This prevents premature triggers in noisy markets and late triggers in calm ones.
3. Composite Strength Scoring (0-100)
Each potential zone is scored before creation. The score combines four components: how extreme the momentum peak was (0-40 points), how far beyond the threshold the pullback reached (0-20 points), the volume ratio at the peak bar relative to average (0-20 points), and whether momentum divergence is present (0-20 points). Only zones meeting the minimum score gate are created:
float extrem = math.max(0.0, math.min(40.0, (peakAbsMom - 50.0) * 40.0 / 50.0))
float pbScore = math.max(0.0, math.min(20.0, (actualPb - adaptPct) * 2.0 + 10.0))
float volScore = math.max(0.0, math.min(20.0, (volRatio - 1.0) * 20.0))
float divScore = bearDiv and i_useDiv ? 20.0 : 0.0
4. Zone Anchor Logic
Bear resistance zones are anchored at the candle high of the peak bar with the zone extending upward by one ATR multiple — the bottom edge sits exactly at the candle high so price must reach up to touch the zone. Bull support zones are anchored at the candle low of the trough bar with the zone extending downward — the top edge sits at the candle low so price must come back down to touch it.
5. Zone Lifecycle and Touch Counting
Each zone tracks how many times price has returned to it (touch counter displayed in the label). When price closes beyond the invalidation offset, the zone is deleted entirely — no ghost boxes remain. A proximity check before creation prevents duplicate zones from stacking at the same price level.
Features
Five momentum sources: RSI, ROC, MFI, StochRSI, or Composite average
Adaptive pullback threshold: ATR-normalized trigger scaled to current volatility regime
Composite strength scoring (0-100): Extremity, pullback depth, volume, and divergence components
ATR-anchored zones: Three-layer gradient zones (outer, mid, core) with center line
Proper candle anchoring: Resistance bottoms at candle high; support tops at candle low
Touch counting: Zone labels update each time price retests the zone
Proximity deduplication: No duplicate zones within 1.5 ATR of same-side existing zones
Clean invalidation: Zones deleted entirely on invalidation — no ghost boxes
Divergence detection: Momentum divergence contributes bonus points to strength score
Candle coloring: Candles tinted when price is inside or within 0.5 ATR of a valid zone
Dashboard: Momentum value, pullback threshold, volatility regime, active zone count, and directional strength scores
Input Parameters
Momentum Configuration:
Momentum Source: RSI, ROC, MFI, StochRSI, or Composite (default: Composite)
Momentum Length: Period for all momentum calculations (default: 14)
Peak Lookback Bars: Rolling window for peak/trough detection (default: 50)
Saturation Trigger:
Adaptive ATR Threshold toggle (default: on)
Pullback % from Peak: Required pullback to trigger (default: 10%)
RSI Overbought/Oversold: Absolute extreme levels for gate (default: 70/30)
Cooldown Bars: Minimum bars between zone creation events (default: 10)
Zone Settings:
Max Active Zones: Simultaneous zone cap (default: 4)
ATR Length: ATR period for zone sizing (default: 14)
Zone Width (x ATR): Zone height as ATR multiple (default: 1.0)
Invalidation Offset %: Margin beyond zone for invalidation trigger (default: 0.3%)
How to Use This Indicator
Step 1: Read the Zone Strength
Zones display their strength score (0-100) in the label. Higher-scoring zones represent confluences of multiple factors and are historically more likely to produce price reactions.
Step 2: Use Touch Count for Context
A zone touched twice and holding is more significant than a freshly-created zone. A zone touched three or more times that eventually breaks is exhausted — expect the break to accelerate.
Step 3: Watch for Candle Color Changes Near Zones
The candle coloring activates when price enters the zone or comes within 0.5 ATR of it. This provides a passive alert that price is approaching a structural reference.
Indicator Limitations
Momentum peaks do not always coincide with price extremes — the zone is placed at the price of the peak momentum bar, which may differ from the highest/lowest price in the lookback
In strongly trending markets, zones on the trend side may be repeatedly invalidated as trend continues
The strength score is a composite heuristic, not a backtested predictor of zone success rate
Originality Statement
The composite strength scoring system — combining momentum extremity, pullback depth, volume, and divergence into a single 0-100 gate — applied to zone creation is the original analytical contribution. The proper candle-edge anchoring (resistance bottom at candle high, support top at candle low), proximity deduplication, and clean deletion on invalidation are implementation details not present in most published support/resistance zone indicators.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum saturation zones are historical reference levels and do not predict future price reactions. Trading involves substantial risk of loss.
-Made with passion by jackofalltrades
อินดิเคเตอร์

Order Pressure Cloud [JOAT]Order Pressure Cloud is an open-source Pine Script v6 overlay that estimates directional pressure from close location value, candle body bias, and volume participation. It then projects that pressure around an ALMA/EMA blended basis as a volatility-adjusted cloud.
The script is designed for pressure context. It does not read real order book data. Instead, it creates a transparent price-and-volume proxy that can show whether bars are closing toward highs or lows, whether volume is participating, and whether price is holding above or below the adaptive basis.
Core Concepts
1. Close Location Value
The close location value measures where the candle closes inside its high-low range. A close near the high produces positive pressure, while a close near the low produces negative pressure.
barRange = math.max(high - low, syminfo.mintick)
clv = ((close - low) - (high - close)) / barRange
2. Volume-Weighted Pressure
The script smooths CLV multiplied by volume and divides it by smoothed volume. This produces a normalized pressure ratio.
pressureNumerator = ta.ema(clv * volume, pressureLengthInput)
pressureDenominator = ta.ema(volume, pressureLengthInput)
pressureRatio = safeRatio(pressureNumerator, pressureDenominator)
3. Body Bias Component
Body direction is also included. The body component is weighted by a capped volume pulse so unusually large bars do not dominate the reading indefinitely.
4. Nonlinear Strength
The composite pressure is compressed with a nonlinear transform. This keeps extreme values readable and easier to display as a cloud strength score.
5. ALMA/EMA Basis Cloud
The basis blends ALMA and EMA. ATR, pressure strength, and volume pulse expand or contract the cloud width.
Features
CLV pressure proxy: Measures where price closes inside each candle range
Volume participation: Weights pressure by volume while normalizing by smoothed volume
Body pressure component: Adds candle body direction to the pressure model
Nonlinear strength scale: Converts pressure into a bounded -100 to +100 value
Adaptive cloud: Cloud width adjusts with ATR, pressure strength, and volume pulse
Basis blend: ALMA and EMA create a smoother central reference
Pressure zones: Confirmed pressure shifts and holds create clean boxes with pressure percentage and volume pulse data
Confirmed buy/sell labels: Compact labels mark pressure shifts and pressure-cloud holds after bar close
Strength gauge: Top-right dashboard shows pressure, volume, basis side, and cloud scale
Alerts: Pressure shifts, cloud holds, confirmed buy, and confirmed sell conditions
Input Parameters
Source: Price source for the basis
Pressure Length: Smoothing length for pressure calculations
Basis Length: Length for ALMA and EMA basis
ALMA Offset / ALMA Sigma: ALMA shape controls
ALMA Share: Blend weight between ALMA and EMA
ATR Length: Volatility length for cloud width
Cloud Multiplier: Base cloud distance
Signal Level: Strength threshold for pressure shifts
Paint Bars: Enables pressure candle tint
Strength Gauge: Shows dashboard
Pressure Zones: Toggles pressure data boxes
Buy/Sell Signals: Toggles compact confirmed labels
Zone Width: Bars each pressure box extends
Zone History: Maximum pressure boxes retained
Palette: Selects color pair
How to Use This Indicator
Step 1: Read the Gauge
The pressure row shows whether the current pressure score is above, below, or near neutral.
Step 2: Watch Basis Holds
A cloud hold means price interacted with the inner cloud while pressure remained directional.
Step 3: Compare Pressure With Price Location
Pressure is more meaningful when price is on the same side of the basis as the pressure reading.
Indicator Limitations
This is a price-and-volume proxy, not direct order book data
Volume availability differs between markets and symbols
Low-volume symbols can produce unstable pressure readings
Pressure shifts are reactive and can reverse during choppy conditions
Originality Statement
Order Pressure Cloud is original in how it combines CLV, body bias, volume pulse, nonlinear strength compression, and an adaptive ALMA/EMA cloud. It is built as original Pine v6 code from public market data fields.
Disclaimer
This script is provided for educational and informational use only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Pressure proxies can be inaccurate, especially where volume data is incomplete or irregular. Always use independent analysis and proper risk management.
-Made with passion by jackofalltrades อินดิเคเตอร์

Wedge Polaris [JOAT]Wedge Polaris
Wedge Polaris is a multi-pattern auto-detector. It identifies five distinct converging-channel pattern families from zigzag pivots — Ascending Triangle, Descending Triangle, Symmetric Wedge, Rising Wedge, Falling Wedge — and on confirmed breakout projects a three-target ladder (Fibonacci times ATR times historical-duration blend). Pattern statistics, breakout probabilities, target hit / miss tracking, completed-pattern history, and a right-side bias gauge are all surfaced on the chart.
What makes it different
Most wedge / triangle indicators detect a single pattern type. This script classifies five families using slope analysis of the top and bottom channels.
Collinearity tolerance is adaptive. It scales with ATR percentile so the script is strict in low-volatility regimes (clean pivots) and forgiving in high-volatility regimes (noisier pivots) without being retuned.
Breakout probability is computed from the standard-normal CDF on the z-scored duration of the current pattern against a rolling history of completed patterns. Class-conditional bull / bear probabilities are blended with net-volume polarity inside the pattern.
A strong-break filter requires the breakout candle's body Z-score to exceed three AND its 25th or 75th body percentile to be on the correct side of the boundary. This distinguishes decisive expansion from noise probes.
A completed-pattern history strip tracks the last ten patterns with their outcomes (Target 1 hit, Stop hit, expired) so you can see the recent quality of the detector on the current instrument.
How it works
Zigzag pivots are tracked via standard ta.pivothigh and ta.pivotlow with parallel arrays.
Collinearity is tested between the two outer pivots and a middle pivot. Tolerance widens in high-volatility environments.
Two collinear lines (one for highs, one for lows) form a channel. Convergence, alignment, and inside-the-channel tests confirm a valid pattern.
Slope analysis classifies the pattern family.
On breakout confirmation, target lines are projected. T1 equals entry plus or minus 0.5 times width. T2 equals entry plus or minus 1.0 times width. T3 equals entry plus or minus (1.618 times width plus atr-z times ATR). SL is symmetric at width times the user SL multiplier.
Each completed pattern's duration and direction is appended to a 200-entry history buffer, which feeds the probability statistics.
Reading the chart
Pattern channels: two lines plus a linefill between them. Line style differentiates pattern type (solid for triangles, dashed for wedges, dotted for channels).
Completed-pattern ghost outlines fade for a user-configurable number of bars after the pattern ends.
A pattern stats label at the channel midpoint reads, for example: WEDGE 23 bars P(bull) 64% P(break) 78% ATR x.xx.
A three-target ladder on confirmed breakout: entry / SL / T1 / T2 / T3 horizontal lines plus price-only right-edge labels (no arrows, no shout text). Linefills shade the risk and reward zones.
Volume confluence: if breakout-bar volume exceeds 1.5 times the 20-bar SMA, target labels append VOL+.
A right-side bias gauge: 21-segment vertical band with a pointer.
Optional right-side breakout-probability gauge (separate from bias gauge).
A completed-pattern history strip above past pattern midpoints.
A strong-break flash: bgcolor pulse on the strong-break bar.
Signals
Pattern formed
Bullish / bearish breakout
Strong bullish / strong bearish breakout
Target 1 / Target 2 / Target 3 hit
Stop loss hit
All gated on barstate.isconfirmed or barstate.ishistory. No future references.
Inputs
Zigzag : zigzag length.
Collinearity : base tolerance (as a fraction of price).
Breakout : SL width multiplier, target line extension bars.
Visual : bullish / bearish colors, bias gauge, breakout probability gauge, pattern stats label, target ladder.
On-chart : completed-pattern history, ghost outlines extension bars, line-style differentiation.
Dashboard : position, size.
How traders use this
Pattern plus volume : a confirmed breakout with the VOL+ tag and a high P(bull) reading is a higher-probability continuation entry.
Mean-reversion fades : when a wedge's third or later touch happens at the convergence apex with low P(break), the pattern often fails to break. Fade trades inside the channel are possible.
R-multiple management : once target 1 prints, common practice is to move stops to breakeven and let the remainder run for T2 / T3. The target ladder makes this straightforward.
Pattern history : the strip lets you assess whether the detector is performing well on the current instrument and timeframe before sizing up new signals.
Limitations
Pivot detection inherits the right-bar delay of ta.pivothigh and ta.pivotlow. Patterns are confirmed only after the pivot-right-window passes.
Collinearity tolerance is a heuristic. Extremely volatile or extremely clean charts may need tuning of the base tolerance.
The class-conditional probability statistics need a minimum sample (five completed patterns) before they are meaningful.
Pattern recognition is fundamentally interpretive. Even confirmed patterns fail.
Compatibility
Pine Script v6 open-source indicator. Imports TradingView/ta/12 for ta.atr2 (series-period ATR used in duration-adaptive target projection). Any symbol, any timeframe. No request.security calls.
Defaults
7-bar zigzag, 0.5 percent base collinearity tolerance, mint / red colors, top-right medium dashboard. For very fast charts shorten the zigzag length. For slow charts lengthen it and tighten the collinearity tolerance.
อินดิเคเตอร์

Tidal Divergence [JOAT]Tidal Divergence
Tidal Divergence is a composite divergence detector that lives in a sub-pane and projects high-conviction divergence visuals onto the price chart. The composite blends three volume-based oscillators — Money Flow Index, percentile-ranked Cumulative Volume Delta, and z-scored OBV rate-of-change — into a single normalized stream. Both regular and hidden divergences are detected. Persistent zones are drawn at divergence pivots, and zone mitigation is tracked with body / wick / rejection modes.
What makes it different
Single-oscillator divergence indicators give a single perspective. Tidal Divergence's composite triangulates three independent volume-derived oscillators so a divergence in the composite is supported by three volume readings instead of one.
Hidden divergences (continuation pattern: price higher low plus oscillator lower low for bull) are detected separately from regular divergences (reversal pattern), with distinct line styles on the price chart.
Each detected divergence creates a persistent demand or supply zone with optional FVG-confluence gating, dynamic alpha-by-age (zones fade as they age), and explicit mitigation logic (body / wick / two-close rejection variants).
A composite percentile envelope (5th to 95th percentile of the last 200 bars) is drawn behind the oscillator so absolute readings are easy to interpret in context.
How it works
MFI(14), daily-reset CVD then ta.percentrank(cvd, 100), OBV ROC z-score over a 20-bar mean / stdev. Three legs, each normalized to roughly the same scale.
Composite equals 0.40 times the normalized MFI plus 0.35 times the normalized CVD percentile plus 0.25 times the clamped OBV ROC z. Hull-smoothed and scaled to centi-percent.
Pivots are detected on the composite stream. A regular bull divergence requires a price lower low paired with a composite higher low within a 5-to-60-bar window. Hidden bull requires a price higher low plus composite lower low. Bear variants invert the conditions.
At each divergence pivot, two horizontal lines are drawn (edge equals lowest wick / highest wick. base equals lowest body / highest body), with a linefill between them, on the price chart via force_overlay=true.
Zone mitigation: body mode (close beyond edge) or wick mode (high/low beyond edge), optionally with two-close rejection requirement.
Optional FVG confluence requires a recent 3-bar Fair Value Gap before firing the divergence-final alert.
Reading the chart
In-pane : composite line tinted by direction with a smoothed signal line, gradient ribbon between them, breath-modulated zero midline, plus and minus 70 overbought / oversold thresholds, and the percentile envelope as an atmospheric backdrop.
In-pane divergence markers : regular divergences as solid connector plots, hidden divergences as broken (dashed-equivalent) connectors.
Cross-pane : price-to-price divergence connector lines on the price chart (regular solid, hidden dashed). Each line has a small REG BULL DIV 4520.50 or HID BEAR DIV label at the current pivot.
Cross-pane zone fills with age-graded transparency.
Zone edge price labels follow the right edge of each active zone.
Mitigation flash labels print at the bar where a zone is broken.
A cross-pane composite tint paints a soft mint / red background when the composite is clearly above or below plus or minus 30.
Signals
Regular bullish / bearish divergence
Hidden bullish / bearish divergence (continuation)
Bull / bear zone touch
Bull / bear zone mitigated
Bull / bear stack (three or more active zones plus a fresh regular divergence)
Bull / bear streak (composite above / below zero for N consecutive bars)
All gated on barstate.isconfirmed or barstate.ishistory. No future references. No lookahead_on.
Inputs
MFI : MFI length.
Divergence : pivot lookback left / right, detect hidden divergences toggle.
Zones : zone extreme length, max zone age, mitigation mode, allow-rejection toggle.
FVG Confluence : require FVG, FVG lookback bars.
Visual : bullish / bearish colors.
Cross-pane Visuals : divergence lines, divergence labels, zone edge labels, composite tint.
Dashboard : position, size.
How traders use this
Reversal entries : a regular bull divergence with the composite leaving an oversold extreme is a high-quality long setup, especially when accompanied by an FVG below the divergence price.
Continuation entries : a hidden bull divergence during a clearly trending bull regime is a structurally supported add-on entry on a pullback.
Zone trades : after a divergence prints, treat its zone as an active demand or supply level. Reactions to the zone (touch with rejection candles) are tradable. Mitigation invalidates the level.
Composite filter : only trade with the composite in agreement (composite above 0 for longs). The cross-pane tint helps you stay aligned without checking the pane.
Limitations
Divergence detection inherently lags the actual extreme by the right-pivot window.
Composite values are smoothed and need warm-up bars before they stabilize.
Cumulative Volume Delta is a tick-volume proxy, not true level-2 order flow.
A divergence is a probability, not a guarantee. Many divergences fail before completing their implied reversal.
Compatibility
Pine Script v6 open-source indicator (pane plus cross-pane). Any symbol with volume data. Cross-pane elements use force_overlay=true. No request.security calls.
Defaults
14-bar MFI, 14-left / 5-right pivot, body mitigation, FVG confluence off by default, mint / red palette, top-right medium dashboard. Enable FVG confluence to filter for higher-quality setups.
อินดิเคเตอร์

Sentinel Cascade [JOAT]Sentinel Cascade
Sentinel Cascade is a three-stage adaptive Supertrend overlay. Where a classic Supertrend uses one fixed-ATR band, this script chains three Supertrend stages on top of each other and modulates each stage's width with a different regime signal. Bands tighten when the market is trending cleanly and widen when volatility expands or behavior turns mean-reverting.
What makes it different
A standard Supertrend gives one binary direction state. Sentinel Cascade gives three nested direction states that act like a confluence stack. Alignment of all three is the highest-conviction read.
The ATR feeding the Supertrend is smoothed through a Kaufman Efficiency Ratio. Trend-efficient periods get a faster ATR response. Choppy periods get a slower response.
Stage 2's width scales with a volume Z-score. High-volume bars widen the band so transient noise is less likely to flip the stage.
Stage 3's width scales with a lightweight two-point Hurst estimator (R/S over short and long windows). Trending Hurst above 0.5 widens. Mean-reverting Hurst below 0.5 tightens.
A Sentinel pulse fires only when Stage 3 flips AND Stage 2 confirms the new direction within three bars. A coincidence filter for higher-quality regime shifts.
How it works
Compute a basis price as the midpoint of the recent highest high and lowest low.
Compute a KAMA-smoothed ATR from the basis.
Build Stage 1 as a Supertrend on the basis using the KAMA-ATR and the Stage 1 factor.
Build Stage 2 as a Supertrend on Stage 1's output, with its factor multiplied by a clamped volume-Z modulator.
Build Stage 3 as a Supertrend on Stage 2's output, with its factor multiplied by a clamped Hurst modulator.
Track the Sentinel pulse, the ATR-percentile regime (squeeze / normal / expansion), and a running count of intraday Stage 3 flips.
Reading the chart
Three stacked trend lines. Stage 1 thickest, Stage 3 thinnest. Colors flip between bull and bear on direction changes.
A gradient ribbon between Stage 1 (or Stage 2 by user choice) and Stage 3 brightens when the stack is spread, fades when it converges.
An optional iridescent candle recolor scales tint with distance from Stage 3.
A horizontal sight-line projects Stage 3's current level back into history so past respect or rejection at that level is visible.
Persistent flip markers record each Stage 3 flip and retroactively append an OK or FAIL tag after a user-defined persistence window.
A right-edge state block summarizes alignment of all three stages plus the ATR squeeze and expansion read.
Signals
Stage 3 bull / bear shift (any flip)
Cascade alignment (all three stages agree)
Stage 2 retest / bounce inside an active trend
ATR squeeze and expansion entry (percentile-based)
All signals are gated on barstate.isconfirmed or barstate.ishistory. No future-bar referencing. No lookahead_on.
Inputs
Cascade : range basis length, ATR period, KAMA efficiency length, Stage 1 / 2 / 3 factors.
Regime : volume-Z lookback, Hurst short / long windows.
Visual : bullish color, bearish color, toggles for ribbon, sentinel pulse, iridescent candles, bounce markers, ribbon anchor.
On-chart : stage value labels, flip timeline labels, squeeze background tint, Stage 3 cloud, sight-line, state block, daily flip counter.
Dashboard : position, size, watermark row.
How traders use this
Trend continuation : take in the direction of Stage 3 when price retests Stage 2 from the trending side.
High-conviction entries : wait for cascade alignment (all three stages agree) before sizing up.
Mean-reversion fades : when Hurst is clearly below 0.5 and a Stage 3 flip prints near recent extremes, the new trend is statistically less likely to persist.
Volatility context : ATR percentile regime tells you whether the move is happening in a compressed, normal, or extended volatility environment. Sizing should account for that.
Limitations
The two-point Hurst estimator is a fast approximation, not the full rescaled-range statistic. It is monotonically meaningful but is not a precise persistence coefficient.
Like every Supertrend variant, this is a trend-following construct. It is best on instruments with clear directional regimes and worst in extended choppy ranges.
Pivots and percentile-based regime classifications need warm-up bars before their values stabilize.
Past behavior is not a guarantee of future behavior. No indicator can remove market uncertainty.
Compatibility
Pine Script v6, single-file open-source indicator. Works on any symbol and any timeframe. Uses no request.security calls. Non-repainting beyond the normal Supertrend right-bar reactivity inherent to band ratchet logic.
Defaults
Mint bullish color, red bearish color, top-right medium dashboard, all on-chart visualizations on. Open the inputs panel to tune for your instrument or to declutter for screenshots.
อินดิเคเตอร์

Quantum Flux Bands [JOAT]Quantum Flux Bands
Quantum Flux Bands is an institutional-style regime detector. It stationarizes the price series via Fixed-Window Fractional Differentiation (FFD), runs a classical CUSUM change-point test on the stationarized stream, and draws a baseline that snaps to a new price level on every confirmed regime shift. Around the baseline, three percentile envelopes (50%, 68%, 90%) are drawn and modulated by a windowed Shannon entropy estimator so the bands narrow in low-noise regimes and widen in high-noise regimes.
What makes it different
Most regime filters hard-code a differentiation order (typically the first difference). FFD takes a real-valued differentiation order d between 0 and 1, retaining long-memory while making the series statistically stationary. This script chooses d adaptively from a rolling Hurst estimate so it responds to the market's persistence regime instead of being a fixed magic number.
The CUSUM trigger is fed by FFD-stationarized values, not raw returns. This reduces baseline whipsaws in trending markets that violate stationarity assumptions of classical CUSUM.
The bands are entropy-weighted. When the local windowed Shannon entropy is high (low signal-to-noise) the bands expand. When entropy is low (clean regime) they contract. The bands lock at the moment of a confirmed regime shift so they describe the regime under which the baseline was established.
How it works
A two-point Hurst estimator (rescaled-range over short and long windows) drives an adaptive differentiation order d in the range 0.30 to 0.90.
FFD weights are recomputed only when d drifts by more than 0.05 from its cached value. Caching keeps per-bar work near zero.
FFD weights are applied to a sliding window of close prices to produce a stationarized series.
Classical CUSUM tracks cumulative positive and negative deviations of the stationarized series from a running baseline reference, with user-configurable drift and threshold parameters.
When CUSUM exceeds the threshold, the baseline snaps to the current close and the trend state is set to bull or bear.
Inner, mid, and outer envelopes are drawn from percentile_linear_interpolation of the absolute distance between close and baseline, multiplied by an entropy modulator.
A bull probability is computed from the Abramowitz and Stegun standard-normal CDF on the signed band-distance and surfaced as a numeric label.
Reading the chart
Baseline line tinted purple in bull regimes, cyan in bear regimes, muted in neutral.
Six percentile band lines (upper and lower inner, mid, outer) with three pairs of atmospheric gradient fills calibrated so candles remain readable through every layer.
Optional iridescent candle recolor scales tint by signed regime score.
A probability label at the right edge of the chart shows the live bull probability.
Seven right-edge price labels, one per envelope level plus baseline, each sit at their own price.
Regime-shift timeline labels record every confirmed regime change with its baseline price and bull probability at the time of the shift.
A 21-segment vertical strength gauge at the right edge maps the continuous regime strength score onto a bull / bear / neutral scale, with a dashed sight-line drawing the gauge level back into the chart.
A short forward probability cone: two dashed segments at outer band levels with opacity scaled by class probability.
Signals
Bull / bear regime entry (CUSUM trigger with direction)
Outer band touch
Outer band rejection (wick pierces the outer band but the body closes back inside)
Baseline reclaim (close re-crosses the baseline)
All gated on barstate.isconfirmed or barstate.ishistory. No future references. No lookahead_on.
Inputs
Fractional Differentiation : FFD window length.
CUSUM : volatility period, drift parameter, threshold parameter.
Regime : Hurst short / long lookbacks, entropy window / bins / z-score length.
Bands : percentile lookback.
Visual : bullish, bearish, quantum purple, quantum cyan colors. Band visibility toggles. Iridescent candles. Regime pulse. Probability label.
Labels : right-edge level labels, regime timeline (offset off candle wicks by ATR), baseline reclaim markers (direction-sensitive Y offset, configurable minimum-bar spacing), band touch and rejection labels (configurable minimum-bar spacing per type), strength gauge, sight-line needle, probability cone, FFD memory label, entropy state strip.
Dashboard : position, size.
How traders use this
Mean-reversion fades from outer-band touches inside a stable regime (Hurst mean-reverting, low entropy z) are statistically supported setups.
Regime-shift entries : when the baseline snaps and the trend turns, the first inner-band retest is a higher-quality continuation entry than chasing the breakout bar.
Probability filter : use the bull probability label as a confidence multiplier for other systems. Below 30% or above 70% are the actionable zones.
Entropy context : high entropy z (band-multiplier expanded) is a low conviction, wider stops warning. Low entropy z (bands tight) is a high conviction, tighter stops green light.
Limitations
Fractional differentiation is a smoothing and filtering tool. It cannot create information that is not already in the price series.
CUSUM, like any change-point detector, lags real-time tops and bottoms. It is calibrated to balance whipsaw against responsiveness.
The two-point Hurst estimator is a fast approximation. For long-horizon classification it agrees with the full R/S statistic. For very short windows it is noisier.
Past regime persistence does not guarantee future regime persistence.
Compatibility
Pine Script v6 open-source indicator. Any symbol, any timeframe (longer timeframes give the FFD window more meaningful history). No external request.security calls. Non-repainting: regime shifts are committed on confirmed bars and baseline values are not retroactively rewritten.
Defaults
Mint and red bullish / bearish defaults. Purple and cyan quantum accents. Top-right medium dashboard. All on-chart visualizations on. Increase the FFD window for very high timeframes (daily and above) and decrease the percentile lookback for fast intraday charts.
Credits
Fractional differentiation methodology popularized by López de Prado, Advances in Financial Machine Learning (2018).
CUSUM change-point test as published by E. S. Page, Biometrika (1954).
Standard-normal CDF approximation per Abramowitz and Stegun (1964).
อินดิเคเตอร์

Polaris VWAP Mesh [JOAT]Polaris VWAP Mesh
Polaris VWAP Mesh tracks four anchored VWAPs simultaneously — Session, Swing-High pivot, Swing-Low pivot, and Previous-Day-Open — and detects pairwise confluence whenever two or more of them are within an ATR-scaled proximity of each other. Each VWAP carries a plus-or-minus 1-sigma deviation band. Confluence zones become full-chart-width persistent bands. A multi-anchor bias score counts how many VWAPs price is currently above.
What makes it different
Most VWAP scripts plot a single anchor (session or daily). Polaris simultaneously runs four independent anchored-VWAP engines and surfaces their interactions as confluence zones.
Confluence detection uses an ATR-scaled proximity threshold rather than a fixed percentage, so it adapts to the instrument's volatility automatically.
A multi-anchor bias counter aggregates the four VWAPs into a single 0-to-4 score. Full-chart-width tints apply when three or more VWAPs are above (or below) the close.
Swing-anchored VWAPs reset at confirmed pivot points and start fresh from the moment of pivot confirmation (forward-only, non-repainting). The Previous-Day-Open VWAP is anchored to the open of the prior daily bar so it captures yesterday's reference.
A pairwise distance matrix is displayed in plain text at the right edge — six pair distances, with the two tightest pairs highlighted.
How it works
An anchored VWAP function maintains three cumulators per anchor — price-times-volume, volume, and price-squared-times-volume — to deliver both the VWAP and its rolling standard deviation since the anchor.
Anchor reset conditions: Session start of the user-defined session window. Swing-High on confirmed ta.pivothigh. Swing-Low on confirmed ta.pivotlow. Previous-Day-Open on ta.change(time("D")), capturing the open of the new day, then locking after a day passes.
Pairwise distance check: for each of the six possible pairs, if the absolute distance between VWAPs is less than proximityThreshATR times ATR(14), an active confluence is flagged. The mid-price between the two VWAPs becomes the confluence level.
Multi-anchor bias counts how many of the four VWAPs the close is above.
Reading the chart
Four VWAP lines, each in its own color (session blue, swing-high red, swing-low mint, prev-day-open purple, all user-configurable).
Plus-or-minus 1-sigma deviation band shading per VWAP.
Full-chart-width confluence zones (persistent bordered boxes) at each active confluence level, with right-edge labels naming the contributing pair.
Anchor reset markers: small vertical lines per anchor at the bar of reset (capped at 20 per anchor type).
A multi-anchor bull / bear bgcolor tint (very faint) when three or more VWAPs are on one side of the close.
Iridescent candle recolor by bull-count.
Right-edge VWAP labels with plus-or-minus sigma deviation tags.
Pairwise distance matrix label cluster.
Anchor-age label cluster.
Bias-flip timeline labels and VWAP-cross event labels.
Signals
Bull / bear VWAP cross (any anchor)
Session VWAP bull / bear cross (dedicated alerts)
Previous-Day-Open VWAP bull / bear cross (dedicated alerts)
Confluence touch (price entered an active confluence zone)
Multi-anchor bull / bear bias activation
All gated on barstate.isconfirmed or barstate.ishistory. No future references.
Inputs
Anchors : session window string, swing pivot length.
Bands : standard deviation multiplier, band shading toggle.
Confluence : proximity threshold in ATR units, confluence zones toggle.
Visuals : bullish / bearish colors, per-anchor color overrides, per-anchor visibility toggles, candles, labels.
Dashboard : position, size.
How traders use this
Confluence trading : confluence zones are price magnets. Reactions to them (touches with rejections) are tradable. Clean breaks through with volume can be trend signals.
Multi-anchor bias : when three or four of the four VWAPs are on the same side of price, the trend is well supported across multiple anchors. Counter-trend trades in this regime are lower probability.
VWAP rotation : the previous-day-open VWAP is a frequently respected institutional reference. Crosses of it often coincide with bias shifts.
Plus-or-minus 1-sigma bands : extensions to plus-or-minus 1 sigma from a fast-moving anchor often coincide with short-term mean-reversion zones.
Limitations
Swing-anchored VWAPs begin tracking only after pivot confirmation, so they lack history before that pivot was confirmed. This is by design (non-repainting), not a bug.
The session VWAP requires the user to set a session window matching the instrument's primary trading window.
The pairwise confluence test is O(1) per bar (six pairs). Confluence zones extend across the chart and use persistent box objects. They are capped at six active zones (the maximum number of pair combinations).
Confluence is a price-coincidence test, not a flow-direction test. Use other tools to gauge directional bias once confluence is identified.
Compatibility
Pine Script v6 open-source indicator (overlay). Any symbol with volume data. Designed for sessions in America/New_York by default. Change the session window for other markets. No request.security calls.
Defaults
0930-1600 EST session window, 10-bar pivot length, 0.5x ATR proximity threshold, mint / red brand colors plus blue / red / mint / purple anchor accents, top-right medium dashboard.
อินดิเคเตอร์

Iridescent Helix [JOAT]Iridescent Helix
Iridescent Helix is a composite momentum oscillator that lives in a sub-pane and projects cross-pane visuals onto the price chart. The composite blends three orthogonal momentum legs into a single normalized score in the range -100 to +100. Above the math, it adds a layered iridescent ribbon, a breath-opacity histogram, gradient overbought / oversold zones, cross-pane iridescent candle recoloring, and an in-pane pivot divergence engine.
What makes it different
The composite blends three independent momentum lenses: a volume-weighted-median price distance, a Connors-style triple RSI, and a clamped volume Z-score. Smoothed with a Hull Moving Average to reduce phase lag while preserving sensitivity.
The visual stack uses seven plot layers per direction, hue-rotated through the bull or bear accent gradient, each layer at a different transparency and linewidth, producing a depth effect that single-color ribbons cannot match.
A breath-opacity histogram fades columns when momentum is decelerating and brightens them when momentum is accelerating, giving an at-a-glance read of momentum derivative.
An in-pane pivot divergence engine detects regular and hidden divergences and projects both as in-pane markers and as price-to-price connector lines on the price chart.
How it works
Volume-weighted median over a rolling window. Sort close prices ascending, accumulate volumes in that order. The price at which cumulative volume crosses half of total volume is the weighted median.
Composite equals 0.50 times the normalized distance from the volume-weighted median, plus 0.35 times the normalized Connors RSI, plus 0.15 times the clamped volume Z.
Hull-smoothed and scaled to centi-percent, clamped to the range -100 to +100. EMA(21) signal line drawn alongside.
Pivot divergence detection compares price pivots against composite pivots, gated to a 5-to-60-bar window between successive pivots.
Right-edge labels in the pane (composite, signal, volume Z) and on the price chart (cross-pane regime status).
Reading the chart
In-pane : seven-layer iridescent ribbon, breath-opacity histogram, volume-modulated zero line, overbought / oversold guide lines with gradient fills when the composite breaches them, composite-to-signal ribbon fill.
Cross-pane : iridescent candle recolor on price, divergence connector lines between price pivots, subtle reversal dots at extreme reversal closes, soft regime tint background when the composite is clearly above or below zero.
Right-edge label cluster : the pane shows current composite (with percentile rank), signal line, and volume Z. The price chart shows a single IRH summary label with composite value, percentile, and regime tag.
A right-edge state block lists current regime, zone (overbought, oversold, neutral), and bars since the last zero cross.
Signals
Bull / bear zero cross (composite re-crosses zero)
Overbought / oversold reversal (composite crosses back from an extreme)
Volume surge (volume Z above two)
Momentum acceleration / deceleration above a user-tunable threshold
Regular and hidden divergence detection (bull / bear pairs)
All gated on barstate.isconfirmed or barstate.ishistory. No future references. No lookahead_on.
Inputs
Composite : VW median length, volume Z length, overbought / oversold levels, divergence lookback, percentile envelope length.
Visual : bullish / bearish / accent / magenta colors, toggles for ribbon, histogram, iridescent candles, cross-pane reversal dots, divergence dots, percentile envelope, cross-pane regime tint.
Labels : pane right-edge cluster, pane state block, cross-pane IRH label, divergence lines, divergence labels, OB/OS event labels, zero-cross events, acceleration events.
Dashboard : position, size.
Alerts : acceleration magnitude threshold.
How traders use this
Trend continuation : open positions in the direction of the composite when it crosses zero from the appropriate side and the volume Z confirms.
Reversion plays : take fades when the composite reaches an extreme zone and momentum begins decelerating (histogram fades), particularly when supported by a regular divergence connector on the price chart.
Hidden divergence : in a clear trend, a hidden divergence is a continuation signal and can be used to add to existing positions on a pullback.
Cross-system confirmation : feed the composite into other JOAT scripts (for example Position Architect) as a signal source by connecting plots in the chart UI.
Limitations
The composite is a normalized smoothed reading, not a leading indicator. It quantifies present momentum strength and direction rather than predicting future direction.
Connors RSI and volume Z need warm-up bars before they stabilize.
Pivot divergence detection inherits the right-bar delay of pivot identification (the pivot is only confirmed several bars after the actual extreme).
HMA smoothing introduces a few bars of warm-up where the composite is unavailable.
Compatibility
Pine Script v6 open-source indicator (pane). Any symbol, any timeframe. Cross-pane elements use force_overlay=true. No request.security calls. Non-repainting (divergence pivots are confirmed-bar gated).
Defaults
Mint and red defaults, plus cyan (bull accent) and magenta (bear accent) hue-rotation targets. Top-right medium dashboard. All visualizations on. For fast intraday work, shorten the VW median length and the divergence lookback.
อินดิเคเตอร์

Parallax Regime Corridor [JOAT]Parallax Regime Corridor
Introduction
Parallax Regime Corridor is an open-source regime and corridor engine that blends trend efficiency, volatility state, structure change, and transition quality. It visualizes the active regime as a dynamic corridor and marks confirmed regime shifts or CHoCH-style structure changes.
Core Concepts
1. Adaptive Corridor
The corridor is built from an adaptive mean and ATR-based width. The band expands when volatility increases and contracts in quieter conditions.
2. Regime Candidate
Price location, trend slope, and directional evidence determine whether the candidate regime is bullish, bearish, or neutral.
3. Structure Change
Confirmed swing highs and lows are used to detect delayed bullish and bearish changes of character.
4. Transition Quality
The indicator scores whether volatility, trend, and structure agree before highlighting a shift.
5. Dashboard Context
The dashboard summarizes current regime, quality, volatility, structure, and recent shift state.
Features
Dynamic regime corridor: Adaptive mean and ATR width
Bullish, bearish, and neutral regimes: Clear state output
Confirmed CHoCH events: Uses pivot-confirmed structure references
Transition quality score: Combines regime and structure conditions
Candlestick coloring: Candles can reflect the active state
Top-right dashboard: Compact summary of state and quality
Input Parameters
Basis length controls the adaptive mean
ATR length and multiplier control corridor width
Pivot length controls structure sensitivity
Minimum score controls shift selectivity
How to Use This Indicator
Step 1: Read the corridor color
The corridor color identifies whether the script sees bullish, bearish, or neutral control.
Step 2: Watch shift events
Shift events show where the regime candidate changed on a confirmed bar.
Step 3: Treat CHoCH as delayed structure context
CHoCH events rely on pivot confirmation and should be interpreted as confirmed historical structure, not instant prediction.
Indicator Limitations
Pivot-based structure is delayed by the pivot length
Regime transitions can occur late during fast reversals
The corridor is a context layer, not a standalone trading system
Originality Statement
Parallax Regime Corridor combines adaptive corridor visualization, structure-change logic, volatility context, and transition scoring. It is designed to show how regime context evolves rather than simply plot a trendline.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Regime classifications can be wrong or late in unusual market conditions.
-Made with passion by jackofalltrades
อินดิเคเตอร์

Kivra Liquidity Nodes [JOAT]Kivra Liquidity Nodes
Introduction
Kivra Liquidity Nodes is an open-source right-edge volume profile that finds high-participation price areas inside a configurable lookback window. It distributes each bar's volume across price rows, smooths the result, highlights the point of control, and labels local liquidity nodes.
The problem it solves is volume context. A raw profile can show where trading occurred, but it often becomes visually heavy. Kivra Liquidity Nodes keeps the profile compact, separates bullish and bearish participation estimates, and prioritizes POC, value area, and node labels. The profile is offset to the right of price, while the lookback range and value area remain visible on the active chart so the levels have context.
Core Concepts
1. Price-Overlap Volume Allocation
Each bar contributes volume to every row it overlaps. This makes the profile more representative than assigning all volume to a single close price.
2. Participation Split
The script estimates bullish and bearish participation from candle direction and close location inside the bar range. This is a proxy designed for visual context, not bid/ask delta.
3. Smoothed Node Detection
Profile rows are smoothed with neighboring rows. Local peaks above an average-volume threshold become liquidity nodes.
4. Value Area Expansion
The value area expands from the POC until the selected portion of total profile volume is covered.
5. Context Bands and Candle Tinting
The script shades the full lookback range, marks the value area across the live price region, draws node bands across the profiled window, prints VAH/VAL and POC labels far to the right of the profile to avoid overlap, and can tint candles using a pressure blend from trend location and candle direction.
Features
Right-edge profile: Clean horizontal profile projected to the right of the chart
POC line and label: Dashed level marking the highest-volume row
POC line and label: Dashed level marking the highest-volume row with price and row volume
VAH and VAL labels: Right-edge value-area high and low labels with dotted guide lines
Value area boxes: Shaded profile zone plus live-chart value band across the lookback
Lookback range box: Subtle range boundary around the profiled window
Bull/bear split bars: Row coloring estimates directional participation
Node labels: Local high-volume nodes with participation share and volume
Node bands: High-participation node rows project back across the profiled price window
Offset label rail: POC, VAH/VAL, and node labels are projected beyond the histogram so they do not sit on top of the profile
Pressure candle tint: Candles can be softly colored from bearish red to bullish green using trend location and candle direction
No-volume fallback: Uses range proxy when reliable volume is not available
Top-right dashboard: POC, node count, value area width, bias, range, and source
Input Parameters
Calculation:
Lookback Bars: Historical bars used for the profile
Profile Rows: Vertical resolution of the profile
Profile Width: Maximum right-edge width
Profile Offset: Distance from current bar to the profile
Value Area Portion: Portion of total profile volume included in value area
Node Threshold: Required row strength for node detection
Node Merge Gap: Distance allowed between merged node peaks
Max Node Labels: Maximum labels drawn for detected nodes
How to Use This Indicator
Step 1: Use the POC as the dominant participation level in the current lookback.
Step 2: Use the value area to understand where volume is concentrated.
Step 3: Watch VAH and VAL as acceptance/rejection boundaries.
Step 4: Watch labeled nodes as potential reaction or acceptance zones.
Step 5: Read the dashboard bias and candle tint as context, not as standalone entry signals.
Indicator Limitations
Bull/bear participation is an estimate based on candle structure, not exchange bid/ask data
The profile is recalculated on the latest bar and depends on the selected lookback
High node count can add visual density on small screens
Volume data quality varies by market and symbol
Originality Statement
Kivra Liquidity Nodes is original in its compact right-edge implementation combining overlap-based volume allocation, smoothed node detection, value area expansion, participation split visualization, and no-volume fallback logic. It does not copy third-party source code.
Disclaimer
This open-source indicator is provided for educational and informational purposes only. It is not financial advice. Volume nodes identify historical participation zones and do not guarantee future reactions.
-Made with passion by jackofalltrades
อินดิเคเตอร์

Harbor Reversal Ledger [JOAT]Harbor Reversal Ledger
Introduction
Harbor Reversal Ledger is an open-source reversal timing indicator that combines completed higher-timeframe candle context with confirmed local RSI divergence.
The objective is not to predict turning points early.
The objective is to wait for enough evidence that a reversal thesis is becoming structurally credible.
Many reversal tools repaint because they depend on unfinished higher-timeframe candles or unconfirmed pivot comparisons.
Harbor Reversal Ledger avoids that by:
requesting completed higher-timeframe candles only
confirming RSI pivots before evaluating divergence
scoring confluence from multiple independent ingredients
projecting higher-timeframe structure onto the execution chart
rendering a timing ledger in its own pane
Core Concepts
1. Completed Higher-Timeframe Context
The script requests prior higher-timeframe candles rather than reading the currently forming candle.
This keeps the higher-timeframe pattern engine stable and non-repainting.
2. Candle Pattern Recognition
Bullish and bearish engulfing patterns can be enabled, and pin-bar style rejection patterns can also be used.
These patterns contribute directional context, not automatic entries.
3. Confirmed RSI Divergence
Local price and RSI pivots are both confirmed using left/right pivot logic.
Only after the pivots are locked does the script compare price progression against RSI progression to determine bullish or bearish divergence.
4. Distance-to-Extreme Scoring
Reversal evidence becomes more meaningful when price is still close to a recent extreme.
The confluence engine therefore includes distance-based scoring relative to a configurable lookback.
5. Projection and Confluence Zones
Completed higher-timeframe candles can be projected forward on the execution chart, while divergence events can create local confluence zones when the evidence stack is strong enough.
Features
Completed HTF candle projection: prior higher-timeframe range and body projected onto the chart
HTF pattern engine: bullish and bearish engulfing and pin-bar style patterns
Confirmed RSI divergence: bullish and bearish divergence using pivot confirmation
Dual-pane logic: overlay objects explain price context while the pane acts as a reversal timing ledger
Confluence scoring: combines HTF pattern, local divergence, and distance-to-extreme logic
Premium/discount context: position of price relative to the HTF midpoint is plotted
Confluence zones: optional chart zones highlight stronger bullish or bearish reversal regions
State-based RSI coloring: RSI line color reflects the current net confluence
Top-right dashboard: summarizes pattern state, divergence state, confluence, and location context
Non-repainting design: no unfinished HTF candles and no unconfirmed pivot divergence
Input Parameters
Higher Timeframe Context
HTF Candle Source
Enable Engulfing Patterns
Enable Pin Bar Patterns
Project Completed HTF Candle
Projection Offset Bars
Projection Width Bars
Execution Divergence
RSI Length
Pivot Left
Pivot Right
Show Divergence Lines
Show Confluence Zones
Confluence Engine
Distance Lookback
Distance Weight
Pattern Weight
Divergence Weight
Display
Show RSI State Fill
Dashboard Position
Dashboard Size
How to Use This Indicator
Step 1: Start With the Higher-Timeframe Projection
Use the projected completed candle to understand whether the larger reference bar is signaling rejection, acceptance, or neutrality.
Step 2: Wait for Local Divergence Confirmation
The script intentionally waits for confirmed pivots.
That delay is a feature, not a flaw.
Step 3: Read the Net Confluence, Not Just RSI
The pane is not meant to be treated like a normal RSI oscillator.
Its color and context matter because they reflect the broader reversal evidence stack.
Step 4: Use Confluence Zones as Areas of Interest
Zones identify places where the higher-timeframe context and local divergence align.
They are not guaranteed turning points.
Step 5: Respect the Directional Imbalance
If the higher-timeframe candle context is strongly bearish, a minor bullish divergence alone may not be enough to justify a reversal thesis, and vice versa.
Indicator Limitations
Confirmed divergence necessarily appears after the pivot forms, which introduces intentional timing delay
Higher-timeframe pattern quality depends on the selected timeframe and instrument behavior
RSI divergence can persist without immediate reversal in strong directional markets
Projection objects are context tools, not price targets
Originality Statement
Harbor Reversal Ledger is designed as a confluence ledger rather than a single-pattern reversal marker.
Its distinguishing structure comes from pairing completed higher-timeframe candle analysis, confirmed divergence, distance scoring, projected context, and pane-based confluence visualization into one disciplined, non-repainting timing framework.
Disclaimer
This indicator is provided for educational and informational purposes only.
It is not financial advice and should not be used as a standalone reason to enter or exit a market.
All reversal readings are based on historical chart data and can fail, especially in strongly trending or event-driven conditions.
Use proper risk management and independent judgment.
อินดิเคเตอร์

Compression Shift Index [JOAT]Compression Shift Index
Introduction
Compression Shift Index is an open-source Pine Script v6 indicator designed to detect transitions between compression and displacement. It measures whether price is storing energy in a tight state, whether that energy is beginning to release directionally, and whether the release is supported by enough pressure and travel efficiency to matter.
The problem this indicator solves is timing. Traders often recognize trend after the move is already mature, or they chase weak momentum bursts that never become true displacement. Compression Shift Index is built to distinguish between quiet compression, directional pressure, and confirmed shift conditions so the user can see whether price is merely active or whether a real state change is underway.
The script lives in its own pane, but it also projects tactical shift ranges onto the main chart. That means it can work as both a state engine and a visual execution aid. The pane handles classification and scoring. The overlay range preserves the high, low, and midpoint of the most recent active shift so price can be read against the trigger zone directly on the chart.
Rather than relying on one oscillator reading, the script blends moving-average spread, RSI of momentum, ATR expansion, path efficiency, and compression mathematics. The result is not a conventional trend tool. It is a state-transition tool built to show when stored pressure is becoming directional opportunity.
Core Concepts
1. Compression Score
Compression is measured by comparing the recent price range to ATR-normalized movement over a configurable window. As the range contracts relative to expected volatility, the compression score rises.
float compressionRatio = safeDiv(ta.highest(high, compressionLength) - ta.lowest(low, compressionLength), ta.atr(compressionLength) * compressionLength) * 100.0
float compressionScore = clamp(100.0 - compressionRatio, 0, 100)
This means the script is not labeling compression by candle size alone. It evaluates the market relative to its own volatility conditions.
2. Displacement Score
Displacement is measured through moving-average spread magnitude, RSI-based pressure away from neutrality, and fast-versus-slow ATR expansion. A high displacement score means price is no longer just compressed. It is pushing with enough directional force to deserve attention.
3. Pressure Confirmation
Directional pressure requires more than a large reading. Bullish pressure needs positive spread and price acceptance above the fast EMA. Bearish pressure requires the opposite. This creates a separation between raw movement and directional pressure that is actually aligned with the current path of price.
4. Shift Range Memory
When a confirmed bull or bear shift occurs, the script stores the initiating bar’s high and low, then extends that range for a configurable number of bars. As new bars arrive, the active range updates its upper and lower boundaries.
This transforms the shift from a momentary signal into a tactical map. The trader can judge whether price is holding inside the shift range, stretching away from it, or failing back through the structure.
5. Quality And Travel Efficiency
Not every shift is equal. The script measures path efficiency by comparing net travel to the cumulative path traveled across the efficiency window. That helps distinguish efficient directional release from noisy back-and-fill movement.
When displacement, pressure, and efficiency all align, the quality score rises. This is especially useful for separating impulsive continuation from unstable burst behavior.
Features
Compression and displacement state engine: Differentiates quiet conditions from directional release
Bull and bear shift detection: Confirms directional shifts only after displacement and pressure criteria align
Tactical overlay range: Projects the active shift high, low, and midpoint onto the main chart
Ribbon bias display: Adds a visual ribbon showing directional pressure inside the pane
Travel efficiency scoring: Measures whether displacement is clean or noisy
State backdrop and candle tinting: Tints both pane and chart context according to the current state
Detailed dashboard: Publishes compression, displacement, ATR ratio, heat, range, stretch, velocity, efficiency, quality, and persistence
Confirmed-bar alerts: Includes compression, bull shift, bear shift, pressure, release, fade, and quality-state alerts
Data-window exports: Makes many internal scores accessible without adding extra plots to the pane
Range-aging logic: Tracks how long the active shift has been in effect
Visual Elements
Pane state curves: The net shift, compression, and displacement lines provide a layered read of current state
Ribbon bias fill: The pane ribbon helps show whether directional pressure is leaning bullish or bearish before full shift confirmation
Overlay shift range: The active high, low, and midpoint are projected onto the price chart for tactical context
Backdrop and candle tinting: The indicator colors both pane and chart state to make transitions easier to identify at a glance
Dashboard diagnostics: The top-right panel summarizes metrics that would otherwise require several separate indicators
Best Practices
Wait for displacement to dominate compression before assuming a move has truly released
Use high-quality shifts as higher-priority context than low-efficiency state changes
Read the active shift range as a tactical map, not as a guarantee that price will respect every boundary
If pressure improves but displacement remains weak, treat the move as developing rather than already established
Use the state engine to filter your existing entries instead of trying to trade every alert in isolation
Input Parameters
Signal Engine:
Fast MA Length: Sets the fast trend reference
Slow MA Length: Sets the slow trend reference
Compression Window: Defines the state lookback for range contraction
RSI Length: Sets the smoothing period for momentum pressure evaluation
Momentum Length: Defines the raw momentum lookback
Thresholds:
Compression Threshold: Determines how compressed the market must be to count as compressed
Displacement Threshold: Determines how forceful the move must be to count as a shift
Shift Hold Bars: Controls how long the active shift range remains alive
Efficiency Length: Sets the path-efficiency lookback
Show Trigger Range: Toggles the projected overlay range on the chart
Visual Language:
Bull and bear color pairs
Neutral color and panel background
Show Dashboard toggle
Show State Backdrop toggle
Show State Ribbon toggle
How to Use This Indicator
Step 1: Identify The Current State
Start with the dashboard and pane. If compression is dominant, the market is still storing energy. If bull or bear pressure is present, directional force is building. If a bull or bear shift is confirmed, the state transition has already occurred.
Step 2: Compare Compression To Displacement
The most useful read is not the absolute number alone, but the relationship between compression and displacement. When compression is high and displacement is still low, the market is coiled. When displacement overtakes compression, the release phase is gaining control.
Step 3: Use The Active Shift Range
Once a shift is active, watch the projected upper, lower, and midpoint lines on the main chart. These define the tactical zone created by the displacement event. Price behavior around that range often provides better context than the signal bar alone.
Step 4: Check Quality And Efficiency
A high-quality state means the release is not only directional but also relatively efficient. If quality is weak, treat the shift more cautiously because the move may be noisy or unstable.
Step 5: Use It As A State Filter
Compression Shift Index is most effective as a state filter for your own process. It can help you avoid forcing breakout logic during compression and avoid fading a move that is still in active displacement.
Indicator Limitations
Compression does not guarantee that a strong displacement event will follow immediately
A shift can fail quickly if the broader market context does not support follow-through
Travel efficiency can lag during early release phases because noisy price action is still being absorbed into the lookback
The active shift range is a tactical reference zone, not an automatic support or resistance guarantee
Originality Statement
Compression Shift Index is original in the way it turns compression, displacement, pressure, efficiency, and range memory into one unified transition model. It is not simply an oscillator blend for cosmetic effect:
It frames compression and release as a state transition rather than a single threshold cross
It preserves the originating shift range on the main chart, which links pane analysis to execution context
It includes efficiency and velocity metrics that help separate orderly displacement from noisy expansion
It uses a dashboard that summarizes the full state stack rather than forcing the user to infer everything from one line
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. Compression and displacement readings describe market state, not guaranteed future direction. Markets can remain compressed longer than expected or reverse immediately after a shift appears. Always use independent judgment and proper risk management.
-Made with passion by jackofalltrades
อินดิเคเตอร์

Aperture Imbalance Register [JOAT]Aperture Imbalance Register
Introduction
Aperture Imbalance Register is an open-source Pine Script v6 indicator built to detect, rank, and manage directional imbalance zones in a more structured way than a basic fair value gap overlay. Instead of marking every raw three-candle gap and leaving the trader to judge which ones matter, the script builds a register of active bullish and bearish imbalance zones, measures their internal lower-timeframe participation, assigns a quality score, tracks mitigation progress, and keeps the resulting stack visible with a compact institutional-style dashboard.
The problem this indicator solves is selectivity. Many imbalance tools show too many zones, retire them too slowly, or provide no context for which inefficiencies are likely to matter. Aperture Imbalance Register focuses on the active imbalance stack and grades each register by combining gap displacement with lower-timeframe volume participation. That lets the trader see not only where imbalance exists, but how concentrated the internal participation was when the zone formed.
The script is designed for traders who use imbalance as part of a broader market-structure process. It is not trying to predict every reversal. It is designed to answer practical chart questions: where are the open directional inefficiencies, how strong are they, how much of each zone has been mitigated, and whether the current stack favors bullish or bearish continuation pressure.
Because the script uses Pine Script v6 lower-timeframe arrays, the register is not just a visual box painter. It uses lower-timeframe intrabar data to build participation histograms inside each zone, identify the local point of control of the imbalance, and display whether a register still has open space or has already been substantially repaired by later price action.
Core Concepts
1. Confirmed Bullish and Bearish Gap Detection
The script detects a bullish register when the current low is above the high from two bars ago and the middle bar confirms continuation. It detects a bearish register with the inverse condition. A sigma-style filter based on the statistical size of the gap helps reject weaker dislocations:
bool confirmedBullGap = enoughGapHistory and barstate.isconfirmed and low > high and high > high and bullGapSigma > gapSigma
bool confirmedBearGap = enoughGapHistory and barstate.isconfirmed and high < low and low < low and bearGapSigma > gapSigma
This means the indicator is not plotting every minor price skip. It requires both structural displacement and a size filter before a new register is added to the active stack.
2. Lower-Timeframe Participation Ranking
Once a gap is confirmed, the script requests lower-timeframe `close` and `volume` data using `request.security_lower_tf()` and maps intrabar participation into configurable bins across the zone. That participation profile is then used to score the register.
This matters because not all imbalances are equal. Some form with broad participation spread across the full zone. Others form with concentrated acceptance in one portion of the gap. The participation histogram helps identify where the market transacted most heavily inside the register and where the imbalance may be most meaningful on a retest.
3. Quality Scoring and Register Prioritization
Each register receives a quality score derived from the concentration of lower-timeframe participation plus the size of the gap sigma event. Higher-quality zones get more visual emphasis, stronger edges, and greater dashboard influence.
In practice, this creates a hierarchy. The trader does not need to treat every imbalance equally. The register list naturally emphasizes the zones with stronger displacement and denser participation.
4. Mitigation Tracking and Lifecycle Management
Open imbalance is not enough. What matters is whether the zone remains unfilled. The script measures mitigation depth as price trades back into the register and updates the display from open to partial mitigation to fully filled. When the `Retire Fully Mitigated Zones` option is enabled, fully repaired or invalidated zones are removed from the active stack.
This keeps the chart cleaner and prevents stale boxes from dominating the view after the market has already rebalanced the inefficiency.
5. Participation Histogram and Local POC
Each register can display a small internal histogram showing participation intensity by price segment. The maximum participation bin defines the register’s local point of control, and that level is drawn as a line through the zone.
This gives the register more structure than a plain box. Instead of just seeing the outer bounds, the trader can see where activity concentrated inside the imbalance.
Features
Bullish and bearish imbalance registers: Detects confirmed gap-style inefficiencies in both directions using confirmed-bar logic
Lower-timeframe participation model: Uses lower-timeframe arrays to rank each register by internal participation rather than gap presence alone
Quality scoring: Combines participation concentration and sigma displacement into a single register score
Mitigation tracking: Continuously estimates how much of each register has been repaired by later price action
Automatic lifecycle retirement: Fully mitigated or invalidated zones can be retired automatically to reduce clutter
Internal histogram bars: Optional profile bars show where lower-timeframe participation concentrated inside the zone
Point-of-control line: Each register maintains a local participation midpoint for tactical reference
Midline support: Optional dotted midpoint line helps visualize the fair center of the register
Dashboard summary: Displays bull count, bear count, mitigated count, average quality, best quality, stack count, and bias
Data-window exports: Publishes stack bias, quality sum, and active register count for downstream reading
Visual Elements
Register boxes: The outer body of each imbalance zone shows whether price is dealing with bullish or bearish open inefficiency
Participation bars: Optional internal profile bars highlight where lower-timeframe participation concentrated inside the register
Midline and POC references: The centerline and participation high point help identify the most important sub-levels inside the zone
Adaptive edge intensity: Stronger registers receive more visual emphasis than weaker ones
Mitigation labels: Each register updates from open to mitigation to filled so the chart communicates lifecycle state directly
Best Practices
Use the register stack as context, then let your own execution model decide entries
Favor high-quality registers that align with broader structure instead of reacting to every new zone
Treat partial mitigation as a sign that some imbalance has already been repaired, not as automatic invalidation
Be especially careful on symbols with poor lower-timeframe data because internal participation quality can degrade
If the active stack flips from one side to the other quickly, read that as changing imbalance context rather than a guaranteed reversal signal
Input Parameters
Intrabar Data:
Auto Lower Timeframe: Automatically derives a lower timeframe for participation analysis
Custom Lower Timeframe: Allows manual lower-timeframe selection when auto mode is disabled
Calculation Depth: Controls how much lower-timeframe history is requested
Imbalance Detection:
Gap Sigma Filter: Sets the minimum displacement strength required for a new register
Participation Bins: Controls how many internal profile slices are built inside each zone
Max Active Registers: Limits how many open registers remain on the chart at once
Retire Fully Mitigated Zones: Removes zones once they are effectively repaired or invalidated
Lifecycle And Display:
Extend Active Zones: Extends open registers to the right for forward reference
Show Participation Histogram: Displays the internal lower-timeframe bar profile
Show Midline: Draws a dotted centerline through each register
Show Dashboard: Enables the top-right summary panel
How to Use This Indicator
Step 1: Read the Stack Bias
Start with the dashboard. Compare the bullish and bearish active register counts and note the stack bias value. A positive bias means bullish imbalance is dominating the active structure. A negative bias means bearish imbalance is dominating.
Step 2: Focus on Quality, Not Quantity
Use the average and strongest quality readings to judge whether the active stack is meaningful. A chart with fewer but stronger registers is often more actionable than a chart with many weak inefficiencies.
Step 3: Watch Mitigation Progress
Each active register updates from open to partial mitigation to filled. Open registers represent unresolved inefficiency. Deeply mitigated registers have already lost part of their tactical edge.
Step 4: Use The Internal Profile
When the participation histogram is enabled, look for bins that concentrated most of the intrabar volume. The local point of control and denser profile segments often become the most useful retest references inside the wider zone.
Step 5: Apply It As Context, Not A Standalone Trigger
Aperture Imbalance Register works best as a context layer. It helps frame whether an imbalance stack is supporting continuation or warning of unresolved opposing pressure. Use it with your own structure, execution, and risk model.
Indicator Limitations
Because the script uses lower-timeframe data requests, realtime behavior can differ slightly from historical behavior as new intrabars accumulate inside the live bar
Mitigation does not guarantee reversal or continuation. It only shows how much of the zone has been traded back through
A strong register can still fail if broader market structure, liquidity, or volatility conditions change
On very low-history charts or symbols with thin lower-timeframe data, participation quality can be less informative than on liquid instruments
Originality Statement
Aperture Imbalance Register is original in the way it treats imbalances as managed registers rather than passive boxes. The script is published because it contributes more than a generic fair value gap mashup:
It ranks each imbalance with a lower-timeframe participation model instead of drawing every gap with equal importance
It combines gap displacement, intrabar participation, mitigation tracking, and internal histogram rendering into a single workflow
It maintains a tactical register stack with lifecycle management rather than leaving stale zones permanently on the chart
It exposes stack-level information through a dashboard and data-window fields so the indicator can be read systematically
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. Imbalance zones are analytical references based on historical price behavior and lower-timeframe participation, not guarantees of future reaction. Markets can rebalance, ignore, or invalidate any zone without warning. Always use proper risk management and independent judgment.
-Made with passion by jackofalltrades
อินดิเคเตอร์

Aegis Arc Framework [JOAT]Aegis Arc Framework
Introduction
Aegis Arc Framework is an open-source anchored-trend overlay built to classify directional pressure through the interaction of three continuously updated reference systems: a confirmed trailing arc, anchored VWAP regime alignment, and ATR-normalized extension pressure. The script is designed to provide structured directional context without relying on repainting shortcuts or visually noisy retail markers.
The main problem Aegis Arc Framework solves is trend persistence versus trend exhaustion. Price can remain above a trailing framework while already becoming stretched relative to value. It can also reclaim value while a trend is still technically intact. Aegis addresses that by combining a ratcheting confirmed trail with session, weekly, and monthly VWAP context so the user can distinguish continuation, weak extension, and blocked transition states.
Core Concepts
1. Anchored VWAP Regime Gate
The indicator maintains manually anchored session, weekly, and monthly VWAP references and checks whether the active trend is aligned with those value anchors. Depending on the selected mode, the gate can require Session, Week, Month, Any, or All alignment before the dashboard and confirmed state fully agree with the direction of the arc.
bool s = bullish ? close >= vwapSession : close <= vwapSession
bool w = bullish ? close >= vwapWeek : close <= vwapWeek
bool m = bullish ? close >= vwapMonth : close <= vwapMonth
2. Ratcheted Arc Trail
The main trail is not a static moving average. It is a ratcheting arc that updates on confirmed bars, accelerates toward the active target band, and decays its internal velocity over time. This makes the line responsive during directional expansions while still preserving a smooth institutional appearance.
3. Extension Pressure
Distance from the active anchored VWAP is normalized by ATR and converted into an acceleration modifier. When price becomes stretched from value, the trail responds more aggressively. This helps expose when a trend is still directional but increasingly extended.
4. Confirmed Flip Logic
A trend flip is only confirmed on closed bars. The trail state does not anticipate future movement or use future references. This keeps the overlay safe for real-time use and consistent with non-repainting publication standards.
5. Forward Flip Levels
Each confirmed directional transition creates a horizontal level that extends forward until invalidated or aged out. These levels act as persistent decision references and help frame whether price is defending or losing prior transition zones.
Features
Anchored value logic: Session, weekly, and monthly VWAP tracking with selectable regime gate modes
ATR-based arc framework: Confirmed-bar ratcheting trail with velocity decay and acceleration logic
Extension awareness: ATR-normalized distance from value used to classify whether the active move is orderly or stretched
Persistent transition levels: Confirmed flip levels extend forward and self-clean when broken or aged out
Institutional visual shell: Trail glow, clean cloud fill, optional candle tint, and compact top-right dashboard
No retail markers: The script avoids arrows and clutter-focused signal decoration
Confirmed-bar logic: Trend transitions and level invalidations are gated by confirmed bars only
Input Parameters
Core Trajectory:
ATR Length
Trail Distance (ATRx)
Base Acceleration
Velocity Decay
Velocity Cap
Minimum Chase / Maximum Chase
Run Window
Minimum Flip Gap
VWAP Regime:
Regime Mode: Session, Week, Month, Any, All
VWAP Speed Boost
Show Selected VWAP
Visual System and Levels:
Bull, bear, and neutral palette controls
Cloud, trail glow, and candle tint toggles
Confirmed flip level styling and retention controls
Dashboard display toggle
How to Use This Indicator
Step 1: Read the active regime
Check whether price is above or below the confirmed trail and whether the dashboard shows value alignment with the selected anchored VWAP mode.
Step 2: Judge extension
Use the extension and acceleration rows in the dashboard to determine whether the move is orderly or increasingly stretched from anchored value.
Step 3: Use flip levels as structure references
When a confirmed transition occurs, the generated forward level becomes a practical decision point for retests, failures, and continuation checks.
Step 4: Combine with execution tools
Aegis is best used as a directional and structural context layer. It can filter other entry models by allowing long setups only when the trail and value regime agree, and short setups only when the opposite condition is present.
Indicator Limitations
Anchored VWAP alignment may temporarily lag during very early reversals, especially when a higher anchor such as the weekly reference is selected
The arc can tighten quickly during extreme volatility because acceleration is intentionally sensitive to extension pressure
Flip levels are contextual structure references, not guaranteed support or resistance
The script classifies directional state and extension; it does not predict future price movement
Originality Statement
Aegis Arc Framework is original in the way it combines a confirmed ratcheting trail, anchored VWAP regime gating, extension-driven acceleration, and managed forward flip levels into one coherent overlay. It is published because the combination is meaningfully different from a standard SuperTrend, a standalone VWAP overlay, or a simple trailing stop line.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice and does not recommend any specific trade or investment. All calculations are derived from historical and real-time chart data and can produce false signals. Trading involves substantial risk. Always use independent judgment and risk management.
อินดิเคเตอร์

Session Range Architecture [JOAT]Session Range Architecture
Introduction
Session Range Architecture (SRA) is an open-source, institutional-grade session killzone engine that captures the opening range of the Tokyo, London, and New York trading sessions as live price-tracking boxes, draws high, low, and mid extension lines that persist after each session closes, and fires rejection signals when price wicks beyond a session extreme and closes back inside. Signals are filtered by an EMA alignment stack (EMA 4, EMA 5, and EMA 750) and confirmed exclusively on closed bars. ATR-based stop loss and take profit boxes visualize each signal's risk/reward from entry. Per-session and aggregate win rate statistics are tracked and displayed in a configurable dashboard.
The core problem SRA solves is the repetitive, daily manual work of marking opening range boxes for each session. ICT methodology identifies the first portion of each killzone as the period during which institutional order flow establishes the session's directional bias — the high and low of that range become the primary intraday reference levels. When price returns to those levels later in the session or in the following session and creates a wick rejection, it signals a potential liquidity grab and reversal opportunity. SRA automates the full process from box construction through signal detection to trade outcome tracking.
Core Concepts
1. Session Opening Range Construction
Each session's opening range is built dynamically during the configurable range window (default: first 15 minutes of each session). The high and low of every bar within that window expand the range in real time. At the end of the window, the range is finalized and stored as a SessionRange user-defined type containing the box, three extension lines (high, low, mid), and the session label:
if inTokyo and not tokBuilding
tokHi := high
tokLo := low
tokOpenBar := bar_index
tokBuilding := true
else if inTokyo and tokBuilding
tokHi := math.max(tokHi, high)
tokLo := math.min(tokLo, low)
2. Extension Lines
When a session's range window closes, three horizontal lines are drawn extending rightward from the range: a dashed line at the session high (buy-side liquidity), a dashed line at the session low (sell-side liquidity), and a dotted line at the session midpoint (50% equilibrium reference). These lines persist on the chart as long-term structural reference levels beyond the session itself.
3. Rejection Signal Detection
A rejection is detected when a bar's wick pierces a session high or low and the close returns inside the range. A minimum wick percentage filter ensures the penetration is meaningful relative to total candle range — trivial pokes are excluded. For a bullish rejection at a session low (price swept below, closed above), the setup is treated as a potential long opportunity. For a bearish rejection at a session high, it is treated as a short opportunity.
4. EMA Alignment Filter
Signals are optionally filtered by a simplified EMA alignment check: bullish signals require EMA 4 above EMA 5 and price above EMA 750; bearish signals require EMA 4 below EMA 5 and price below EMA 750. This ensures rejection signals at session levels are taken in the direction of the prevailing trend structure rather than against it.
5. ATR-Based Trade Visualization and Tracking
On each confirmed signal, ATR-based stop loss and take profit boxes are drawn from the entry close. Outcome is checked on subsequent bars — if price hits the SL or TP, the trade is recorded, counters for the originating session are updated, and the box color changes to reflect the result.
Features
Three Independent Session Ranges: Tokyo, London, and New York opening ranges built automatically each day — individually configurable with independent colors and visibility toggles
Configurable Range Window: Opening range capture window length adjustable from 5 to 60 minutes to match different analysis styles
Extension Lines: Session high, low, and mid extension lines drawn from completed ranges and extended rightward as persistent liquidity reference levels
Rejection Signal Detection: Wick-beyond, close-inside detection at session extremes with minimum wick percentage filter
EMA Alignment Filter: EMA 4/5 cross direction and EMA 750 price side required for signal confirmation — configurable on/off
ATR TP/SL Visualization: Risk and reward boxes from each entry bar — default 1.5× ATR stop, 3:1 reward ratio, fully adjustable
Session Win Rate Tracking: Independent win/loss/total counters for Tokyo, London, and New York sessions
Session History Management: Oldest range boxes automatically trimmed to prevent chart clutter (configurable maximum)
Non-Repainting: All signals gated on barstate.isconfirmed — session ranges never move backward
Timezone Configuration: Session windows evaluated relative to a configurable timezone to handle exchange-specific session times
Dashboard (Top Right): Per-session win/loss/rate table for Tokyo, London, NY, and aggregate total with color-coded performance rows
Session Background Tints: Subtle color fills applied to the chart background during Tokyo, London, and NY range-building windows — visually delineates the opening range capture period for each session in real time
Session Name Labels on Range Boxes: Session name label placed at the midpoint of each finalized range box — immediately identifies which session produced each visible range without requiring manual reference
EMA Alignment State in Dashboard: Current EMA alignment state (BULL ALIGN / BEAR ALIGN / NEUTRAL) displayed in the dashboard — provides a one-glance structural context for the active session
Live ATR Value in Dashboard: Current ATR value shown in the dashboard — communicates the prevailing volatility level used for TP/SL sizing at any given moment
Expanded Dashboard (8 Rows): Dashboard expanded to 8 rows — now includes EMA alignment state and live ATR value alongside the existing per-session win rate breakdown
Input Parameters
Session Settings:
Chart Timezone: Timezone for session window evaluation (default: America/New_York)
Show Tokyo / London / New York Range: Independent visibility toggles per session
Range Window (minutes): Opening range capture duration (default: 15)
EMA Filter:
Fast EMA: Period for fast EMA (default: 4)
Slow EMA: Period for slow EMA (default: 5)
Trend EMA: Period for long-term trend filter EMA (default: 750)
Require EMA Alignment: Toggle filter on/off (default: enabled)
Risk Settings:
ATR Length: ATR period (default: 14)
ATR SL Multiplier: Stop loss ATR distance (default: 1.5)
Reward:Risk Ratio: TP as multiple of SL distance (default: 3.0)
Show TP/SL Boxes: Toggle TP/SL visualization (default: enabled)
Signal Settings:
Require Rejection Wick: Toggle minimum wick filter (default: enabled)
Min Wick % of Range: Minimum wick size relative to candle range (default: 55%)
How to Use This Indicator
Step 1: Identify Session Range Levels
Each session's opening range box shows the high, low, and midpoint established during the opening window. These are the primary liquidity reference levels for that killzone. Extension lines persist after the session box closes, continuing to mark those price levels as the day progresses.
Step 2: Monitor for Rejection Signals
When price wicks beyond a session extreme and closes back inside, a rejection signal is generated. This event represents a liquidity grab — the market took the stops placed beyond the session extreme and reversed. The signal fires at the close of the rejecting bar, confirmed on that candle only.
Step 3: Confirm EMA Alignment
With the EMA filter enabled, only signals aligned with the current EMA 4/5 direction and EMA 750 trend side are triggered. This avoids trading session rejections against the prevailing structural trend.
Step 4: Manage Risk with TP/SL Boxes
The ATR-based TP/SL boxes extend from the entry close and show the exact risk/reward zone for each trade. The stop is placed 1.5× ATR from entry; the target is 3× that distance by default. Both are adjustable.
Step 5: Review Session Performance
The per-session win rate table shows which session ranges have historically produced the best rejection setups on the current instrument and timeframe. Use this to focus attention on the sessions with the strongest empirical edge.
Indicator Limitations
Session detection is based on time windows relative to the selected timezone. Instruments that observe daylight saving time shifts differently from the selected timezone may require manual session string adjustment during DST transitions
The opening range window is fixed in minutes. On timeframes coarser than the window (e.g., a 30-minute chart with a 15-minute range window), the range will capture only one or two bars, which may not accurately represent the opening range
The EMA 750 requires 750 bars of history to produce an accurate value. On instruments with limited history or on very long timeframes, the first 750 bars will show an inaccurate trend filter — use the indicator on instruments and timeframes with sufficient historical data
Session win rate counters are maintained within the current chart load session and reset when the indicator is refreshed. They reflect historical outcomes up to the current chart's loaded data, not a permanent multi-year backtest
Rejection detection uses bar closes. On timeframes with large candles (daily, weekly), a wick rejection at a session range level may span multiple intraday sessions, making the signal less precise for intraday execution
Originality Statement
SRA automates the full three-stage session range workflow — range construction, level monitoring, and rejection detection — within a single indicator, with per-session outcome tracking and EMA trend filtering. This is original for the following reasons:
The dynamic range construction (high/low expanding bar-by-bar during the opening window, then finalizing on window close) replicates the manual process of drawing opening range boxes in real time, including live box expansion during active sessions — behavior not available from static horizontal lines
Extension lines at the session high, low, and midpoint persist beyond the session box as separate structural reference levels, providing a layered view of session-specific liquidity without requiring additional drawings
The rejection detection system operates across all three active session ranges simultaneously in a single scan loop, identifying which specific session range produced the signal and tagging it for session-specific outcome tracking
The EMA alignment stack (fast EMA cross direction + long-term trend EMA) applied as a prerequisite filter to session rejection signals combines institutional level-based methodology with trend confirmation in a single indicator rather than requiring a separate trend indicator
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. Session range levels and rejection signals are historical reference points. Price does not respect these levels in all market conditions, and rejection signals do not guarantee a reversal. Session win rates are derived from historical bar data and do not predict future performance. 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
อินดิเคเตอร์

Structural Momentum Bias [JOAT]
Structural Momentum Bias
Introduction
Structural Momentum Bias is an overlay indicator that combines pivot-based market structure classification with a double-smoothed momentum band system to identify the current market regime and its directional bias. The indicator continuously tracks swing highs and lows, classifies them as higher highs, lower highs, higher lows, or lower lows, and scores momentum strength on a 0-5 scale using band position and structure alignment. A break-of-structure detection system marks confirmed liquidity shifts in real time.
The core problem this indicator addresses is the disconnect between price structure and momentum. Many traders either follow structure without measuring momentum strength, or use oscillators without understanding what market structure those signals occur within. This indicator unifies both, producing a regime label (Bullish, Bearish, or Ranging) backed by a quantified score. A regime classification without a corresponding score is ambiguous. A score without regime context is incomplete. Together they provide a clearer picture of where the market is and how strongly it is in that state.
Core Concepts
1. Double-Smoothed Baseline (SMEMA)
The baseline uses a two-pass smoothing method: an EMA applied to price, followed by an SMA applied to that EMA. This reduces noise while maintaining responsiveness. It outperforms a simple MA in choppy markets because the double-pass eliminates high-frequency oscillations that cause false regime flips. The baseline slope (rising or falling) is one input into the regime classification.
2. Dynamic Step Channel
The channel bands are not fixed multiples of ATR. Instead, they use the 100-bar average of the high-low range as the step unit, producing three tiers of bands above and below the baseline. This approach adapts to each instrument's natural swing amplitude without requiring manual calibration per market. Each band tier has a gradient color that intensifies as price approaches that level from within the channel, providing visual distance context.
3. Pivot-Based Structure Classification
Swing highs and lows are identified using confirmed pivots (lookback left and right bars). The indicator classifies the relationship between successive pivots as HH (higher high), LH (lower high), HL (higher low), or LL (lower low). These four states are combined to determine whether structure is bullish (HH + HL), bearish (LH + LL), or mixed. Importantly, pivot detection is offset by the lookback period, so no repainting occurs — a pivot is only confirmed when enough subsequent bars have closed to validate it.
4. Momentum Strength Score (0-5)
The score adds one point for each of: price above band tier 1, price above band tier 2, price above band tier 3, higher high present, and higher low present (inverted for bearish scoring). This produces a 0-5 integer that quantifies how strongly the market is expressing the current regime. A score of 5 in a bullish regime means price is extended above all three band tiers with confirmed higher highs and higher lows — a strongly trending condition. A score of 1 or 2 suggests marginal or weakening conditions.
5. Break of Structure (BOS) Detection
A bullish BOS is confirmed when price closes above the most recent swing high on a confirmed bar. A bearish BOS is confirmed when price closes below the most recent swing low. The BOS line is drawn from the pivot bar to the current bar and extends right, with a thick transparent shadow line providing visual depth. BOS detection only fires on barstate.isconfirmed, preventing any repainting.
Features
Regime Dashboard: 9-row dark-themed table showing regime, baseline direction, bull score, bear score, structure state, ATR, and last BOS
Dynamic Momentum Bands: Six gradient-colored bands (three above, three below) that visually represent price position within the momentum channel
SMEMA Baseline: Color-coded by regime, changes in real time as regime shifts
Break of Structure Lines: Thin solid + thick ghost dual-line rendering at confirmed structural breaks, extending to the current bar
Confirmed Pivot Dots: Small circles at each confirmed swing high and low, plotted at the exact pivot bar
Bar Coloring: Candles are colored by current regime state
Band Fill Gradients: Fill between band tiers intensifies based on price proximity
Input Parameters
Structure Settings:
Pivot Lookback: Number of bars left and right required to confirm a pivot (default: 5)
Baseline Length: Period for the SMEMA double-smoothed baseline (default: 10)
Show Structure Breaks: Toggle BOS line rendering
Visual Settings:
Dashboard toggle and position
Momentum Bands toggle
Bullish, Bearish, and Ranging color inputs
How to Use This Indicator
Step 1: Read the Regime
The dashboard label and bar coloring immediately show the current regime. Bullish requires the baseline to be rising and a momentum score of 2 or more.
Step 2: Assess Score Strength
A score of 4-5 indicates a well-developed trend with band extension and confirmed structure. A score of 1-2 suggests the regime is marginal and may not sustain.
Step 3: Watch for BOS Events
A BOS in the direction of the regime adds confirmation that a structural shift has occurred. A counter-regime BOS is an early warning that conditions may be changing.
Step 4: Use Bands for Context
Price returning to the baseline from above in a bullish regime is a potential pullback entry area. Price extending above band tier 2 or 3 suggests overextension.
Limitations
The pivot confirmation delay (lookback bars) means BOS signals and pivot markers appear several bars after the actual swing point. This is a deliberate design choice to prevent repainting
The regime score of 2 as the minimum threshold for classification means borderline conditions will oscillate between Ranging and a directional regime on consecutive bars
The SMEMA baseline is smoother than a standard EMA but still lags price. In fast-moving markets this lag may cause regime flips after significant portions of a move have already occurred
Band width is determined by the 100-bar average of bar ranges. In markets with sudden volatility regime changes (such as after news releases), the bands may not reflect the new volatility environment for many bars
Originality Statement
This indicator is original in its specific combination of elements and the scoring framework it produces. The justification for combining structure detection with a band-based scoring system is that neither component alone provides actionable context. Structure alone (HH/HL) says direction but not strength. Bands alone say relative position but not structural validity. The 0-5 score synthesizes both into a single conviction metric. The double-smoothed baseline (EMA of EMA, then SMA) is a deliberate design choice that reduces false regime flips without the extreme lag of longer single-pass averages. The dynamic step channel uses bar range (not ATR) as its unit, which scales naturally with each instrument's price action characteristics.
Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past structural patterns do not guarantee their repetition. A bullish regime classification does not predict future price direction. Always apply proper risk management. The author is not responsible for any trading losses.
-Made with passion by officialjackofalltrades
อินดิเคเตอร์
