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
Indicator

Cascade Liquidity Zones [JOAT]Cascade Liquidity Zones
Introduction
Cascade Liquidity Zones is an open-source institutional stop-hunt and liquidity zone detector built around the mechanics of how large participants move price through retail stop clusters before reversing. It identifies demand and supply zones from pivot-impulse structures, scores them by quality, confirms sweep events with multiple filters, and marks potential failure entry patterns — all within a single indicator that requires no additional tools to interpret.
The foundational premise is that price routinely sweeps beyond visible structural levels to trigger stop orders placed by retail participants, before institutional participants absorb the liquidity generated and reverse price. Identifying these events in advance, tracking the zones where they are likely to occur, and confirming them with volume and wick rejection filters produces a framework for anticipating institutional reactions at structural extremes.
Core Concepts
1. Pivot-Impulse Zone Creation
Demand zones are formed from confirmed pivot lows and supply zones from confirmed pivot highs. Each pivot creates a zone spanning a configurable ATR multiple, representing the area of institutional activity around that structural level. Zones are scored using a three-component Impulse Quality Score:
f_score(idx) =>
bodyR = math.abs(close -open ) / math.max(high -low , syminfo.mintick)
volR = volume / ta.sma(volume, 20)
atrR = (high -low ) / ta.atr(14)
(bodyR*40.0) + (math.min(volR,4.0)/4.0*35.0) + (math.min(atrR,3.0)/3.0*25.0)
This scores the impulse candle by three factors: directional body conviction (40%), volume participation relative to average (35%), and range size relative to ATR (25%).
2. Four-Layer Glow Zone Visualization
Each zone is drawn as four concentric boxes expanding outward from the core zone level, with decreasing opacity on each outer layer. This creates a visual glow effect that communicates zone location and zone type at a glance. Demand zones use the bull theme color; supply zones use the bear theme color.
3. Sweep Confirmation Engine
A demand zone sweep is confirmed when all of the following conditions pass simultaneously on a confirmed bar: minimum wick penetration percentage, close back inside or above the zone, volume exceeds average by a configurable multiple, wick rejection percentage exceeds minimum threshold, cooldown period elapsed, and optional pattern filters pass.
4. Failure Entry Engine
An alternative entry mode detects price failure patterns at pivot levels. A bullish failure occurs when price wicks below the most recent confirmed pivot low and closes back above it on the same bar, with the wick exceeding a minimum ATR size and a minimum rejection percentage. This targets trapped short-sellers at pivot extremes.
5. Zone Flip Mechanics
When price closes fully through a demand zone, that zone flips to a supply zone — its color changes from bull to bear theme color and it becomes eligible for short-side sweeps. This reflects the structural concept that broken support becomes resistance.
6. Liquidity Value and Hold Percentage
Each zone tracks cumulative volume × price product from its origin bar, displayed as a liquidity value label ($K, $M, $B). Zones also track how many times price has touched and rejected from them without breaking through, expressed as a hold percentage.
Features
Pivot-impulse zone creation: Demand and supply zones built from confirmed structural pivot points, scored by impulse quality
Three-component impulse quality score: Body conviction, volume participation, and ATR-relative range scored at zone creation
Four-layer glow boxes: Each zone drawn as four concentric boxes with decreasing opacity for a depth visualization effect
Multi-filter sweep confirmation: Wick penetration %, close direction, volume multiple, wick rejection %, cooldown, and optional pattern filters
Failure entry engine: Detects pivot-wick failure patterns as an alternative signal type with independent settings
Zone flip: Broken demand zones automatically flip to supply and vice versa
Liquidity value labels: Volume × price accumulated at each zone's origin bar, displayed in human-readable scale
Hold percentage: Ratio of zone tests that did not break through; used to prioritize zone strength
Trade block on sweep: Entry, stop, and two TP levels rendered as boxes and lines when a sweep confirms
Zone clustering: Overlapping zones within a minimum ATR separation are deduplicated, keeping the higher-quality zone
Backtest tracker: Win rate and expected value tracked across all sweep signals
Non-repainting: All sweep confirmations gated by barstate.isconfirmed
Institutional dashboard: 18-row table with zone statistics, sweep and failure counts, win rate, and expected value
Input Parameters
Zone Detection:
Pivot Lookback: Bars required on each side to confirm a pivot (default: 10)
Max Active Zones Per Side: Maximum simultaneous demand or supply zones (default: 8)
Zone ATR Width: Zone height as ATR multiple (default: 0.4)
Min Zone Separation: Minimum distance between zones in ATR units (default: 1.5)
Sweep Confirmation:
Min Wick Penetration %: Minimum wick extension through zone boundary
Volume Confirmation toggle and minimum volume multiple
Wick Rejection Filter toggle and minimum rejection %
Cooldown Bars Between Sweeps
Failure Entry:
Enable Failure Entry Mode toggle
Pivot lookback, wick ATR minimum, wick rejection minimum, volume confirmation, cooldown
Trade Block:
Show Trade Block toggle
RR Ratio for TP placement
SL Mode: Zone boundary or Wick extreme
SL Buffer in ATR units
How to Use This Indicator
Step 1: Identify Active Zones
Fresh zones (not yet swept) are displayed in full color. Prioritize fresh zones with high hold percentages and large liquidity values for upcoming sweep setups.
Step 2: Wait for Sweep Confirmation
A sweep is confirmed when the bar closes after the wick penetration. The trade block appears automatically with entry at the close of the confirmation bar, stop behind the zone boundary plus buffer, TP1 at 1:1 R, and TP2 at the configured RR ratio.
Step 3: Distinguish Sweeps from Failures
Standard sweeps require price to touch inside the zone boundary. Failure entries detect pivot-level failures at a higher structural level. Enable only one mode at a time to avoid conflicting signals.
Indicator Limitations
Pivot confirmation requires bars after the pivot candle. Zones are plotted with an inherent offset corresponding to the lookback length
All sweep confirmations require a bar close. Price that sweeps and reverses within the same bar without confirming on close will not generate a signal
Volume-based filters are less reliable on assets where volume data is unreported or synthetic
Zone flip mechanics assume that a broken level becomes resistance. This structural assumption does not hold in all market conditions
Originality Statement
The combination of a three-component impulse quality score at zone creation, four-layer glow box visualization, multi-condition sweep confirmation, zone flip mechanics, and a failure entry engine in a single indicator is not replicated in existing open-source Pine Script v6 publications
The liquidity value metric (volume × price at pivot origin) as a zone ranking input alongside hold percentage provides an institutional sizing dimension that simple pivot-based zone indicators do not include
The dual-mode architecture (sweep engine + failure entry engine) with independent settings for each, selectable via a single mode toggle, allows the same structural framework to address two different entry philosophies within one indicator
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Liquidity sweep patterns identified by this indicator represent historical structural events, not predictions of future price behavior. The author accepts no responsibility for trading losses resulting from use of this indicator.
Made with passion by jackofalltrades
Indicator

CISD Projection Ledger [JOAT]CISD Projection Ledger
Introduction
CPL CISD Projection Ledger is an open-source projection overlay that detects confirmed directional delivery shifts, then projects a structured target ledger from the qualifying run range.
The indicator focuses on one job: finding a qualifying run, confirming the open-cross shift on a closed bar, and tracking which projection tiers have been reached or invalidated.
Core Concepts
1. Directional Run Engine
Bars are grouped into directional runs based on close-to-close progression. A run must meet the minimum bar count before it can qualify.
2. Edge Filter
The prior run must form near the upper or lower region of the recent lookback range before a CISD event can trigger.
3. Open-Cross Confirmation
A bullish CISD requires a prior bearish run and a confirmed close back above the prior run open. Bearish logic is mirrored.
4. Projection Ledger
Five tiers are projected from the confirmed run range using configurable multipliers.
5. Reached and Invalid States
Each tier fades after it is reached. The whole ledger invalidates if price closes beyond the opposite reference side.
Features
Confirmed CISD trigger: Uses closed-bar open-cross confirmation
Range edge filter: Avoids projecting every minor run flip
Five-tier ledger: Customizable projection multipliers
Reached-level tracking: Levels visually fade after completion
Invalidation logic: Opposite-side failure changes state
Ledger band: Transparent fill from base to furthest target
Top-right dashboard: Shows base, range, tier prices, reached status, and active state
Alerts: Includes bullish and bearish CISD confirmations
Input Parameters
Run Engine:
Minimum Run Bars
Range Lookback
Edge Window
Ledger:
Tier 1 through Tier 5 multipliers
How to Use
Step 1: Wait for a confirmed bullish or bearish CISD state in the dashboard.
Step 2: Use the base level and projected tiers as a structured map of possible delivery objectives.
Step 3: Watch reached status. Faded levels indicate completed tiers.
Step 4: Respect invalidation. An invalid ledger means the original delivery thesis failed.
Limitations
Projection levels are analytical references, not guaranteed targets
Strong reversals can invalidate a ledger quickly
The edge filter may skip valid-looking setups that are not near the configured range edge
The indicator should not be used without independent trade management
Originality Statement
CPL is an original JOAT implementation that transforms directional run logic into a confirmed CISD ledger with tier tracking, invalidation, and a restrained institutional visual system.
Disclaimer
This script is for educational and informational purposes only. It is not financial advice and does not guarantee future results. Trading involves risk, and users should apply their own risk management.
Made with passion by jackofalltrades
Indicator

Structure Probability Blocks [JOAT]Structure Probability Blocks
Introduction
Structure Probability Blocks is an open-source market structure and quality-zone overlay. It detects confirmed structure breaks, searches for the most relevant opposing candle, scores the resulting block, and highlights the strongest active block without filling the chart with redundant zones.
The problem it solves is order block clutter. Many zone tools draw every candidate equally. Structure Probability Blocks filters for impulse, candle quality, relative volume, recency, and overlap so the displayed blocks have cleaner context. The enhanced chart layer also projects BOS/CHoCH break rails, impulse guide lines, and compact score labels directly beside the structure event.
Core Concepts
1. Confirmed Pivot Tracking
Swing highs and lows are confirmed using symmetric pivots. Because pivots require bars on both sides, this is intentionally delayed and non-repainting.
2. Break Qualification
A structure break requires price to close through the tracked pivot and meet a minimum ATR-based impulse requirement.
3. Seed Candle Search
After a break, the script searches backward for the best opposing candle candidate. The score considers body quality, wick behavior, volume rank, and recency.
4. Strongest Active Block Highlight
Among active blocks, the highest-scored block receives stronger border and midline treatment. Weaker overlapping blocks can be removed when the overlap guard is enabled.
5. Break Rails and Impulse Guides
When a qualified BOS or CHoCH forms, the indicator can draw a dashed horizontal break rail from the pivot level to the right edge and a dotted impulse guide from the selected seed candle to the break close. The on-chart tag includes score, zone range, drive, RVOL, and break price.
6. Strongest Block Ribbon
The highest-scored active block is also projected as a subtle ribbon using plot/fill logic. This gives a clean strongest-zone read even when several historical boxes remain visible.
Features
Confirmed structure breaks: Breaks require closed-bar confirmation
Quality-scored blocks: Scores combine impulse, candle structure, relative volume, and recency
BOS/CHoCH context: Block labels identify continuation or character-shift context
BOS/CHoCH break rails: Dashed projected levels mark the exact pivot level that price broke
Impulse guide lines: Dotted guides connect the seed candle to the break close
Expanded score tags: Labels show score, zone range, drive, RVOL, and break level
Prime block highlight: Highest active score receives stronger visual emphasis
Strongest block ribbon: Highest active zone is projected as a lightweight filled band
Overlap guard: Keeps the stronger of overlapping active blocks
Prime candle tint: Candles can be softly colored by the strongest active structure bias
Broken block handling: Keep, fade, extend, or remove resolved blocks
Top-right dashboard: Active count, bull/bear count, best score, break state, last pulse, volume rank, and break mode
Alerts: New bullish and bearish quality block events
Input Parameters
Structure:
Pivot Length: Swing confirmation sensitivity
Search Span: Bars searched for a seed candle
Break Impulse: Minimum ATR expansion required for a break
Volume Span: Lookback used for volume rank
Min Score: Minimum block quality score required
How to Use This Indicator
Step 1: Use the dashboard to identify current bull/bear structural bias.
Step 2: Focus on the strongest highlighted active block first.
Step 3: Use the dashed BOS/CHoCH rail as the exact structural break reference.
Step 4: Treat broken/faded blocks as resolved context rather than fresh opportunities.
Step 5: Combine with a regime or pressure tool before making directional decisions.
Indicator Limitations
Pivot confirmation is delayed by the pivot length, which is intentional non-repainting behavior
A high block score does not imply a guaranteed reaction
Volume rank can be less useful on instruments with unreliable volume
The script identifies structural context, not complete risk-defined trades
Originality Statement
Structure Probability Blocks is original in its quality-scored seed selection, impulse qualification, overlap prioritization, prime block highlighting, and compact structural dashboard. 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. Structural zones can fail, and traders should always use independent analysis and proper risk management.
-Made with passion by jackofalltrades
Indicator

Absorption Range Ledger [JOAT]Absorption Range Ledger
Introduction
Absorption Range Ledger is an open-source range and participation overlay built to detect high-participation ranges, estimate internal bull-vs-bear ownership, track weighted equilibrium, and monitor whether the market is being absorbed, contained, reclaimed, or broken. It is designed for traders who want richer range context than a basic support/resistance box.
The script identifies high-participation candles, merges overlapping activity into persistent range zones, tracks a weighted equilibrium line inside the zone, and then highlights whether that zone is acting as supportive absorption, resistant absorption, or a two-way transfer area. Optional TP/SL rails are created when weighted reclaims or range breaks occur on confirmed bars.
Core Concepts
1. High Participation Detection
The script compares current volume to a baseline moving average. When participation exceeds the threshold, the candle is eligible to build or extend an absorption range.
2. Range Merging
New high-participation candles are merged into existing ranges when overlap conditions are satisfied. This creates broader institutional-style transfer zones rather than isolated candle markers.
3. Ownership Split
Each active range tracks approximate bullish and bearish ownership internally. This is displayed visually using sub-boxes and summarized numerically in the dashboard.
4. Weighted Equilibrium
A weighted equilibrium line is maintained inside the dominant active range. This level serves as a practical internal reference for reclaim and failure behavior.
5. Range Events
The script distinguishes containment, weighted-line reclaims, and outright range breaks. These states are used for dashboard context and optional TP/SL scaffolding.
Features
High-participation range detection: Builds active ranges when volume exceeds the baseline threshold
Range merging: Overlapping participation bars are combined into richer zones
Bull/bear ownership split: Internal sub-boxes show approximate participation balance
Weighted equilibrium line: A central reference inside the active range
Dominant active range logic: Tracks the most relevant current range for context
Range reclaim and break states: Distinguishes contained trade from directional escape
Optional TP/SL ladder: Builds informational risk rails on confirmed reclaims and breaks
Top-right dashboard: Shows state, active count, weighted level, balance, range width, and event condition
How to Use This Indicator
Step 1: Identify whether a dominant active range exists.
Step 2: Check the ownership balance. Strong positive balance suggests bid-side absorption. Strong negative balance suggests offer-side absorption.
Step 3: Watch how price behaves around the weighted equilibrium line. Reclaims and failures often provide better context than touching the raw box boundary alone.
Step 4: Use confirmed breaks of the dominant range as state changes, not as guaranteed trend starts.
Indicator Limitations
Ownership balance is an internal estimate, not a true order-flow measurement
Range merging depends on the chosen volume threshold and can be too broad or too narrow if poorly configured
Old ranges expire by design and will not remain indefinitely on the chart
The TP/SL ladder is informational and not an execution engine
Originality Statement
Absorption Range Ledger is original in the way it combines participation-based zone merging, internal ownership splitting, weighted equilibrium governance, and event-driven scaffolding into one open-source range tool. It is published as a contextual market-transfer indicator rather than a simple breakout box.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Participation, ownership, and absorption states are inferred from historical price and volume behavior and may not reflect future outcomes. Use independent analysis and risk management.
-Made with passion by jackofalltrades
Indicator

JOAT Pressure Composite [JOAT]JOAT Pressure Composite
Introduction
JOAT Pressure Composite is an open-source accumulation-distribution and participation oscillator built to measure whether buying or selling pressure is strengthening, weakening, rotating, or diverging from price.
It is designed to expose internal sponsorship behind price movement rather than price movement alone.
The script combines weighted close-location flow, relative-volume sponsorship, volume sigma, effort, efficiency, momentum bias, VWAP bias, and confirmed higher-timeframe context into one composite pressure model.
The problem it solves is hidden participation.
Price can rise on weak effort.
Price can fall on poor sponsorship.
Price can continue moving while internal pressure deteriorates.
Pressure Composite tries to expose those changes earlier by measuring how much of the move is actually being sponsored by participation.
The oscillator pane carries the composite, signal line, envelope, flow ribbon, and extreme states.
At the same time, the indicator projects tailored information onto the main chart.
Price divergence is labeled clearly.
Expansion and absorption states are labeled directly on candles.
Anchored VWAP and trend context are overlaid on price so the oscillator and chart remain connected.
Core Concepts
1. Weighted Pressure Engine
The base flow uses close-location value and weighted volume.
closeLocationValue = (2.0 * close - low - high) / barRange
weightedVolume = volume * sponsorshipFactor
2. Pressure Z-Score
The raw pressure series is normalized with a Z-score.
3. Sigma and Effort Layers
Volume sigma and effort help distinguish aggressive participation from ordinary rotation.
4. Efficiency Bias
The script measures whether price is moving efficiently over the selected lookback.
5. VWAP Bias
Distance from anchored VWAP is normalized in ATR terms.
6. Confirmed Divergence Logic
Pivot-based divergence compares oscillator highs and lows to price highs and lows.
7. Expansion and Absorption Labels
The chart prints Bid Expansion, Offer Expansion, Bull Absorption, and Bear Absorption labels directly on price.
8. Confirmed Higher-Timeframe Context
The script pulls confirmed HTF composite states only.
Features
Composite pressure model: blends pressure, effort, sigma, efficiency, and VWAP bias
Flow ribbon: shows whether pressure is widening or fading
Envelope and extreme states: separates normal expansion from aggressive pressure
Confirmed divergence detection: compares oscillator pivots to price pivots
Clear divergence labeling: bullish and bearish pressure divergence is labeled directly on price
Expansion / absorption labels: market states are marked on actual candles
Anchored VWAP context: projected onto the chart for alignment
Fast / slow trend context: price-side guides remain visible while using the oscillator
Confirmed HTF states: non-repainting higher-timeframe pressure context
No dashboard: information is pushed into the chart and oscillator instead of a table
Input Parameters
Composite Engine:
Smoothing Type
Flow Smoothing
Normalization Length
Relative Volume Baseline
Relative Volume Boost
Volume Sigma Length
Effort Smoothing
Efficiency Length
Signal Length
Envelope Length
Envelope Multiplier
Extreme Multiplier
Pivot Length
Divergence Scan
ATR Length
Qualification / Display:
Use Trend Gate
Trend Fast EMA
Trend Slow EMA
Use VWAP Gate
Minimum Spread
Show Histogram
Show Signal Line
Show Envelope
Show Flow Ribbon
Show Divergence
Tint Price Bars
Shade Momentum States
Show Price Context
Show Price Event Labels
How to Use This Indicator
Step 1: Read the composite vs signal relationship to judge widening or fading pressure.
Step 2: Check whether the state is expansion or absorption.
Step 3: Watch labeled divergences closely, especially after extension.
Step 4: Use anchored VWAP and trend overlays to connect the oscillator back to price structure.
Step 5: Use confirmed HTF context as a quality filter rather than a prediction tool.
Indicator Limitations
Divergences can persist before price responds
Confirmed higher-timeframe context intentionally lags unfinished HTF candles
Low-volume environments can flatten the composite even while price drifts
Pressure quality does not guarantee immediate reversal or continuation
Originality Statement
This script is original in how it integrates weighted close-location flow, RVOL sponsorship, sigma, effort, efficiency, VWAP distance, confirmed HTF context, and direct price-chart state labeling into one coherent participation framework.
The components are combined because they all address one question:
how much real sponsorship exists behind current price movement.
Disclaimer
This indicator is provided for educational and informational purposes only.
It is not financial advice.
Pressure readings and divergences do not guarantee reversal or continuation.
Use the script as context and confirmation, not as a promise of outcome.
Best Use Cases
Measuring whether price movement is being sponsored by real participation
Spotting divergence between price and internal pressure
Reading expansion versus absorption conditions
Combining participation context with VWAP and trend structure
Interpretation Notes
The strongest bullish pressure states usually include positive pressure, supportive spread, constructive effort, and favorable price context above value.
The strongest bearish pressure states are the mirror image.
Divergences are most useful when they appear after extension or at major contextual levels.
Absorption labels should be treated as warnings that apparent directional continuation may be losing quality.
Publication Notes
This script is intended to be published with a clean chart where the oscillator, labeled divergence, and at least one price-context label are clearly visible.
Because there is no dashboard, the publication image should make the chart-side annotations easy to read.
Keep the chart clean so the viewer can immediately understand that the script links oscillator behavior back to price.
-Made with passion by jackofalltrades\
Indicator

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

Imbalance Zone Classifier [JOAT]Imbalance Zone Classifier
Introduction
The Imbalance Zone Classifier detects Fair Value Gaps (price imbalances where no two-sided auction occurred) and assigns each zone a 0–100 Strength Score based on four measurable factors: gap size relative to historical distribution, intrabar buy/sell volume composition, zone age, and mitigation status. Rather than drawing every FVG indiscriminately, this indicator filters by minimum score and renders only the zones most likely to attract institutional order flow on return visits.
The core problem this solves: nearly every FVG tool draws every gap, producing charts saturated with dozens of overlapping boxes that cannot be prioritized. A 0.03% gap on declining volume is not equivalent to a 0.8% gap formed on explosive institutional buying. The Strength Score quantifies that difference, letting the trader focus on the handful of zones that genuinely matter.
Core Concepts
1. Fair Value Gap Detection
An FVG (also known as an inefficiency or price imbalance) occurs when three consecutive candles leave a price gap:
// Bullish FVG: candle high is below candle low
bool bull_fvg = high < low and close > open
// Bearish FVG: candle low is above candle high
bool bear_fvg = low > high and close < open
Detection is confirmed on bar close — the gap is only registered after candle closes — ensuring no repainting. The zone boundaries are the candle high and candle low for a bullish FVG (and their inverses for bearish).
2. The 0–100 Strength Score
Each FVG receives a composite score derived from four sub-scores:
int vol_score = int(math.min(bull_pct / 0.7 * 50, 50)) // 0-50 pts
int size_score = int(math.min(gap_rank * 0.35, 35)) // 0-35 pts
int composite_score = vol_score + size_score // base
// Age decay applied post-formation: score -= 1 per N bars
Size Score (0–35 pts): The gap size as a percentage of price is ranked against the last 1000 bars using a percentile rank. A gap in the top 10% of historical size scores near maximum. A tiny gap scores near zero.
Volume Score (0–50 pts): Lower-timeframe bars within the formation candle's time window are decomposed into buy and sell volume. A bullish FVG with 90% buy-side composition scores 50; one with 50% scores 25.
Age Decay: Zones accumulate bar age. The score decays over time, reflecting that older unmitigated zones become less relevant. Zones below the minimum score threshold fade and are removed.
3. Lower-Timeframe Volume Decomposition
Volume intelligence comes from requesting sub-bar data at the user-specified lower timeframe:
array ltf_bull_vol = request.security_lower_tf("", i_ltf, (close > open ? volume : 0.0))
array ltf_bear_vol = request.security_lower_tf("", i_ltf, (close < open ? volume : 0.0))
float sum_bull_ltf = ltf_bull_vol.sum()
float sum_bear_ltf = ltf_bear_vol.sum()
float bull_pct = sum_bull_ltf / (sum_bull_ltf + sum_bear_ltf)
This decomposes the FVG formation candle's volume into directional sub-bar composition — giving a precise measure of whether the gap was formed by institutional buying pressure or merely a thin-volume vacuum.
4. Mitigation Logic
Zones are considered mitigated when price returns to the zone midpoint (or high/low depending on user setting). Mitigated zones do not disappear immediately — they change color and fade, providing a historical record. They are removed from the active list after a configurable bar count, and a counter increments in the dashboard.
5. Volume Bar Visualization Inside Zones
Each zone renders a proportional buy/sell volume bar inside the zone body — a thin inner box whose right edge shows the bull/bear volume ratio. A zone with 80% buy volume renders its inner bar nearly full green. This gives an immediate visual indication of the composition without requiring the dashboard.
Features
Fair Value Gap Detection: Bullish and bearish FVGs confirmed on bar close, non-repainting
0–100 Strength Score: Composite score from gap size percentile rank and lower-timeframe volume composition
Minimum Score Filter: Only zones above the threshold are rendered — keeps the chart clean
LTF Volume Decomposition: True intrabar buy/sell ratio from lower-timeframe data
Volume Bar Inside Zone: Proportional buy/sell bar rendered within each zone body
Mitigation Tracking: Zones transition to faded color on mitigation; active vs mitigated count in dashboard
Zone Extension: Unmitigated zones extend rightward automatically until price returns
Age Decay: Score degrades over time, naturally purging stale zones below the threshold
9-Row Dashboard: Active bullish zones, active bearish zones, total mitigated, highest current score, session FVG count
Alerts: Bullish FVG formed, bearish FVG formed, bullish FVG mitigated, bearish FVG mitigated
Input Parameters
FVG Detection:
Detect Bullish FVGs: Toggle bullish imbalance detection (default: on)
Detect Bearish FVGs: Toggle bearish imbalance detection (default: on)
Minimum Strength Score (0–100): Filter threshold — only zones above this are shown (default: 25). Higher = fewer, stronger zones.
Mitigation Source: close = mitigated when close crosses zone midpoint. high/low = wick breach removes the zone (default: close)
Max Active Zones: Maximum simultaneous rendered zones (default: 12, range: 3–30)
Volume Intelligence:
LTF Resolution: Lower timeframe for intrabar volume decomposition (default: 1m)
Visualization:
Bullish / Bearish / Mitigated colors: Fully customizable
Show Volume Bars Inside Zones: Display proportional buy/sell bar within each zone (default: on)
Extend Unmitigated Zones: Extend zone boxes rightward until mitigation (default: on)
Dashboard:
Position: Top Right, Top Left, Bottom Right, Bottom Left (default: Top Right)
How to Use This Indicator
Step 1: Set the Minimum Score
Start with the default score of 25. This filters out the weakest gaps while keeping meaningful zones. If the chart still shows too many zones, raise to 40–50. For maximum selectivity on higher timeframes, 60+ selects only the most institutionally significant gaps.
Step 2: Read the Volume Bar Inside Each Zone
A bullish FVG with a mostly green inner bar (80%+ buy volume) was formed by genuine institutional buying. One with a near-50% bar was formed in a thin, directionless push — much less likely to hold on retest. This distinction cannot be made from price action alone.
Step 3: Trade the Retest
Price frequently returns to fill FVG zones, particularly the highest-score zones. The midpoint of the zone (zone top + zone bottom / 2) is the primary retest level. Entry on a return to a high-score bullish FVG, with a stop below the zone low, is a clean risk-defined setup.
Step 4: Monitor Mitigation
Once a zone changes to the mitigated color, it no longer has predictive value as a support/resistance level — it has been filled. Remove it from your analysis. The dashboard count of mitigated zones tells you how efficiently the market is clearing imbalances.
Originality Statement
This indicator is original in its composite strength scoring system applied to Fair Value Gaps using lower-timeframe volume decomposition. Its publication is justified because:
Gap size percentile rank against 1000-bar history normalizes the score across different instruments and timeframes — a 0.5% gap on EURUSD scores the same as a 0.5% gap on BTCUSD regardless of absolute price level
Lower-timeframe volume decomposition provides true intrabar buy/sell composition of each FVG formation candle — a dimension of analysis unavailable from chart-timeframe OHLCV data alone
The visual volume bar inside each zone encodes directional conviction directly within the zone's screen space, creating a two-dimensional information display (price level + volume direction) without additional panels
Age decay combined with minimum score filtering creates a self-organizing, self-cleaning zone map that requires no manual zone management from the trader
Limitations
LTF volume requests add computation overhead. On 1-minute chart timeframes, requesting 1-minute LTF data is a no-op; the function falls back to chart-timeframe volume for those bars.
The strength score is a relative ranking, not an absolute predictive probability. A score of 80 does not mean an 80% chance of holding — it means this zone is stronger than most, not that it is guaranteed to act as support or resistance.
Mitigation is detected on bar close (or high/low depending on setting). Intrabar wicks that return to the zone but close outside it will not trigger mitigation in the default setting.
The maximum zone count is a performance and visual constraint. On timeframes where FVGs form frequently, older lower-score zones are removed to stay within the limit.
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 instrument. All trading involves risk of loss. Fair Value Gap zones do not guarantee price reversal or support. Always use proper risk management.
-Made with passion by jackofalltrades
Indicator

Liquidity Contour Engine [JOAT]
Liquidity Contour Engine
Introduction
Liquidity Contour Engine is an overlay indicator that identifies two distinct institutional price phenomena: liquidity sweeps at swing highs and lows, and order blocks formed before impulsive structural moves. Liquidity sweep zones mark levels where price reached beyond a prior swing, triggering stop orders, then reversed — the classic footprint of a sweep-and-reversal sequence. Order block zones mark the last opposing candle before a significant directional impulse, representing the area where a large position was initiated.
The underlying premise is that institutions build and exit positions through order flow that leaves identifiable marks on the chart. A liquidity sweep is one such mark: price extending beyond a well-established swing level, clearing stops, then reversing. This behavior is not random — it reflects deliberate order accumulation at levels where retail stops cluster. Similarly, order blocks at the origin of impulsive moves may act as re-entry areas when price later returns to them.
Core Concepts
1. Confirmed Swing Pivot Detection
Swings are identified using ta.pivothigh and ta.pivotlow with a configurable lookback. All pivot detections are confirmed — offset by the lookback bars — meaning no repainting occurs. Only when sufficient bars have closed on both sides of a potential pivot is it registered.
2. Liquidity Sweep Detection
A bullish sweep is confirmed when: price wicks below the most recent swing low by at least a configurable ATR multiple, and the bar closes back above that swing low. This captures the wick-past-and-close-back pattern that characterizes institutional accumulation at liquidity levels. A bearish sweep is the mirror condition at swing highs.
Upon detection, a zone is created at the swept level, rendered as a dual-width line (thin solid + thick transparent shadow). Zones remain active until price sustains a close beyond the swept level by 0.5 ATR, at which point they convert to dotted lines (mitigated state).
3. Order Block Detection
An order block is identified as the prior N candle(s) before a structural impulse. A bullish impulse is defined as a bar that closes above the most recent swing high. The order block is the last candle body before that impulse, rendered as a filled box from body open to the wick high. Mitigation occurs when price closes beyond the 50% level of the order block body, fading the box to indicate the zone has been traded through.
4. Zone Lifecycle Management
The indicator uses arrays to track active zones and enforces a maximum count. When the maximum is exceeded, the oldest zone is removed from the chart. This prevents chart clutter while keeping the most recent and relevant zones visible.
Features
Liquidity Sweep Zones: Dual-width line rendering at swept swing levels, self-managing lifecycle
Order Block Boxes: Filled zones at order block origin, with mitigation fading
Swing Level Dotted Lines: Current swing high and low extensions as dotted reference lines
9-Row Dashboard: Sweep state, active zone counts, order block counts, last swing levels
Configurable ATR Threshold: Adjusts how far price must reach beyond a swing to qualify as a sweep
Max Zone Limit: Prevents chart clutter with configurable maximum active zone count
Input Parameters
Swing Lookback: Bars required each side for pivot confirmation (default: 8)
Sweep ATR Threshold: Minimum sweep distance in ATR units (default: 0.3)
Max Active Zones: Maximum concurrently displayed liquidity zones (default: 8)
ATR Period: Period for ATR calculation (default: 14)
Show Order Blocks: Toggle order block rendering
OB Lookback: How many bars back to identify the order block candle (default: 3)
How to Use This Indicator
Sweep-and-Reverse Setups
When a bullish sweep fires (price wicked below a swing low and closed back above), the zone represents the level where stops were taken. If price subsequently builds structure above that zone and delta pressure is positive, the setup is a potential long entry with the swept level as reference for the stop.
Order Block Re-Tests
When price returns to a bullish order block zone (shown in teal), it is revisiting the area where an institutional position was likely initiated. If the zone has not been mitigated (box remains filled), a reaction from that zone is plausible. A mitigated order block (faded) is a less reliable reference.
Zone Confluence
When a liquidity sweep zone and an order block coincide at the same price level, the confluence represents a stronger structural reference than either zone alone.
Limitations
Swing pivot confirmation introduces a bar lag equal to the lookback period. Sweeps and order blocks are identified after the fact, not in the moment they form
Not every liquidity sweep produces a reversal. Price can continue through a swept level without reversing
Order block identification is mechanical and cannot account for all institutional order placement strategies
On higher timeframes, zones cover wider price ranges and may require adjustment of the ATR threshold
Originality Statement
The unified framework for tracking liquidity sweeps and order blocks within a single indicator with a shared zone lifecycle management system is the original design contribution. Zone mitigation logic that converts active zones to passive reference lines (rather than deleting them) preserves structural context while visually indicating that a zone's primary relevance has passed. The dual-width shadow line rendering for sweep zones provides depth that distinguishes them clearly from standard horizontal lines.
Disclaimer
This indicator is for educational and informational purposes only. Liquidity sweep detection describes a pattern in historical price data. Past occurrences of this pattern do not guarantee future reactions. Order blocks are hypothetical areas of interest, not confirmed institutional levels. Always use proper risk management.
-Made with passion by officialjackofalltrades
Indicator

Liquidity Zone Harvester [JOAT]Liquidity Zone Harvester
Introduction
Institutional order flow leaves footprints in market structure. When a large buyer or seller places a significant order, the execution of that order creates an imbalance between supply and demand at a specific price level — and markets frequently return to these levels to test whether the original interest remains. These price areas are commonly referred to as order blocks or liquidity zones, and they form one of the core concepts in institutional and Smart Money trading methodology.
The Liquidity Zone Harvester is an automated order block detection and management system that identifies these zones using statistically validated momentum signals rather than arbitrary manual placement. Instead of drawing boxes wherever a trader's eye thinks supply or demand may exist, this indicator uses Z-score cumulative impulse detection to identify when directional momentum has reached statistically significant levels — and only then marks the most recent opposing-close candle as the source order block. Volume quality gates ensure that only high-participation impulses create zones, filtering out low-conviction moves that are less likely to represent genuine institutional activity.
What sets this indicator apart from standard order block tools is what happens after zone creation. Every active zone is tracked through a dual-mechanism aging system. The Bayesian exponential decay model progressively reduces zone visual intensity over time with a configurable half-life, providing a continuous probability signal about zone freshness. Simultaneously, a Kaplan-Meier survival analysis engine — borrowed from medical statistics — estimates the probability that a given zone will survive future price tests, based on the historical survival rates of all previously observed zones in the training window. Each zone displays both its current age and its estimated survival probability directly on the chart, turning static boxes into dynamically updated probability estimates.
Core Concepts
1. Z-Score Cumulative Impulse Detection
Zone creation is triggered only when directional momentum reaches a statistically defined threshold. The system accumulates a running streak of directional closes — when consecutive bars close higher than their open, the bull accumulator grows; when consecutive bars close lower, the bear accumulator grows. The streak resets when direction reverses. This cumulative streak is then normalized against its own rolling mean and standard deviation, producing a Z-score that measures how unusual the current momentum streak is relative to recent history.
cumBull := close > open ? nz(cumBull ) + (close - open) : 0
cumBear := close < open ? nz(cumBear ) + (open - close) : 0
zBull = (cumBull - ta.sma(cumBull, zLen)) / ta.stdev(cumBull, zLen)
zBear = (cumBear - ta.sma(cumBear, zLen)) / ta.stdev(cumBear, zLen)
bullEvent = ta.crossover(zBull, zThresh) and barstate.isconfirmed and volOK
bearEvent = ta.crossover(zBear, zThresh) and barstate.isconfirmed and volOK
When a bullEvent fires (bull Z-score crosses the threshold with volume confirmation), the system looks backward to find the most recent down-close candle — the last bar where sellers were dominant before the impulse began. This becomes the demand zone. Similarly, a bearEvent marks the most recent up-close candle as the supply zone.
2. Volume Quality Gate
Not all Z-score impulses are created equal. An impulse that occurs on abnormally low volume represents weak conviction — possibly a thin-market price drift rather than genuine institutional momentum. The volume gate applies RSI to the volume series to normalize it against its own history. Only when volume RSI exceeds the configurable threshold is the volOK condition true, enabling zone creation.
volRsi = ta.rsi(volume, 14)
volOK = volRsi > volThresh
This filter meaningfully reduces the number of zones created during low-participation conditions such as pre-market sessions, lunch hours, or holiday-period trading — precisely the times when order block levels are least likely to represent significant institutional interest.
3. Order Block Zone Construction
When a signal event is confirmed, the most recent opposing candle is identified using ta.valuewhen(). For a bullEvent, the system finds the most recent bar where close was less than open (a down candle) — its high and low define the demand zone boundaries. For a bearEvent, it finds the most recent up candle — its high and low define the supply zone boundaries. A box object is created spanning from that historical bar to the current bar, with height defined by the candle's actual high-low range.
lastDnHigh = ta.valuewhen(close < open, high, 0)
lastDnLow = ta.valuewhen(close < open, low, 0)
lastDnBar = ta.valuewhen(close < open, bar_index, 0)
if bullEvent
newBox = box.new(lastDnBar, lastDnHigh, bar_index, lastDnLow, ...)
bullBoxes.push(newBox)
4. Overlap Prevention (f_no_overlap)
To avoid cluttering the chart with redundant zones that occupy the same price territory, an overlap check function evaluates whether a proposed new zone overlaps with any existing zone of the same type. The function iterates over all existing bull or bear boxes and compares the new zone's top and bottom against each existing box's top and bottom. A guard condition (nBull > 0) prevents the iteration from running on an empty array, which would cause an index -1 crash.
f_no_overlap(newTop, newBot, boxes) =>
noOverlap = true
if boxes.size() > 0
for i = 0 to boxes.size() - 1
b = boxes.get(i)
if newTop >= box.get_bottom(b) and newBot <= box.get_top(b)
noOverlap := false
noOverlap
5. Bayesian Exponential Decay
Each zone's visual transparency is driven by an exponential decay function that represents the diminishing probability of zone relevance over time. The half-life parameter (default: 75 bars) defines how quickly a zone fades. At age 0, the zone is fully opaque. At age 75 bars, the zone is at 50% opacity. At age 150 bars, 25% opacity. This continuous decay — rather than a binary active/expired switch — provides an analog probability signal directly encoded in the zone's visual intensity.
decayFactor = math.exp(-0.693 * age / halfLife)
zoneAlpha = math.round(decayFactor * 200)
box.set_bgcolor(b, color.new(zoneColor, 255 - zoneAlpha))
6. Kaplan-Meier Survival Analysis
The Kaplan-Meier estimator is a nonparametric statistical method originally developed to measure survival probabilities in clinical trial data. In this indicator, "survival" is defined as a liquidity zone remaining unmitigated (not breached by a closing price on two separate occasions). Each time a zone is mitigated, it is recorded as a "death event" at its current age. Zones that expire by age limit without mitigation are recorded as "censored events" — incomplete observations. The KM formula multiplies survival probabilities across all observed events up to a given age.
// For each completed event (death at age t_i with n_i at-risk zones):
S_t := S_t * (1.0 - d_i / n_i)
// Product over all event times <= query age
For each active zone, the indicator queries the KM estimate at the zone's current age and displays the result as a percentage label. A zone at age 40 showing "Age 40 | 72%" means that historically, 72% of zones survived to at least 40 bars without being mitigated — giving traders a quantitative assessment of how likely the zone is to hold on the next test.
Features
Z-Score Cumulative Impulse: Statistical momentum threshold using normalized cumulative directional streaks to gate zone creation.
Volume Quality Gate: Volume RSI filter ensures only high-participation impulses create zones.
Precise Order Block Identification: Most recent opposing candle (last down-close for bull event, last up-close for bear event) defines zone boundaries.
Overlap Prevention: f_no_overlap function checks all existing zones before creating a new one, preventing chart clutter from redundant levels.
Bayesian Exponential Decay: Zone opacity decays over time with configurable half-life, encoding freshness as a visual probability signal.
Kaplan-Meier Survival Analysis: Medical-statistics survival estimator applied to zone longevity, displayed as a percentage probability label on each active zone.
Dynamic Zone Extension: Box right edge extends to the current bar on every update, keeping zones visually connected to the present.
Mitigation Tracking: Zones that are closed through twice are flagged as mitigated and removed, with the event recorded for KM analysis.
Seven-Row Dashboard: Active demand count, active supply count, bull Z, bear Z, volume RSI, KM training size, and signal status.
Two Alert Conditions: Zone created alert and zone rejection (price tests and bounces back) alert.
Input Parameters
Z-Score Settings:
Z Lookback: Rolling window for Z-score normalization (default: 50)
Z Threshold: Sigma level required to trigger an impulse event (default: 2.0)
Volume Gate Settings:
Volume RSI Period: RSI lookback for volume normalization (default: 14)
Volume RSI Threshold: Minimum volume RSI for zone creation eligibility (default: 55)
Zone Management Settings:
Max Zone Age: Maximum bars a zone remains active before forced removal (default: 300)
Mitigation Count: Number of closes through a zone required for mitigation (default: 2)
Max Active Zones Per Side: Maximum simultaneous demand or supply zones displayed (default: 5)
Decay Settings:
Decay Half-Life: Number of bars at which zone opacity reaches 50% of initial value (default: 75)
KM Settings:
KM Training Window: Bar lookback for Kaplan-Meier training data collection (default: 500)
Show Survival Labels: Toggle KM probability labels on active zones (default: true)
Display Settings:
Show Demand Zones: Toggle demand (bull) zone boxes (default: true)
Show Supply Zones: Toggle supply (bear) zone boxes (default: true)
Show Dashboard: Toggle the seven-row information table (default: true)
How to Use This Indicator
Step 1: Understand Zone Creation Conditions
Zones are not created on every bar — they are created only when a statistically significant directional impulse (Z-score above threshold) occurs on above-average volume. This selectivity is intentional. In any given trading session, you will likely see only a few zone creation events, each backed by a genuine momentum surge that suggests institutional participation. When you see a new zone appear, note the Z-score values in the dashboard and the volume RSI reading — higher values on both indicate a stronger impulse and more confident zone placement.
Step 2: Prioritize Fresh, High-Survival Zones
Not all zones on the chart are equally relevant. A fresh zone (low age, full opacity) at a KM survival rate of 80% is a far stronger candidate for price reaction than an old zone (high age, near-transparent) at 30% survival probability. Use both the visual opacity and the KM label together: as a zone ages and fades, reduce your expectation that it will provide meaningful support or resistance. When price approaches a zone that is both visually fresh and shows high KM survival probability, the statistical expectation of reaction is at its highest.
Step 3: Watch for Zone Rejection Alerts
The zone rejection alert fires when price tests a zone (enters the box boundary) and then closes back away from it without mitigating it. This is the core trade setup: price returning to the institutional order block level, briefly penetrating it, and then reversing. The rejection alert provides a timely notification for potential entries in the direction of the original impulse that created the zone, with the zone's near boundary serving as the natural stop-loss reference.
Step 4: Monitor KM Training Size for Statistical Validity
The dashboard displays the KM training sample size — the number of completed zone events (both mitigated and aged-out) available for the survival analysis. With fewer than 10 training events, the KM estimate has high variance and should be treated as rough guidance. With 30 or more training events, the estimate becomes statistically stable. On instruments or timeframes where the indicator has run for extended periods, the KM estimates become increasingly reliable as the training dataset grows.
Indicator Limitations
The Z-score cumulative impulse and volume gate require sufficient chart history for the rolling normalization periods to be seeded. In the first Z-lookback bars of a new chart, zone creation signals may be less reliable as the mean and standard deviation are not yet fully established.
Kaplan-Meier survival estimates are only as reliable as the training dataset. On instruments or timeframes that have not accumulated many completed zone events, the survival probabilities should be treated as rough estimates rather than statistically precise values.
The mitigation definition (two closes through the zone) is a configurable approximation. In real order block theory, mitigation can be defined in several ways; this indicator's specific definition may not match every trader's conceptual framework.
Zones are based on the most recent opposing candle at the time of the impulse event. In fast markets where multiple large candles cluster closely together, the marked candle may not represent the most significant institutional order location.
This indicator requires volume data. On instruments where volume is unavailable or unreliable (some synthetic indices, certain forex pairs), the volume gate will not function as intended and should be disabled or its threshold lowered significantly.
The exponential decay model assumes a constant half-life across all market conditions. In reality, zone relevance can be regime-dependent — a zone formed during a trending market may remain relevant longer than one formed during a range, or vice versa.
Maximum active zones per side is a hard limit. If the limit is reached, new valid zone creation events will be rejected until an existing zone is mitigated or aged out.
Originality Statement
The Liquidity Zone Harvester is a genuinely original indicator that applies statistical and mathematical frameworks from outside the trading domain to a problem common in technical analysis.
The Z-score cumulative impulse detection — using consecutive close-open accumulation normalized against rolling sma/stdev — as the primary trigger for order block marking is an original signal architecture. Most order block indicators use visual pattern matching (e.g., a large candle followed by a gap) rather than statistical significance thresholds.
Applying the Kaplan-Meier survival estimator — a nonparametric method from biostatistics — to estimate the probability that a liquidity zone will survive future price tests is a novel application of medical statistics to market analysis. This provides a mathematically grounded probability estimate that no standard order block indicator offers.
The Bayesian exponential decay applied to zone visual transparency — using a configurable half-life to continuously encode zone freshness as opacity — is an original visual design that treats zone relevance as a continuously diminishing probability rather than a binary active/inactive state.
The overlap prevention function that iterates over all existing zone arrays before creating a new zone — with the index-crash guard for empty arrays — is a specific engineering solution to a concrete problem in box-based indicator design.
The volume RSI quality gate, applied specifically to filter Z-score impulse events rather than as a standalone signal, is an original confluence filter design that specifically addresses the problem of thin-market false signals in order block detection.
Disclaimer
The Liquidity Zone Harvester is provided for educational and informational purposes only. It is a technical analysis tool and does not constitute financial advice. Liquidity zones and order blocks are analytical constructs; they do not guarantee price reactions. Past zone behavior as encoded in Kaplan-Meier estimates does not predict future zone performance. All trading involves risk of loss. Users are solely responsible for their own trading decisions. Please consider your individual risk tolerance and consult a licensed financial professional before engaging in any trading activity.
-Made with passion by officialjackofalltrades
Indicator

Syndicate Confluence [JOAT]Syndicate Confluence
Introduction
Syndicate Confluence is an open-source overlay indicator that unifies three independent analytical engines into a single spatially organized visual system. Engine 1 is an adaptive Kalman filter with a Supertrend ratchet trail — it classifies the macro directional regime and generates a triple-glow neon trail on the chart. Engine 2 is an institutional order block zone mapper — it identifies swing-pivot order blocks, classifies them by trading session, and renders them as persistent box-based zones with session-colored borders and labeled displacement ratios. Engine 3 is an HMA pressure trail paired with a custom volume-weighted MFI — it classifies each bar into bull pressure, bear pressure, or neutral states.
The three-layer visual architecture ties all three engines together: an outer ATR cloud communicates the macro volatility context of the Kalman filter; a corridor fill between the Kalman Supertrend line and the HMA trail communicates whether both engines are aligned in the same direction; and a core gradient fill between the HMA trail and the candle mid-body communicates the intensity of the current pressure state. When all three layers are saturated in the same color, the confluence is at its strongest. When they are fragmented, the market is transitioning.
The highest-confidence signal — the starred HC Long or HC Short label — fires only when a trail flip, Kalman direction, and order block proximity all coincide simultaneously. This triple-engine intersection is the indicator's primary setup, and the remaining visual layers exist to help traders evaluate whether conditions are building toward or away from that state.
Core Concepts
1. Adaptive Kalman Regime Engine
The Kalman filter maintains a running estimate and error variance. Each bar, the gain is computed as err / (err + noise), where noise = alpha * period. The estimate is updated toward close proportional to the gain, and the error variance self-adjusts — expanding when prediction is poor (high responsiveness), contracting when the filter tracks well (high smoothness). A Supertrend ratchet is applied to the Kalman value: ATR-scaled upper and lower bands drift with a direction-persistence rule — the upper band can only fall, the lower band can only rise. Direction flips when the Kalman value closes through the active band. Applying the ratchet to a Kalman-smoothed price removes the micro-fluctuations that cause excessive flips in price-based systems.
2. Session-Colored Order Block Zones
When a swing pivot low is confirmed, the indicator searches back for the last bearish candle before the pivot. If the subsequent displacement exceeds ATR * dispMult, that candle becomes a bull order block. The zone is drawn at the candle's midpoint with ATR-scaled height. Zone border color is determined by the birth session: London = blue (#60a5fa), NY = pink (#f472b6), Asia = green (#34d399). The label shows type, session, displacement ratio (e.g., "▲ BULL LON 1.8x 5030.41"), and updates its x-position every bar to track the right edge of the chart. Border thickness scales with displacement ratio — zones from 2x+ displacement moves get thicker borders.
3. HMA Pressure Trail and Volume-Weighted MFI
An HMA ratchet trail determines directional commitment. The custom volume-weighted MFI sums volume * hlc3 on rising bars (positive flow) and volume * hlc3 on falling bars (negative flow), normalizes with the RSI formula, and smooths with an HMA. Bull pressure is active when the trail is bullish AND the smoothed MFI exceeds the bull threshold. Bear pressure when trail is bearish AND MFI below the bear threshold. The pressure strength percentage tracks the rolling 50-bar proportion of bars spent in an active pressure state.
4. Three-Layer Visual Architecture
Outer ATR Cloud: k_val ± cloudMult * ATR filled with directional color at near-full transparency — communicates macro volatility context and Kalman regime at a glance
Corridor Fill: The zone between the Kalman Supertrend line and the HMA trail — fills cyan when both agree bullish, rose when both agree bearish, neutral gray when diverging. When the corridor narrows and both trails converge in the same direction, confluence is building
Core Pressure Gradient: Between the HMA trail and the candle mid-body — transparent at the HMA, saturated at the body, colored by pressure state. Deep color indicates active, volume-backed directional pressure
5. Signal Hierarchy
★ HC Long / ★ HC Short: Trail flip + Kalman direction + OB proximity — the highest-confidence setup. Starred label with colored background
Trail flip arrows: Triangle up/down when trail flips in Kalman direction with MFI above/below 50 — standard entry signal
MFI cross-50 triangles: Small triangles on the Kalman trail when MFI crosses the 50 level in the trail direction — momentum regime shift marker
TP labels: Fire when MFI reaches overbought or oversold extremes in the trail direction
K▲ / K▼ labels: Mark the exact bar where the Kalman Supertrend direction flips
Squeeze diamond / circle: Diamond on squeeze start, circle on squeeze release
Volume impulse labels: "1.8x vol" label on high-volume directional bars above the configured multiple
Proximity diamonds: Fire on the first bar where price enters the OB proximity buffer
Features
Adaptive Kalman Filter: Self-calibrating gain updates noise estimate each bar — faster during impulses, smoother during consolidation
Supertrend Ratchet on Kalman: Direction-persistent bands applied to the filtered price — stable, low-whipsaw regime signal
Triple-Layer Kalman Glow: Widths 9/5/2 with decreasing transparency create a neon halo effect on the Supertrend trail
Outer ATR Volatility Cloud: Wide envelope around the Kalman value, gradient-filled by regime direction
Corridor Fill (Kalman ST ↔ HMA Trail): The alignment region between both trails — fills directionally when confluent, neutral when diverging
Core Pressure Gradient Fill: HMA-to-mid-body gradient colored by active pressure state
Session-Colored OB Zone Borders: London blue / NY pink / Asia green borders encode session context directly in the zone visual
OB Zone Labels: Type, session, displacement ratio, and price level — updated live at right chart edge
★ HC Long / HC Short Labels: Triple-confluence signal fired when trail flip, Kalman direction, and OB proximity align
Trail Flip Arrows: Triangle up/down entry signals when trail flips in Kalman direction with MFI midline confirmation
MFI Cross-50 Markers: Small triangles on the trail at momentum regime shifts
TP Overbought/Oversold Labels: Fire at MFI extremes in trail direction
K▲/K▼ Kalman Flip Labels: Pinpoint the exact bar of each Kalman regime change
Squeeze Detection: Diamond on Kalman band compression start, circle on release
K-Velocity Dots: Brightness-scaled dots on the trail communicating momentum acceleration
Volume Impulse Labels: Ratio labels on high-volume directional bars
Proximity Diamonds: Alert when price first enters the OB proximity buffer
Regime Transition Circles: Fire at every Kalman regime change on the trail line
Gradient Bar Coloring: Saturates with MFI intensity when Kalman and trail agree, fades to neutral otherwise
13-Row Dashboard: K-Regime, Trail, Pressure state, Zone proximity, Confluence, MFI, P-Strength %, Squeeze state, Band Width, Trend Bars, K-Velocity %, ATR
9 Alertconditions: Long/short signals, HC signals, TP signals, squeeze release, Kalman flips
Input Parameters
Regime Engine:
Kalman Alpha: Base noise smoothing — lower = smoother, more lag (default 0.02)
Kalman Beta: Error variance recovery rate (default 0.10)
Kalman Period: Gain magnitude scaler (default 50)
ST Factor: ATR multiplier for Supertrend bands on Kalman (default 1.5)
ST ATR Length: ATR lookback for band calculation (default 10)
Cloud ATR Width: Outer cloud multiplier (default 2.5)
Squeeze Threshold %: Band width below this % of SMA triggers squeeze (default 80%)
Zone Engine:
Swing Length: Pivot confirmation lookback (default 5)
OB Lookback: Bars searched for qualifying order block candle (default 20)
Displacement ATR Mult: Minimum move to validate an OB (default 0.8)
Zone ATR Width: Zone height as ATR fraction (default 0.75)
Max Active OBs / Side: Oldest zones trimmed beyond this limit (default 8)
Proximity Buffer (ATR): Approach detection radius (default 1.5)
Momentum Engine:
MFI Length: Volume-weighted money flow lookback (default 14)
MFI Smooth: HMA smoothing on raw MFI (default 5)
Trail HMA Length: HMA period for pressure trail (default 14)
Trail ATR Mult: Trail band width (default 1.5)
MFI Bull/Bear Thresholds: Pressure activation levels (default 58/42)
Signals:
TP Overbought / Oversold: MFI extremes for TP labels (default 78/22)
Impulse Vol Multiplier: Volume multiple for impulse labels (default 1.5)
How to Use This Indicator
HC Signal Setup:
The ★ HC Long / HC Short label is the primary setup. It fires when the trail flips in the Kalman direction while price is within proximity of an active order block. Enter on the labeled bar. Trail your stop at the HMA trail line. Look for the TP label or pressure state deactivation as an exit reference.
Corridor Fill as Trend Quality Gauge:
When the corridor between the Kalman trail and HMA trail is narrow and saturated with color, both trend systems are locked in the same direction — this is the highest-confidence trending condition. When the corridor is wide or neutral gray, the two systems are diverging — reduce size or wait for re-alignment.
Reading the Signal Hierarchy:
Start with the Kalman regime (K▲/K▼ label and trail color) for macro direction. Add the trail flip arrow for timing. Confirm with MFI cross-50 triangle. Check if an OB zone is nearby for HC bonus. Exit on TP label or when the corridor fill turns neutral.
Squeeze Breakout Setup:
When the golden diamond squeeze marker fires, the Kalman bands are compressing. Wait for the circle squeeze release marker. If the trail is aligned with the Kalman regime at release, the first trail flip after the release is a high-quality breakout entry.
Indicator Limitations
Order block detection requires a confirmed swing pivot, which in Pine Script v6 is offset by swingLen bars — zones are created after the fact relative to the actual pivot candle
The corridor fill between the Kalman trail and HMA trail can produce wide fills on instruments with large spread between the two systems — this is informational, not a defect, but may visually dominate the chart on some timeframes
HC signals require all three conditions simultaneously. On instruments with sparse order block formation, HC signals may be infrequent compared to standard trail flip arrows
The volume-weighted MFI requires volume data. On instruments with unreliable volume reporting, the pressure engine may be less meaningful than on equities or futures
Squeeze detection uses 80% of the 20-bar SMA as the threshold. On instruments that are persistently low-volatility, this threshold may trigger continuously — adjust the squeeze percentage parameter upward for such instruments
Originality Statement
This indicator is original in its three-engine confluence architecture, the corridor fill system between the Kalman Supertrend and HMA trail, and the session-colored OB zone integration with the starred HC signal. The publication is justified because:
The corridor fill between the Kalman Supertrend trail and the HMA pressure trail creates a novel visual quality gauge — the width and saturation of the corridor communicates alignment strength between macro regime and near-term pressure in a single spatial layer
Session-colored OB zone borders encode institutional session context directly into the zone visual without requiring a separate session indicator, making the chart self-contained for context-aware zone evaluation
The HC signal requires three independent engine conditions to coincide: Kalman regime direction, trail flip timing, and OB proximity. This triple-gate structure is a more restrictive and higher-quality filter than any two-condition confluence approach
The three-layer visual architecture (outer cloud, corridor fill, core pressure gradient) creates a spatially organized picture where the distance between layers communicates regime context, trail alignment, and pressure intensity at different spatial scales simultaneously
The K-velocity dot brightness system embeds momentum acceleration directly into the trail visualization without requiring a separate panel — the trail itself communicates direction, state, and rate of change simultaneously
Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial advice or a recommendation to buy or sell any financial instrument. Past performance of any pattern or signal does not guarantee future results. All trading involves substantial risk. Always use proper risk management and conduct your own independent analysis.
— Made with passion by officialjackofalltrades
Indicator

Vortex Nexus Alpha [JOAT]Vortex Nexus Alpha Strategy
Introduction
The Vortex Nexus Alpha Strategy is an advanced open-source algorithmic trading system that combines multi-dimensional signal generation, adaptive regime detection, and institutional-grade risk management into a unified execution framework. This strategy represents a complete trading system built from the ground up using proprietary mathematical models, fractal analysis, momentum tracking, and market microstructure intelligence.
Unlike simple crossover strategies or single-indicator systems, Vortex Nexus Alpha synthesizes intelligence from five independent signal layers, each containing five distinct detection mechanisms, creating a 25-factor confluence scoring system that validates every trade entry. The strategy is designed for traders who understand that consistent profitability requires multi-dimensional analysis, adaptive positioning, and systematic risk management rather than relying on any single indicator or pattern.
Why This Strategy Exists
This strategy addresses the fundamental challenge of algorithmic trading: most systems over-optimize to historical data or rely on simplistic logic that fails in real market conditions. Vortex Nexus Alpha solves this through a knowledge-based architecture that doesn't depend on indicator mashups but instead builds intelligence from first principles:
Volatility Expansion Engine: Measures market volatility through ATR percentile ranking and adapts position sizing and stop distances dynamically
Price Efficiency Calculator: Quantifies how efficiently price moves using path length analysis, filtering choppy conditions
Chaos Measurement System: Identifies market regime (directional, equilibrium, chaotic) using logarithmic range analysis
Directional Conviction Tracker: Measures trend strength through ADX and directional movement indicators
Adaptive Ribbon System: Multi-layer EMA ribbon that expands/contracts based on volatility and provides dynamic support/resistance
Volume Pressure Analysis: Estimates buying/selling pressure through candle structure and wick analysis
Gauss Smoothing Engine: 4th-order Gaussian filter that eliminates noise while preserving genuine price movements
Fractal Efficiency Measurement: Logarithmic efficiency calculation that adapts Laguerre filtering for optimal lag reduction
Laguerre Momentum Transform: Adaptive momentum oscillator that responds faster during efficient moves
Temporal Flow Dynamics: Analyzes price flow direction, magnitude, and acceleration across multiple dimensions
Pivot Structure Analysis: Detects market structure breaks and shifts using swing high/low analysis
Order Block Detection: Identifies institutional positioning zones through volume-confirmed reversal patterns
Imbalance Zone Mapping: Marks price gaps and inefficiencies that often get filled
Each component contributes unique intelligence that validates or invalidates potential trade setups. The strategy requires minimum confluence scores before entering positions, ensuring that multiple independent systems agree on directional bias.
Core Strategy Architecture
1. Volatility Expansion Engine
The strategy begins with comprehensive volatility analysis:
volatility = ta.atr(volatilityPeriod)
volatilityPercent = (volatility / close) * 100
volatilityRank = ta.percentrank(volatilityPercent, 100)
Volatility percentile ranking provides context for current volatility relative to recent history. This measurement drives multiple strategy decisions:
- Position sizing: Higher volatility = smaller positions
- Stop distance: Higher volatility = wider stops
- Signal filtering: Extreme volatility (>80 percentile) triggers defensive mode
The strategy adapts to volatility rather than using fixed parameters, ensuring it remains relevant across different market regimes.
2. Price Efficiency and Chaos Measurement
The strategy calculates price efficiency to distinguish trending from ranging markets:
priceMovement = math.abs(close - close )
pathLength = math.sum(math.abs(close - close ), efficiencyPeriod)
efficiency = pathLength > 0 ? priceMovement / pathLength : 0
High efficiency (>0.6) indicates clean, directional movement suitable for trend-following. Low efficiency (<0.4) suggests choppy conditions where the strategy reduces activity or switches to mean-reversion logic.
Chaos level is measured using logarithmic range analysis:
rangeHigh = ta.highest(high, volatilityPeriod)
rangeLow = ta.lowest(low, volatilityPeriod)
atrSum = math.sum(ta.atr(1), volatilityPeriod)
chaosLevel = 100 * math.log10(atrSum / (rangeHigh - rangeLow)) / math.log10(volatilityPeriod)
High chaos (>60) triggers defensive positioning. Low chaos (<40) enables aggressive trend-following.
3. Directional Conviction System
The strategy implements complete ADX analysis with directional indicators:
= adx(14, 14)
ADX above 25 indicates emerging directional conviction. Above 40 indicates dominant conviction. The strategy uses conviction strength to:
- Filter entries: Minimum conviction threshold prevents trading in directionless markets
- Size positions: Higher conviction = larger positions (within risk limits)
- Set targets: Strong conviction enables wider profit targets
The difference between bullForce and bearForce determines directional bias and validates signal direction.
4. Adaptive Ribbon System
The strategy calculates 8 EMA layers with adaptive spacing:
stepSize = (slowPeriod - fastPeriod) / (ribbonLayers - 1)
ribbonLevel0 = ta.ema(close, fastPeriod)
ribbonLevel7 = ta.ema(close, slowPeriod)
Ribbon analysis provides:
- Trend direction: Fast > slow = bullish, fast < slow = bearish
- Trend strength: Wider ribbon = stronger trend
- Dynamic support/resistance: Ribbon layers act as price magnets
- Compression detection: Tight ribbon = energy buildup before breakout
The strategy only takes long trades when price is above the ribbon and short trades when below, ensuring alignment with trend structure.
5. Volume Pressure Analysis
The strategy estimates buying and selling pressure using candle structure:
buyPressure = close > open ? volume * ((close - open + upperWick * 0.5) / barSpan) :
close < open ? volume * ((upperWick + bodyMass * 0.3) / barSpan) : volume * 0.5
sellPressure = volume - buyPressure
pressureDelta = buyPressure - sellPressure
Pressure analysis validates signal direction:
- Long signals require positive pressure delta
- Short signals require negative pressure delta
- Extreme pressure (>70% of volume) suggests potential exhaustion
The strategy tracks cumulative pressure to identify accumulation and distribution phases.
6. Gauss Smoothing and Fractal Efficiency
The strategy applies 4th-order Gaussian filtering to eliminate noise:
gaussClose := math.pow(alpha, 4) * close +
4 * (1.0 - alpha) * nz(gaussClose ) -
6 * math.pow(1 - alpha, 2) * nz(gaussClose ) +
4 * math.pow(1 - alpha, 3) * nz(gaussClose ) -
math.pow(1 - alpha, 4) * nz(gaussClose )
Fractal efficiency is calculated using logarithmic path measurement:
fractalRatio = totalSpan > 0 ? math.log(rangeSum / totalSpan) / math.log(fractalSpan) : 0.0
fractalEfficiency = math.max(0, math.min(1, (fractalRatio + 1) / 2))
High fractal efficiency (>0.7) validates that momentum signals are backed by clean price action.
7. Laguerre Momentum Transform
The strategy uses adaptive Laguerre filtering for momentum measurement:
gamma = 0.7 * (1 - fractalEfficiency) + 0.1 * fractalEfficiency
L0 := (1 - gamma) * gaussClose + gamma * nz(L0 )
L1 := -gamma * L0 + nz(L0 ) + gamma * nz(L1 )
L2 := -gamma * L1 + nz(L1 ) + gamma * nz(L2 )
L3 := -gamma * L2 + nz(L2 ) + gamma * nz(L3 )
cu = (L0 > L1 ? L0 - L1 : 0) + (L1 > L2 ? L1 - L2 : 0) + (L2 > L3 ? L2 - L3 : 0)
cd = (L0 < L1 ? L1 - L0 : 0) + (L1 < L2 ? L2 - L1 : 0) + (L2 < L3 ? L3 - L2 : 0)
laguerreValue = cu + cd != 0 ? 100 * (cu / (cu + cd)) : 50
fractalMomentum = (laguerreValue - 50) * (1 + fractalEfficiency)
The adaptive gamma adjustment reduces lag during efficient moves and adds smoothing during choppy conditions. Fractal momentum above 20 validates bullish signals, below -20 validates bearish signals.
8. Temporal Flow Dynamics
The strategy analyzes price flow across multiple dimensions:
priceFlow = ta.ema(close, flowPeriod) - ta.ema(close, flowPeriod * 2)
flowDir = priceFlow > 0 ? 1 : -1
flowMagnitude = math.abs(priceFlow) / volatility
flowAccel = ta.change(priceFlow, 3)
Flow analysis provides:
- Flow direction: Confirms trend direction
- Flow magnitude: Measures flow strength relative to volatility
- Flow acceleration: Identifies momentum shifts
The strategy requires flow alignment with signal direction for entry validation.
9. Market Structure Analysis
The strategy tracks pivot highs and lows to identify structure breaks:
pivotTop = ta.pivothigh(high, pivotSpan, pivotSpan)
pivotBottom = ta.pivotlow(low, pivotSpan, pivotSpan)
Structure breaks occur when:
- Bullish: Price breaks above previous pivot high
- Bearish: Price breaks below previous pivot low
Structure shifts (change of character) occur when:
- Bullish: Downtrend breaks above previous pivot high
- Bearish: Uptrend breaks below previous pivot low
The strategy gives bonus confluence points to signals that align with structure breaks or shifts.
10. Order Block and Imbalance Detection
The strategy identifies institutional positioning zones:
orderBlockBull = close < open and close > open and volume > avgVol * 1.2
orderBlockBear = close > open and close < open and volume > avgVol * 1.2
gapUp = low > high and (low - high ) > volatility * 0.3
gapDown = high < low and (low - high) > volatility * 0.3
Order blocks mark zones where institutions placed large orders. The strategy uses these as:
- Entry zones: Look for entries near order blocks in trend direction
- Stop placement: Place stops beyond order blocks for protection
- Target zones: Opposite-direction order blocks become profit targets
Imbalance zones (gaps) often get filled, providing mean-reversion opportunities.
Multi-Dimensional Signal Generation
The strategy generates signals through five independent layers, each containing five detection mechanisms:
Layer 1: Rapid Scalp Signals (5 mechanisms)
- Laguerre oversold + flow bullish + price above fast ribbon
- Pressure index positive + flow reversal bullish
- Momentum bullish + volume surge + price above mid ribbon
- Strong bullish candle + ribbon bullish + pressure positive
- Fractal momentum positive + flow acceleration positive + ribbon aligned
Layer 2: Swing Position Signals (5 mechanisms)
- Ribbon bullish + price above slow ribbon + bullish regime
- Structure break bullish + momentum bullish
- Order block bullish + flow bullish + conviction strong
- Gap up + pressure extreme + ribbon aligned
- Range breakout up + cumulative pressure positive + flow strong
Layer 3: Momentum Continuation (5 mechanisms)
- Fractal momentum extreme + ribbon bullish + conviction strong
- Laguerre oversold + flow bullish + volume surge
- Momentum extreme + fractal momentum positive + ribbon expanding
- Extreme buy pressure + flow acceleration positive + bullish regime
- Bull force > bear force + conviction strong + ribbon aligned
Layer 4: Structure Confirmation (5 mechanisms)
- Structure shift bullish + volume surge
- Order block bullish + price above last pivot low + momentum bullish
- Gap up + flow bullish + ribbon bullish
- Structure break bullish + pressure extreme positive
- Volume absorption + pressure positive + price above mid ribbon
Layer 5: Confluence Boosters (5 mechanisms)
- Ribbon tight + ribbon expanding + ribbon bullish + volume surge
- Net flow positive + temporal force positive + bullish regime
- Fractal efficiency high + Laguerre oversold + flow magnitude strong
- Strong bullish candle + price above previous high + volume extreme
- Velocity positive + flow bullish + ribbon power strong
Each layer contributes 0 or 1 to the bull strength score. The strategy requires minimum confluence (default 2) before entering long positions. This multi-layer approach ensures that signals are validated across multiple independent dimensions.
Risk Management System
The strategy implements institutional-grade risk management:
Position Sizing:
- Risk percentage per trade (default 1% of equity)
- Dynamic adjustment based on volatility percentile
- Reduced sizing during high chaos or low efficiency
Stop Loss Placement:
stopLoss = close - (volatility * slMultiplier)
- ATR-based stops that adapt to current volatility
- Multiplier (default 1.5) provides breathing room
- Stops placed beyond order blocks when possible
Take Profit Targets:
takeProfit = close + (volatility * slMultiplier * tpMultiplier)
- Risk-reward ratio (default 2.5:1)
- Adjusted based on conviction strength
- Wider targets during strong conviction, tighter during weak
Trailing Stop System:
trailStop = close - (volatility * trailOffset)
- Optional trailing stop (default enabled)
- Offset (default 1.2x ATR) balances protection and breathing room
- Activates after position moves into profit
Visual Elements
Adaptive Ribbon: Multi-layer EMA ribbon with gradient coloring showing trend direction and strength
Entry Signals: Triangle shapes sized by signal strength (large for 5+ confluence, small for 2-3 confluence)
Structure Markers: Lines and labels marking structure breaks, shifts, and order blocks
Imbalance Boxes: Boxes marking price gaps and inefficiency zones
Regime Background: Subtle background coloring showing current market regime
Flow Background: Additional background layer showing flow direction
Comprehensive Dashboard: 18-row intelligence panel showing position status, signal strength, regime, ribbon state, pressure, momentum, structure, flow, conviction, Laguerre, volume, volatility, trade statistics, and win rate
The dashboard provides complete strategy intelligence with real-time metrics and performance tracking.
Strategy Parameters
Core Settings:
Ultra-Aggressive Mode: Maximum trade frequency (default enabled)
Min Signal Strength: Minimum confluence required (1-6, default 2)
Risk %: Risk per trade as percentage of equity (0.5-5.0%, default 1.0%)
TP Multiplier: Take profit as multiple of stop distance (1.0-10.0, default 2.5)
SL Multiplier: Stop loss as multiple of ATR (0.5-5.0, default 1.5)
Trailing Stop: Enable/disable trailing stop (default enabled)
Trail Offset: Trailing stop distance as multiple of ATR (0.5-3.0, default 1.2)
Advanced Parameters:
Volatility Period: ATR calculation length (5-50, default 14)
Efficiency Period: Price efficiency calculation period (5-100, default 20)
Flow Period: Temporal flow analysis period (10-50, default 20)
Ribbon Layers: Number of EMA layers (3-15, default 8)
Fast Period: Fastest EMA period (2-20, default 5)
Slow Period: Slowest EMA period (10-100, default 34)
Visualization:
Dashboard: Toggle metrics panel (default enabled)
Entry Signals: Toggle signal shapes (default enabled)
Regime Zones: Toggle background coloring (default enabled)
Adaptive Ribbon: Toggle ribbon display (default enabled)
How to Use This Strategy
Step 1: Configure Risk Parameters
Set risk percentage appropriate for your account size. 1% is conservative, 2% is moderate, 3%+ is aggressive. Never risk more than you can afford to lose on any single trade.
Step 2: Select Minimum Signal Strength
Default 2 provides balanced trade frequency and quality. Increase to 3-4 for higher quality but fewer trades. Decrease to 1 only in ultra-aggressive mode on highly liquid instruments.
Step 3: Adjust Risk-Reward Ratio
Default 2.5:1 provides good balance. Increase to 3-5:1 for swing trading. Decrease to 1.5-2:1 for scalping. Higher ratios require higher win rates to be profitable.
Step 4: Enable/Disable Trailing Stops
Trailing stops protect profits but can exit prematurely. Enable for trend-following, disable for mean-reversion. Adjust trail offset based on instrument volatility.
Step 5: Monitor Dashboard Metrics
Watch "POSITION" status, "BULL STR" and "BEAR STR" scores, "REGIME" classification, and "WIN RATE" percentage. These provide real-time strategy health assessment.
Step 6: Backtest Thoroughly
Test on at least 100 trades across different market conditions. Verify that win rate, profit factor, and drawdown meet your requirements. Adjust parameters if needed.
Step 7: Forward Test on Demo
Run strategy on demo account for at least 1 month before live trading. Verify that live performance matches backtest expectations. Monitor slippage and execution quality.
Step 8: Start Small on Live
Begin with minimum position sizes on live account. Gradually increase as confidence builds. Never risk more than 1-2% of account on any single trade initially.
Best Practices
Use on liquid instruments with tight spreads and reliable execution
Backtest with realistic commission (0.1%) and slippage (2 ticks minimum)
Test across multiple market conditions (trending, ranging, volatile, calm)
Verify minimum 100 trades in backtest for statistical significance
Monitor win rate - should be 45-60% for 2.5:1 risk-reward ratio
Check profit factor - should be >1.5 for robust strategy
Analyze maximum drawdown - should be <20% of account
Review trade distribution - avoid over-concentration in specific periods
Monitor signal strength distribution - most trades should be 3+ confluence
Check regime alignment - strategy should perform in directional regimes
Verify that losses are controlled - no single loss should exceed 2% of account
Ensure adequate trade frequency - at least 2-3 trades per week on daily timeframe
Combine with manual oversight - review signals before execution in early stages
Use appropriate timeframe - 15m-1H for day trading, 4H-1D for swing trading
Avoid trading during major news events unless specifically tested for that
Keep detailed trade journal to identify patterns in wins and losses
Strategy Limitations
Algorithmic strategies cannot predict black swan events or unprecedented market conditions
Backtested performance does not guarantee future results
Slippage and commission in live trading may differ from backtest assumptions
The strategy requires sufficient volatility - may underperform in extremely low volatility
Signal generation depends on multiple calculations - computational lag possible on slow systems
The strategy works best on trending instruments - may struggle in perpetual ranges
Confluence scoring requires all components to be relevant - some may be less meaningful on certain instruments
The strategy cannot account for fundamental catalysts or news events
Trailing stops can exit prematurely during volatile but ultimately profitable moves
The strategy requires adequate liquidity for execution at desired prices
Parameter optimization can lead to overfitting - use walk-forward analysis
The strategy shows what signals exist, not why - market context still matters
Technical Implementation
Built with Pine Script v6 using:
Complete volatility expansion engine with ATR percentile ranking
Price efficiency calculator using path length analysis
Chaos measurement using logarithmic range calculations
Full ADX implementation with directional indicators
8-layer adaptive EMA ribbon with volatility-based spacing
Volume pressure estimation using candle structure analysis
4th-order Gaussian filter for noise elimination
Fractal efficiency measurement using logarithmic path complexity
Adaptive Laguerre transform with 4 cascading filter levels
Temporal flow analysis with direction, magnitude, and acceleration
Pivot-based market structure tracking
Order block and imbalance zone detection
25-factor confluence scoring system across 5 signal layers
Dynamic position sizing based on volatility and regime
ATR-based stop loss and take profit calculations
Optional trailing stop system with volatility adjustment
Comprehensive dashboard with 18 metrics and performance tracking
Alert system for all entry and exit signals
The code is fully open-source with extensive comments explaining each component and signal generation logic.
Originality Statement
This strategy is original and represents a complete trading system built from proprietary knowledge rather than indicator mashups. The strategy is justified because:
It synthesizes 13 independent analytical systems into a unified execution framework
The 25-factor confluence scoring across 5 signal layers provides multi-dimensional validation
Each component is built from first principles using mathematical models and market microstructure concepts
The adaptive nature of the system (volatility, efficiency, regime) ensures relevance across market conditions
Risk management is integrated at the core rather than added as an afterthought
The strategy doesn't rely on any single indicator or pattern - it builds intelligence from multiple independent sources
Fractal efficiency and Laguerre adaptation provide unique momentum measurement not found in standard systems
Temporal flow analysis adds a dimension of price dynamics beyond simple trend following
Market structure tracking provides context that pure indicator-based systems lack
The comprehensive dashboard provides complete strategy intelligence and performance tracking
The system is designed for real trading with realistic risk management, not just backtest optimization
Each component contributes unique intelligence: volatility drives adaptation, efficiency filters conditions, chaos identifies regimes, conviction measures strength, ribbon provides structure, pressure shows order flow, Gauss filtering eliminates noise, fractal efficiency validates momentum, Laguerre provides adaptive momentum, flow tracks dynamics, structure provides context, order blocks mark zones, and confluence validates signals. The strategy's value lies in combining these complementary perspectives into a cohesive, adaptive trading system with institutional-grade risk management.
Disclaimer
This strategy 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 and is not suitable for all investors.
Algorithmic trading strategies are tools for systematic execution, not guarantees of profit. Backtested performance does not guarantee future results. Past strategy performance does not predict future performance. Market conditions change, and strategies that worked historically may not work in the future.
The signals generated are mathematical calculations based on current market data, not predictions of future price movement. High confluence scores, regime alignment, and structure breaks do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this strategy. Users assume full responsibility for all trading decisions made using this tool. Thoroughly backtest and forward test any strategy before live trading.
-Made with passion by officialjackofalltrades Strategy

Precision Pivot Confluence Engine [JOAT]Precision Pivot Confluence Engine
Introduction
The Precision Pivot Confluence Engine is an open-source technical indicator that combines Central Pivot Range (CPR) analysis with Smart Money Concepts (SMC), multi-oscillator divergence detection, and institutional order flow patterns. This mashup integrates multiple proven methodologies into a unified confluence system designed to identify high-probability trading zones where institutional and retail liquidity intersect.
The indicator is built for traders who understand that no single signal provides consistent edge, but multiple confirming factors working together can significantly improve trade selection. By synthesizing CPR levels, Fair Value Gaps, Order Blocks, liquidity sweeps, and divergence patterns, this tool helps identify structural market inflection points.
Chart showing CPR levels, FVG zones, Order Blocks, and divergence signals on 4H timeframe
Why This Mashup Exists
This indicator combines five distinct analytical frameworks that complement each other:
CPR Analysis: Identifies key pivot levels where institutional algorithms and retail traders make decisions
Smart Money Concepts: Tracks Fair Value Gaps, Order Blocks, and Breaker Blocks showing institutional positioning
Divergence Detection: Uses RSI, MACD, and Stochastic RSI to identify momentum exhaustion
Liquidity Analysis: Detects liquidity sweeps where stop hunts occur before reversals
Volume Confirmation: Validates moves with volume analysis and delta calculations
Each component addresses a different aspect of market structure. CPR provides static reference levels, SMC reveals dynamic institutional behavior, divergences show momentum shifts, liquidity sweeps identify stop hunts, and volume confirms genuine moves versus noise. Together, they create a multi-dimensional view of market conditions.
Core Components Explained
1. Enhanced CPR System
The Central Pivot Range system calculates Daily and Weekly pivot levels using the formula:
Pivot = (High + Low + Close) / 3
BC (Bottom Central) = (High + Low) / 2
TC (Top Central) = (Pivot - BC) + Pivot
The indicator analyzes CPR width to determine market regime:
Narrow CPR (width < 0.5%): Indicates compression and potential breakout conditions
Wide CPR (width > 1.5%): Suggests ranging market with less directional conviction
Price position relative to CPR: Above both Daily and Weekly pivots = bullish structure, below = bearish structure
CPR levels act as magnetic zones where price tends to react. The indicator tracks distance from pivots to identify overextension and mean reversion opportunities.
2. Smart Money Concepts Integration
Fair Value Gaps (FVG):
Bullish FVG occurs when current low > high from 2 bars ago, leaving an unfilled gap
Bearish FVG occurs when current high < low from 2 bars ago
The indicator calculates FVG size as percentage of price and filters for significant gaps (> 0.3%) to avoid noise. FVGs represent inefficient price delivery where institutions moved price quickly, often returning to fill these gaps later.
Order Blocks (OB):
Bullish OB: Two consecutive bearish candles followed by strong bullish candle with high volume
Bearish OB: Two consecutive bullish candles followed by strong bearish candle with high volume
Order Blocks mark the last opposite-direction move before a strong impulse, indicating where institutions accumulated or distributed positions.
Breaker Blocks:
Failed Order Blocks that get violated become Breaker Blocks, signaling potential trend reversal. The indicator tracks the last bullish and bearish OB levels and alerts when price breaks through them.
Liquidity Sweeps:
The indicator identifies when price briefly exceeds recent highs/lows (20-bar lookback) but closes back inside the range. These "stop hunts" often precede reversals as institutions trigger retail stops before moving price in the intended direction.
Example showing FVG zones, Order Blocks, and liquidity sweep markers
3. Multi-Oscillator Divergence System
The indicator simultaneously tracks divergences across three oscillators:
RSI Divergence:
Bullish: Price makes lower low, RSI makes higher low (momentum improving despite price weakness)
Bearish: Price makes higher high, RSI makes lower high (momentum deteriorating despite price strength)
MACD Divergence:
Tracks histogram divergences using the same pivot-based logic
Stochastic RSI Divergence:
More sensitive than RSI, catches early momentum shifts
The indicator uses a 5-bar pivot lookback to identify swing highs/lows and compares current pivots with previous pivots to detect divergences. When multiple oscillators show divergence simultaneously, it signals strong momentum exhaustion.
4. Volume Analysis Engine
Volume MA Comparison: Identifies high volume (> 1.5x MA) and climax volume (> 3x MA)
Volume Delta: Cumulative difference between buying volume (green candles) and selling volume (red candles)
Delta Trend: Compares current delta to 20-period MA to identify institutional accumulation or distribution
Volume Confirmation: Validates bullish moves with high volume + rising delta, bearish moves with high volume + falling delta
5. Confluence Scoring System
The indicator calculates a real-time confluence score (0-100) by weighting each component:
Confluence Score Components:
- CPR Position: Up to 15 points (bullish above pivots, bearish below)
- SMC Signals: Up to 10 points (FVG + OB + Breaker + Liquidity Sweeps)
- Divergence: Up to 10 points (single oscillator = 5, multiple = 10)
- Volume: Up to 10 points (confirmed volume = 7, climax = additional 3)
- Trend Alignment: Up to 5 points (price vs key MAs)
Scores above 70 indicate strong confluence for potential trades. The dashboard displays individual component scores for transparency.
Visual Elements
CPR Lines: Daily Pivot (yellow), TC/BC (yellow transparent), Weekly Pivot (yellow circles)
FVG Boxes: Green boxes for bullish FVGs, red boxes for bearish FVGs
Order Block Boxes: Solid green/red boxes marking institutional zones
Breaker Block Labels: "BB" markers when Order Blocks fail
Liquidity Sweep Labels: "LIQ" and "STRONG LIQ" positioned at sweep tips
Divergence Labels: "D" markers at divergence pivot points
Dashboard: Top-right table showing confluence score and component breakdown
How Components Work Together
The mashup creates a layered analysis approach:
Layer 1 - Structure: CPR levels define key zones where reactions are likely
Layer 2 - Institutional Behavior: SMC concepts show where smart money is positioned
Layer 3 - Momentum: Divergences indicate when current trend is losing steam
Layer 4 - Confirmation: Volume validates whether moves are genuine or false
Layer 5 - Synthesis: Confluence score combines all factors into actionable signal
Example scenario: Price approaches Daily Pivot (Layer 1) where a bullish Order Block exists (Layer 2), RSI shows bullish divergence (Layer 3), and volume delta is rising (Layer 4). The confluence score jumps to 85 (Layer 5), signaling high-probability long setup.
Input Parameters
CPR Settings:
Show Daily CPR: Toggle daily pivot levels (default: enabled)
Show Weekly CPR: Toggle weekly pivot levels (default: enabled)
CPR Width Threshold: Defines narrow vs wide CPR (default: 0.5% / 1.5%)
Smart Money Concepts:
Show FVG: Display Fair Value Gap boxes (default: enabled)
Show Order Blocks: Display Order Block boxes (default: enabled)
Show Breaker Blocks: Display Breaker Block labels (default: enabled)
Show Liquidity Sweeps: Display liquidity sweep markers (default: enabled)
FVG Min Size: Minimum gap size to display (default: 0.3%)
Lookback Bars: Bars to scan for liquidity levels (default: 20)
Divergence Detection:
Show Divergences: Toggle divergence labels (default: enabled)
RSI Length: Period for RSI calculation (default: 14)
Pivot Lookback: Bars for pivot detection (default: 5)
Volume Analysis:
Show Volume Analysis: Toggle volume indicators (default: enabled)
Volume MA Length: Period for volume moving average (default: 20)
High Volume Multiplier: Threshold for high volume (default: 1.5x)
Climax Volume Multiplier: Threshold for climax volume (default: 3.0x)
Display Options:
Show Dashboard: Toggle confluence score table (default: enabled)
Max FVG Boxes: Limit displayed FVG boxes (default: 20)
Max OB Boxes: Limit displayed Order Block boxes (default: 15)
Label Spacing: Minimum bars between labels to prevent overlap (default: 10-15)
How to Use This Indicator
Step 1: Identify Market Structure
Check CPR position and width. Narrow CPR suggests breakout potential, wide CPR suggests range-bound conditions.
Step 2: Look for SMC Confluence
Identify FVGs, Order Blocks, and recent liquidity sweeps. These zones often provide high-probability entry areas.
Step 3: Check for Divergences
Look for divergence labels at swing points. Multiple oscillator divergences increase signal strength.
Step 4: Confirm with Volume
Ensure volume supports the move. Rising delta + high volume confirms bullish moves, falling delta + high volume confirms bearish moves.
Step 5: Review Confluence Score
Check the dashboard. Scores above 70 indicate strong confluence. Individual component scores show which factors are contributing.
Step 6: Wait for Price Action Confirmation
The indicator identifies zones and conditions, but wait for price action confirmation (candlestick patterns, breakouts, etc.) before entering trades.
Best Practices
Use on 15-minute to 4-hour timeframes for optimal signal quality
Combine with proper risk management - indicator shows zones, not exact entries
Pay attention to confluence score - higher scores generally indicate better setups
Watch for FVG fills and Order Block retests as entry triggers
Liquidity sweeps followed by reversal often provide excellent risk:reward entries
Divergences work best when combined with SMC zones or CPR levels
Volume confirmation is critical - avoid low-volume signals
Indicator Limitations
Does not provide exact entry/exit signals - requires trader interpretation
Can generate false signals in choppy, low-volume conditions
Multiple visual elements may clutter chart - adjust display settings as needed
Divergences can persist longer than expected - price can continue trending despite divergence
FVGs and Order Blocks don't always get retested - not every zone provides entry opportunity
Confluence score is a guide, not a guarantee - high scores can still result in losing trades
Requires understanding of SMC concepts and CPR analysis for effective use
Performance varies across different markets and timeframes
Technical Implementation
Built with Pine Script v6 using:
Custom CPR calculations with width analysis
Box and label management with anti-overlap logic
Persistent variables for tracking Order Blocks and Breaker Blocks
Pivot-based divergence detection across multiple oscillators
Volume delta calculation with cumulative tracking
Real-time confluence scoring system
Dynamic dashboard with component breakdown
The code is fully open-source and can be modified to suit individual trading styles and preferences.
Originality Statement
This indicator is original in its integration approach. While individual components (CPR, FVG, Order Blocks, RSI divergence, volume analysis) are established concepts, this mashup is justified because:
It synthesizes five distinct methodologies that address different market aspects
The confluence scoring system provides quantitative measurement of setup quality
Anti-overlap logic and timeframe-adaptive filtering reduce visual clutter
Component integration creates layered analysis not available in individual indicators
The combination helps identify zones where multiple institutional and technical factors align
Each component contributes unique information: CPR provides static structure, SMC reveals dynamic institutional behavior, divergences show momentum shifts, liquidity analysis identifies stop hunts, and volume confirms genuine moves. The mashup's value lies in presenting these complementary perspectives simultaneously with a unified scoring system.
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 and is not suitable for all investors.
Technical indicators are tools for analysis, not crystal balls. Past performance and backtested results do not guarantee future performance. Market conditions change, and strategies that worked historically may not work in the future.
The confluence score is a mathematical calculation based on current market data, not a prediction of future price movement. High confluence scores do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Indicator

Z-EMA Fusion BandsDesigned with crypto markets in mind, particularly Bitcoin , it builds on the concept that the 1-Week 50 EMA often serves as a long-term bull/bear market threshold — an area where institutional bias, momentum shifts, and cyclical rotations tend to occur.
🔹 Core Components & Synergies:
1. 1W 50 EMA (Higher Timeframe)
- This EMA is calculated on a weekly timeframe, regardless of your current chart.
- In crypto, price above the 1W 50 EMA typically aligns with long-term bull market phases, while extended periods below can signify bearish macro structure.
- The slope of the EMA is also analyzed to add directional confidence to trend strength.
2. ±1 Standard Deviation Bands
- Surrounding the 50 EMA, these bands visualize normal price dispersion relative to trend.
- When price consistently hugs or breaks outside these bands, it often reflects market expansion, volatility events, or mean-reversion opportunity.
3. Z-Score Gradient Fill
- The area between the bands is filled using a Z-score-based gradient, which dynamically adjusts color based on how far price is from the EMA (in terms of standard deviations).
- Color shifts from aqua (near EMA) to fuchsia (far from EMA) help you spot price compression, equilibrium, or overextension at a glance.
- The fill also uses transparency scaling, making it fade as price stretches further, emphasizing the core structure.
4. Directional EMA Coloring
- The EMA line itself is colored based on:
- The slope of the EMA (rising/falling)
- Whether the HTF candle is bullish or bearish
- This provides intuitive color-coded confirmation of momentum alignment or potential exhaustion.
5. Price/EMA Divergence Detection
- The script detects bullish and bearish divergence between price and the EMA (rather than using a traditional oscillator).
- Bullish Divergence: Price makes a lower low, EMA makes a higher low.
- Bearish Divergence: Price makes a higher high, EMA makes a lower high.
- These signals often mark transitional zones where momentum fades before a trend reversal or correction.
📊 Suggested Uses:
🔸 Swing and Position Trading:
- Use the 1W 50 EMA as a macro-trend anchor.
- Stay long-biased when price is above with positive slope, and short-biased when below.
- Consider entries near band edges for mean-reversion plays, especially if confluence forms with divergence signals.
🔸 Volatility-Based Filtering:
- Use the Z-score fill to identify volatility compression (near EMA) or expansion (edge of bands).
- Combine this with breakout strategies or dynamic position sizing.
🔸 Divergence Confirmation:
- Combine divergence markers with HTF EMA slope for high-probability setups.
- Bullish div + EMA flattening/rising can signal the start of accumulation after a macro dip.
🔸 Multi-Timeframe Analysis:
- Works well as a structural overlay on intraday charts (1H, 4H, 1D).
- Use this indicator to track long-term bias while executing lower timeframe trades.
⚠️ Disclaimer:
This indicator is designed for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset.
Always use proper risk management, and combine with your own analysis, tools, and strategy. Performance in past market conditions does not guarantee future results. Indicator

Volumatic Fair Value Gaps [BigBeluga]🔵 OVERVIEW
The Volumatic Fair Value Gaps indicator detects and plots size-filtered Fair Value Gaps (FVGs) and immediately analyzes the bullish vs. bearish volume composition inside each gap. When an FVG forms, the tool samples volume from a 10× lower timeframe , splits it into Buy and Sell components, and overlays two compact bars whose percentages always sum to 100%. Each gap also shows its total traded volume . A live dashboard (top-right) summarizes how many bullish and bearish FVGs are currently active and their cumulative volumes—offering a quick read on directional participation and trend pressure.
🔵 CONCEPTS
FVGs (Fair Value Gaps) : Imbalance zones between three consecutive candles where price “skips” trading. The script plots bullish and bearish gaps and extends them until mitigated.
Size Filtering : Only significant gaps (by relative size percentile) are drawn, reducing noise and emphasizing meaningful imbalances.
// Gap Filters
float diff = close > open ? (low - high ) / low * 100 : (low - high) / high *100
float sizeFVG = diff / ta.percentile_nearest_rank(diff, 1000, 100) * 100
bool filterFVG = sizeFVG > 15
Volume Decomposition : For each FVG, the indicator inspects a 10× lower timeframe and aggregates volume of bullish vs. bearish candles inside the gap’s span.
100% Split Bars : Two inline bars per FVG display the % Bull and % Bear shares; their total is always 100%.
Total Gap Volume : A numeric label at the right edge of the FVG shows the total traded volume associated with that gap.
Mitigation Logic : Gaps are removed when price closes through (or touches via high/low—user-selectable) the opposite boundary.
Dashboard Summary : Counts and sums the active bullish/bearish FVGs and their total volumes to gauge directional dominance.
🔵 FEATURES
Bullish & Bearish FVG plotting with independent color controls and visibility toggles.
Adaptive size filter (percentile-based) to keep only impactful gaps.
Lower-TF volume sampling at 10× faster resolution for more granular Buy/Sell breakdown.
Per-FVG volume bars : two horizontal bars showing Bull % and Bear % (sum = 100%).
Per-FVG total volume label displayed at the right end of the gap’s body.
Mitigation source option : choose close or high/low for removing/invalidating gaps.
Overlap control : older overlapped gaps are cleaned to avoid clutter.
Auto-extension : active gaps extend right until mitigated.
Dashboard : shows count of bullish/bearish gaps on chart and cumulative volume totals for each side.
Performance safeguards : caps the number of active FVG boxes to maintain responsiveness.
🔵 HOW TO USE
Turn on/off FVG types : Enable Bullish FVG and/or Bearish FVG depending on your focus.
Tune the filter : The script already filters by relative size; if you need fewer (stronger) signals, increase the percentile threshold in code or reduce the number of displayed boxes.
Choose mitigation source :
close — stricter; gap is removed when a closing price crosses the boundary.
high/low — more sensitive; a wick through the boundary mitigates the gap.
Read the per-FVG bars :
A higher Bull % inside a bullish gap suggests constructive demand backing the imbalance.
A higher Bear % inside a bearish gap suggests supply is enforcing the imbalance.
Use total gap volume : Larger totals imply more meaningful interest at that imbalance; confluence with structure/HTF levels increases relevance.
Watch the dashboard : If bullish counts and cumulative volume exceed bearish, market pressure is likely skewed upward (and vice versa). Combine with trend tools or market structure for entries/exits.
Optional: hide volume bars : Disable Volume Bars when you want a cleaner FVG map while keeping total volume labels and the dashboard.
🔵 CONCLUSION
Volumatic Fair Value Gaps blends precise FVG detection with lower-timeframe volume analytics to show not only where imbalances exist but also who powers them. The per-gap Bull/Bear % bars, total volume labels, and the cumulative dashboard together provide a fast, high-signal read on directional participation. Use the tool to prioritize higher-quality gaps, align with trend bias, and time mitigations or continuations with greater confidence. Indicator

Indicator

Indicator

Bull Bear Power with Optional Normalization FunctionThis indicator is designed to provide traders with insights into market sentiment and potential trend reversals. This indicator enhances the traditional Bull Bear Power (BBP) by adding valuable visualizations and customization options to assist traders in making informed trading decisions.
Indicator Overview:
The NBBP indicator calculates Bull Bear Power, which measures the strength of bullish and bearish forces in the market. It does so by taking the difference between the high and the exponential moving average (EMA) of the closing price for a specified length. This raw BBP is represented on the chart as a line.
Key Features:
-- Zero Line : The NBBP indicator introduces a central reference line at zero. This line serves as a pivotal point for interpreting market sentiment. When the BBP line is above zero, it is colored green, indicating a predominance of bullish sentiment. Conversely, when the BBP line is below zero, it turns red, signaling a prevalence of bearish sentiment. This coloration helps traders quickly identify shifts in market sentiment.
-- OPTIONAL Normalization Function : One of the standout features of the NBBP indicator is its optional normalization function. When activated in the settings menu, this function scales the BBP values from -1 to +1. This means that BBP values are adjusted to fit within a standardized range, making it easier for traders to compare sentiment across different timeframes or assets. Normalization is particularly valuable for identifying extreme sentiment conditions and potential reversals.
-- Moving Average : To provide additional context and smooth out BBP fluctuations, the indicator includes an exponential moving average (EMA). The EMA of BBP is plotted on the chart as a white line. Traders can use this moving average to identify trends and potential trend reversals.
-- Fill Between Lines : The indicator visually enhances the BBP by filling the area between the BBP line and the zero line with a translucent color. This fill helps traders visualize the strength and duration of bullish or bearish sentiment.
Interpretation:
-- BBP Line : Traders can assess the raw BBP line for shifts in sentiment. When the line crosses above zero, it may suggest a shift from bearish to bullish sentiment, potentially indicating a buying opportunity. Conversely, when the line crosses below zero, it may signal a shift from bullish to bearish sentiment, suggesting a potential selling opportunity.
-- Normalization Function : The optional normalization function allows traders to gauge sentiment on a standardized scale. Values above 0 indicate bullish sentiment, while values below 0 suggest bearish sentiment. The closer the values are to their polar ends (-1 or +1), the stronger the sentiment.
-- Moving Average : The EMA of BBP helps identify trends. When BBP crosses above the EMA, it may indicate a strengthening bullish trend, while a crossover below the EMA may suggest a bearish trend.
Customization:
The NBBP indicator provides traders with flexibility through customizable settings. Users can adjust the BBP length, EMA length, and choose to activate or deactivate the normalization function based on their trading preferences and strategy.
Limitations:
The NBBP indicator is most effective when used in conjunction with other technical analysis tools and market context. Traders should consider multiple factors when making trading decisions.
Normalization function results may vary depending on the chosen length and market conditions. If the desired result is not achieved through default settings, try changing timeframes or toggling on/off the normalization function. Users should exercise caution and combine it with other indicators and analysis techniques.
In conclusion, the NBBP indicator is a versatile tool that empowers traders to assess market sentiment, identify potential reversals, and follow trends. Its intuitive visualizations, normalization function, and customizable settings make it a valuable addition to any trader's toolkit. Indicator

Indicator

Stock Market Emotion Index (SMEI)Implementation of Charlie Q. Yang's research paper “The stock market emotion index”, subtitle “A New Sentiment Measure Using Enhanced OBV and Money Flow Indicators”, (2007) where he combined “five simple emotion statistics” - Close Emotion Statistic (CES), Money Flow Statistic (MFS), Supply Demand Statistic (SDS), Relative Strength Statistic (RSS), and Psychological Level Statistic (PLS) - into one indicator.
Quotations:
“The index calculation is solely based on observed short term market volatility as reflected by each day’s trading volume, open, high, low, and close prices”
“The basic premise of Dow theory is that the market discounts everything, including the emotions of all traders. The fundamentals of a company do not change suddenly when its daily stock price is fluctuating as driven by human emotions that are often irrational. However, over a longer time period, a company's fundamentals do change. Again, different types of human emotions, triggered by the flow of material events, are moving the stock price trend up or down. This paper summarizes the author’s attempt in understanding primary trend extent and duration by proposing a new sentiment measure using statistical analysis of stock market human emotion.”
Even though “indicator is intended for identifying primary trend cycles that typically last one year or longer“ where Mr. Yang used a fixed averaging length of 260 days and only days as time frame, my implementation has been changed slightly to accommodate for all time frames and to adapt faster using shorter averaging (timeframe dependent).
How to use it:
Positive values indicating a bullish trend and negative values indicating a bearish trend. Background color is set to green or red accordingly.
Positive and negative bar to bar changes are indicated with green and red to show bar to bar (ultra short term) trends.
(No financial advise, use for testing purposed only) Indicator

Indicator

Strategy
