Session Probability Grid [JOAT]Session Probability Grid
Introduction
Session Probability Grid is an open-source session auction map. It builds percent-based ladder levels from the active session open, tracks historical hit behavior for those levels, and displays probability-style context for expansion, exhaustion, and unusual session movement.
The problem it solves is session framing. Traders often know the open is important, but they may not know whether a move is normal for the current symbol and timeframe. This script records session outcomes and converts them into visible ladder probabilities.
Core Concepts
1. Session Open Ladder
The script creates six upside and six downside levels from the session open using configurable percentage steps. These levels frame how far price has moved away from the open.
2. Historical Hit Memory
At the end of each session, the script updates arrays storing hit counts, sample counts, and continuation distance. This creates a rolling sample of how often each ladder has been reached.
3. Opening Range Context
The first configurable number of bars defines the opening range. The session box and opening range box help distinguish early balance from later expansion.
4. Expansion and Exhaustion States
Expansion states identify movement through areas with supportive historical behavior. Exhaustion states mark stretched locations where continuation may be less reliable.
5. Session VWAP Gradient
The optional session VWAP gradient adds a live auction mean reference so ladder movement can be compared against the developing session control line.
Features
Open-relative ladder: Six upside and six downside levels based on configurable percent steps.
Statistical memory: Tracks hit count, sample count, and continuation distance from completed sessions.
Probability cards: Right-side cards show ladder behavior without crowding price.
Expansion and exhaustion states: Highlights meaningful session movement conditions.
Session and opening range boxes: Frames current auction development.
Session VWAP gradient: Adds a developing mean reference.
Candle coloring: Bars can be colored by session state.
Dashboard: Shows session state, nearest ladder, hit probability, expected continuation, and range condition.
Alerts: Upside expansion, downside expansion, upper exhaustion, and lower exhaustion.
Input Parameters
Core Session: Active Session, Opening Range Bars, Stat Sample Cap, Session Range Box, Opening Range Box.
Ladder: Open-Relative Ladders and Step 1 through Step 6.
Signals and Visuals: Auction State Zones, State Projection Bars, Continuation Probability Gate, Right Probability Cards, Session Candle Color, Session VWAP Gradient, Dashboard.
How to Use This Indicator
Step 1: Start from the session open
The ladder levels are built from the open, so they frame the current session relative to its starting price.
Step 2: Compare price to the ladder
As price approaches a ladder level, check the probability card and dashboard for historical hit and continuation context.
Step 3: Distinguish expansion from exhaustion
Expansion and exhaustion states help separate normal auction development from stretched movement.
Indicator Limitations
Probabilities are based on the chart's available historical sessions and are not universal statistics.
Session boundaries depend on the selected exchange/session setting.
The script needs enough completed sessions to build useful samples.
Probability context does not predict future price.
Originality Statement
Session Probability Grid is original in its combination of open-relative ladders, rolling hit memory, continuation-distance storage, session VWAP context, opening range framing, and expansion/exhaustion visualization. It is not just a static percent-level tool; it updates its context from completed session behavior.
Disclaimer
This script is for educational and informational purposes only. It is not financial advice and does not recommend trades. Historical session behavior may not repeat. Use independent analysis and risk management.
Made with passion by jackofalltrades
Indicator

ABCD Pattern Finder**Detailed Indicator Description**
Your indicator is an **ABCD Pattern Finder** for PulseWire. It scans price action for swing-based **AB=CD harmonic-style patterns**, confirms whether the pattern meets your rules, then plots the pattern and related trade levels directly on the chart.
**Core Purpose**
The indicator is designed to find situations where price makes:
**A to B:** an initial impulse move.
**B to C:** a retracement or pullback.
**C to D:** a second move that is approximately equal to the A-to-B move.
When the C-to-D leg completes and passes the filter rules, the indicator treats point **D** as the trade-confirmation area. It then displays an entry reference, stop loss, and three take-profit levels.
**Bullish and Bearish Logic**
A **bullish setup** is one where the completed pattern suggests a potential long trade after point D.
A **bearish setup** is one where the completed pattern suggests a potential short trade after point D.
The indicator uses the sequence of highs and lows to decide whether the pattern is bullish or bearish. It does not simply mark every four-point swing; the swing sequence must form a valid ABCD structure.
**Zigzag Inputs**
**Pivot Bars Left** controls how many bars to the left must be considered when confirming a swing high or swing low.
**Pivot Bars Right** controls how many bars to the right must pass before a pivot is confirmed.
Higher values make the indicator less sensitive and produce fewer patterns. Lower values make it more sensitive and produce more patterns, but with more noise.
**Pattern Quality Inputs**
**Min CD/AB Time Ratio** sets the minimum amount of time the CD leg must take compared with the AB leg. This prevents CD from forming too quickly.
**Max CD/AB Time Ratio** sets the maximum amount of time CD can take compared with AB. This prevents slow, dragged-out CD legs from qualifying.
**AB=CD Equality Tolerance** controls how close the CD leg must be to the AB leg in price size. A value of **0.10** means CD can be within plus or minus 10% of AB.
**Min BC Retracement of AB** sets the shallowest acceptable pullback from B to C.
**Max BC Retracement of AB** sets the deepest acceptable pullback from B to C.
**Min AB Size ATR Multiple** requires the AB leg to be large enough compared with ATR. This helps filter out small, low-quality patterns.
**ATR Length** controls the ATR calculation used for volatility-based filtering and stop placement.
**Disallow Pattern Overlap** prevents a new pattern from being confirmed inside the range of an already confirmed pattern.
**Trade Inputs**
**Stop ATR Buffer Beyond D** places the stop loss beyond point D by a volatility-based buffer. A larger value gives the trade more room, while a smaller value creates a tighter stop.
**TP1 Fibonacci Level** sets the first profit target based on the A-to-D range.
**TP2 Fibonacci Level** sets the second profit target.
**TP3 Fibonacci Level** sets the third profit target.
The default target structure is TP1 at **0.618**, TP2 at **1.0**, and TP3 at **1.382** of the A-to-D range.
**Display Inputs**
**Trade Display Bars Forward** controls how far the entry, stop, and target lines extend to the right of the current candle.
**Show Trade Levels** turns entry, stop loss, and target lines on or off.
**Show ABCD Lines** turns the A-B, B-C, and C-D pattern lines on or off.
**Show ABCD Labels** turns the A, B, C, and D labels on or off.
You can also customize colors for the confirmed pattern, entry line, stop line, and target lines.
**Historical Pattern Inputs**
**Show Historical AB=CD Patterns** controls whether older confirmed patterns remain visible.
**Historical Closed Lookback** controls how many recently closed patterns are included in the historical visual/stat window.
**Closed Trade Lookback** lets you visually rewind and highlight a previous closed trade. A value of **0** shows the most recent trade. A value of **1** shows the trade before that.
**Closed Trade Lookback Color** controls the color used when reviewing an older closed trade.
**Confirmation Triangles**
The indicator can plot a triangle when a pattern is confirmed.
A bullish confirmation uses the bullish triangle color.
A bearish confirmation uses the bearish triangle color.
You can turn these triangles on or off and choose their size: **Tiny, Small, Normal, or Large**.
**AD Line Inputs**
The indicator can draw a line from point **A** to point **D**, extended to the right.
You can control whether this line appears, plus its color, width, and style: **Solid, Dashed, or Dotted**.
**Stats Window**
The stats window displays historical performance for TP1, TP2, and TP3.
For each target, it shows:
**Wins:** how many closed trades reached that target.
**Closed:** how many closed trades were evaluated.
**Rate:** the win rate for that target.
The stats are recalculated using your current trade input settings, so changing stop or target values updates the displayed historical results.
**Alerts**
The indicator includes two alerts:
**New ABCD Pattern Detected** triggers when a valid pattern is found.
**ABCD Pattern Entry at D** triggers when the pattern confirmation/entry condition occurs at point D.
Indicator

Aureon Pressure Lens [JOAT]Aureon Pressure Lens
Introduction
Aureon Pressure Lens is an open-source pressure oscillator designed to classify directional participation, conviction, and transition states in a separate pane. It blends price impulse, EMA structure, momentum, range location, candle body pressure, and relative volume into one bounded score.
The problem it solves is signal quality. A single oscillator can fire during weak, low-participation moves. Aureon Pressure Lens requires pressure, signal-line behavior, relative volume, and component consensus to align before confirmed buy or sell labels appear.
Core Concepts
1. Multi-Component Pressure Blend
The oscillator uses several independent inputs: impulse from prior price, fast/slow structural slope, normalized momentum, range position, and candle body direction.
2. Tanh Normalization
Each component is normalized into a stable bounded range so one volatile input does not dominate the entire reading.
pressureScore = f_tanh(pressureBlend * 1.60) * 100.0
signalLine = ta.ema(pressureScore, signalLength)
3. Consensus Filter
The confidence reading measures how closely the components agree. A signal must satisfy the minimum conviction threshold before it can print.
4. Relative Volume Participation
The script measures current volume against a moving average and uses that reading as a participation gate. The default is permissive enough for broad use while still filtering extremely quiet conditions.
Features
Separate-pane pressure score: Bounded -100 to +100 directional pressure reading
Signal line: Smoothed reference for pressure resets and crossovers
Gradient pressure color: Score color transitions between bearish, neutral, and bullish states
Pressure cloud: Optional fill between pressure and signal line
Confirmed BUY/SELL labels: Closed-bar events filtered by consensus and RVOL
Top-right dashboard: State, bias, pressure, signal, RVOL/conviction, and action
Alerts: Bullish and bearish confirmed pressure resets
Input Parameters
Calculation:
Core Lookback: Main analysis window for impulse and range context
Fast Lens / Slow Lens: EMA structure lengths
Signal Lens: Smoothing length for the signal line
Pressure Sensitivity: Normalization intensity
Min Relative Volume: Participation gate for labels
Min Conviction: Minimum component agreement required for labels
How to Use This Indicator
Step 1: Read the pressure score relative to zero.
Step 2: Use the cloud and signal line to identify pressure resets.
Step 3: Check dashboard conviction and RVOL before acting on labels.
Step 4: Combine with an overlay structure or regime tool for full chart context.
Indicator Limitations
The oscillator measures current pressure, not future price direction
Relative volume can behave differently on symbols with limited volume data
Choppy markets can create repeated signal-line crosses
Confirmed labels appear only after the bar closes
Originality Statement
Aureon Pressure Lens is original because it combines impulse, structure, momentum, range position, candle body pressure, relative volume, and component consensus into a single closed-bar pressure engine with a dedicated dashboard. It does not copy third-party source code.
Disclaimer
This open-source indicator is for educational and informational purposes only. It is not financial advice. Markets can change quickly, and no pressure reading guarantees a future move. Use risk controls and independent analysis.
-Made with passion by jackofalltrades
Indicator

Wolfe Wave Indicator**Wolfe Wave Indicator Description**
This indicator is a strict Wolfe Wave scanner and trade tracker built for cleaner pattern identification, trade-level plotting, and simple performance tracking.
It detects bullish and bearish Wolfe Wave structures from confirmed pivot highs and lows. A bullish setup requires a five-point sequence where point 3 is lower than point 1, point 5 is lower than point 3, point 4 remains inside the point 1 to point 2 price range, and point 5 forms near the projected point 1 to point 3 line. A bearish setup uses the inverse structure, requiring point 3 above point 1, point 5 above point 3, point 4 inside the point 1 to point 2 range, and point 5 near the projected point 1 to point 3 line.
The pattern begins as a pending Wolfe Wave once the five-point structure is detected. A trade confirms only after price closes back inside the point 1 to point 3 line. The script supports two entry styles: confirmation close or point 4 break. The stop loss is placed beyond point 5, with an optional tick buffer.
Targets are based on the Wolfe Wave EPA line. The EPA line is drawn from point 1 to point 4. TP1, TP2, and TP3 are calculated as user-defined portions or extensions of the distance from entry to the EPA line value at confirmation. By default, TP1 is halfway to the EPA line, TP2 is the EPA line target, and TP3 is an extension beyond the EPA line.
Trades remain open until either the stop loss is hit or TP3 is reached. TP1 and TP2 are tracked as partial target achievements, but they do not close the trade. Stats update only when a trade is fully closed. If the stop and TP3 are both touched on the same candle, the stop has priority.
By default, the indicator allows only one open Wolfe trade at a time. While one trade is open, no new Wolfe pattern will form or confirm. This is intentional and keeps the stats cleaner by avoiding overlapping trade signals. A user toggle is included to allow multiple open trades for those who want to use it more like a pattern scanner.
Visual behavior is simple. Pending patterns are yellow. Confirmed active trades are orange and display entry, stop loss, TP1, TP2, and TP3 levels. Closed historical patterns are purple. A display option allows the EPA line and point 1 to point 3 projection line to appear only on pending or active patterns, keeping historical patterns cleaner and reducing chart clutter.
This indicator is designed as a structured Wolfe Wave trade model, not a loose discretionary drawing tool. It uses strict validation rules, confirmed pivots, defined entry logic, defined stop logic, EPA-based targets, and closed-trade statistics.
Indicator

Indicator

Crossframe Bias Ledger [JOAT]Crossframe Bias Ledger
Introduction
Crossframe Bias Ledger is an open-source non-repainting higher-timeframe bias overlay built to align an intermediate timeframe, a major timeframe, and the local chart into one directional map. It uses safely delayed `request.security()` calls, crossframe basis clouds, premium/discount rails, alignment boxes, execution-state labels, and an optional TP/SL scaffold on fresh confirmed alignment shifts.
The script solves directional context across timeframes. Many local signals fail because they are taken against dominant higher-timeframe structure. Crossframe Bias Ledger keeps the user anchored to higher-timeframe alignment while still making the output actionable on the trading timeframe.
Core Concepts
1. Safe Higher-Timeframe Requests
All higher-timeframe values are retrieved using delayed indexing so incomplete higher-timeframe bars do not leak into the current chart:
idxHigher = barstate.isrealtime ? 1 : 0
idxCurrent = barstate.isrealtime ? 0 : 1
2. Primary and Secondary Trend Stacks
Fast, slow, and signal EMAs are retrieved from two higher timeframes and converted into directional scores.
3. Premium / Discount Map
The two higher-timeframe bases define a premium/discount zone. Price trading above the upper rail is treated as premium. Price trading below the lower rail is treated as discount. Price between them is treated as rebalancing.
4. Fresh Alignment Shifts
When the crossframe score crosses into confirmed bullish or bearish alignment, the script marks this as a fresh state transition and can build an informational TP/SL ladder.
5. Rebalance vs Continuation Logic
The script distinguishes rebalancing entries inside the premium/discount box from continuation conditions outside it.
Features
Non-repainting crossframe logic: Uses safely delayed higher-timeframe requests
Dual cloud system: Primary and secondary timeframe clouds on the chart
Premium / discount rails: Crossframe valuation map between the two HTF bases
Bias box: Forward execution window for the current crossframe state
Fresh alignment detection: Distinguishes a new bull/bear shift from an already active state
Continuation and rebalance readouts: Shows whether price is extending or rebalancing
Optional TP/SL ladder: Informational scaffold for new alignment shifts
Top-right dashboard: Displays state, signal, timeframe bias, location, execution mode, basis, and score
How to Use This Indicator
Step 1: Read whether the state is aligned up, aligned down, or mixed.
Step 2: Check if price is trading in premium, discount, or rebalance territory.
Step 3: Use fresh shifts to identify new state transitions. Use continuation and rebalance readings to differentiate execution style.
Step 4: Keep local entries aligned with the dominant crossframe bias whenever possible.
Indicator Limitations
Higher-timeframe logic is intentionally delayed for safety, so it will not react as quickly as unstable lookahead-based implementations
Premium/discount interpretation depends on the chosen timeframes
Mixed states are intentional and may persist when higher timeframes disagree
The TP/SL ladder is informational and does not place trades
Originality Statement
Crossframe Bias Ledger is original in the way it combines safe higher-timeframe delay logic, dual-basis premium/discount mapping, fresh alignment shifts, and execution-state scaffolding into one open-source overlay. The script is intended to provide a reusable top-down directional framework rather than a generic MTF trend line.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Higher-timeframe alignment may still fail, reverse, or become mixed as new data forms. Always use independent analysis and risk management.
-Made with passion by jackofalltrades
Indicator

Momentum Covenant Bias [JOAT]Momentum Covenant Bias
Introduction
Momentum Covenant Bias is an open-source momentum pane designed to classify whether the market is in a constructive, defensive, balanced, or compressed state. It blends WaveTrend timing, RSI displacement, normalized trend distance, compression logic, layered state bands, pane boxes, and an optional force-overlay TP/SL scaffold when fresh confirmed momentum shifts occur.
This indicator is meant to solve timing. Trend and auction context can describe where the market is, but they do not always tell you whether momentum is actually participating in the current move. Momentum Covenant Bias translates several independent momentum dimensions into one composite state engine and presents them in a clean, institutional-style pane.
Core Concepts
1. WaveTrend Timing
WaveTrend serves as the primary turning-point rhythm engine. The script uses the relationship between the main line and signal line to measure timing pressure.
2. RSI Displacement
RSI is evaluated not only relative to 50, but also relative to its own smoothed mean. This helps distinguish raw strength from persistent displacement.
3. Normalized Trend Distance
Price distance from the slower trend baseline is normalized by ATR so the output remains portable across markets with different price scales.
4. Compression State
Compression logic compares recent range behavior to a slower baseline. This helps identify lower-energy conditions before expansion.
5. State Boxes and Overlay Scaffold
The pane includes positive, negative, and compression zones, and can project a force-overlay TP/SL scaffold on the chart when a fresh momentum shift is confirmed.
Features
Composite momentum score: Combines WaveTrend, RSI, trend distance, and compression context
Signal line: Smoothed line for momentum transitions
Layered state bands: Positive, negative, and extension zones rendered as gradients
Compression boxes: Visual isolation of low-energy conditions
Top-right dashboard: Displays composite score, signal, wave state, RSI, compression, trend distance, and scaffold status
Force-overlay TP/SL scaffold: Optional informational rails on fresh positive or negative momentum shifts
Confirmed-bar state promotion: Uses confirmed bars for event states instead of unstable intrabar triggers
How to Use This Indicator
Step 1: Read the composite state first. Balanced states should be interpreted differently from impulse states.
Step 2: Compare the composite score to the signal line. Fresh separation often matters more than absolute level alone.
Step 3: Watch compression zones. These can help explain why a market is not yet extending despite directional context elsewhere.
Step 4: If using the optional scaffold, treat it as a planning aid that reflects momentum state, not as a standalone trade system.
Indicator Limitations
Momentum state can reverse quickly in whipsaw markets
Compression logic can remain active for extended periods in slow markets
WaveTrend and RSI are still derivatives of price and can lag during violent reversals
The overlay scaffold is informational and does not execute orders
Originality Statement
Momentum Covenant Bias is original in the way it combines multi-source momentum confirmation, pane state boxes, gradient regime presentation, and force-overlay planning rails in one open-source script. The indicator is intended as a timing layer that complements structure and auction context instead of replacing them.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Momentum conditions are derived from historical price behavior and may fail or reverse without warning. Use proper risk management and independent validation.
-Made with passion by jackofalltrades
Indicator

Wave Navigator Cycle [Adaptive]Wave Navigator Cycle
Overview
The Wave Navigator System is a comprehensive technical indicator designed to trade the "Distorted Cycle." Unlike traditional indicators that lag behind price, this system uses an Adaptive Sine Wave to map out market phases in real-time, helping traders identify when the market is in a state of Preparation, Expansion (Ride the Wave), or Distribution.
This tool integrates high-probability Smart Money Concepts (SMC) including Liquidity Sweeps, Displacement, and Fair Value Gaps (FVG) to provide a complete roadmap for trend following and reversal trading.
Key Features
1. Adaptive Sine Wave Cycle
At the core of this indicator is a dynamic sine wave anchored to an ALMA (Arnaud Legoux Moving Average).
- Preparation Phase: Price is at the cycle bottom (Low Zone), looking for Sell-Side Liquidity.
- Ride the Wave: The sine wave turns green and rises, signalling a bullish trend expansion.
- Distribution Phase: Price reaches the cycle peak (High Zone), looking for Buy-Side Liquidity.
- Displacement Down: The sine wave turns red, signalling a shift in market structure and a bearish move.
2. Liquidity Sweep Detection
The indicator automatically marks "Equal Highs" and "Equal Lows" that have been swept.
- X Marks: Buy-Side Liquidity Sweeps (Potential Short setups).
- Triangle Marks: Sell-Side Liquidity Sweeps (Potential Long setups).
3. Smart Displacement & FVGs
The system doesn't just look for big candles; it calculates Relative Displacement. When price moves with high volume and volatility, the indicator identifies Fair Value Gaps (FVG).
- Emerald Boxes: Bullish FVGs (Targets for "Retrace to FVG" longs).
- Maroon Boxes: Bearish FVGs (Targets for "Retrace to FVG" shorts).
4. Real-Time Dashboard
A built-in HUD (Heads-Up Display) in the top-right corner monitors the Cycle Power and explicitly labels the current market phase, so you never have to guess where you are in the "Distorted Cycle."
---
How to Trade with Wave Navigator
1. Identify the Zone: Look for the Sine Wave to enter the "Preparation" (Low) or "Distribution" (High) zones.
2. Wait for the Sweep: Look for a Liquidity Sweep icon to appear at the cycle extremes.
3. Confirm with Displacement: Wait for a Displacement Arrow and a coloured Sine Wave flip (Green for Up / Red for Down).
4. The Entry: Enter on the Retrace to FVG (the coloured boxes) once the wave has begun its new direction.
Settings
- Base MA Length: Adjust this to change the "frequency" of the wave (Higher = Swing Trading, Lower = Scalping).
- Displacement Sensitivity: Fine-tune how "aggressive" the price move must be to trigger an FVG.
- Sine Opacity: Customise the visual intensity of the trend wave.
Disclaimer: Trading involves significant risk. This indicator is a tool for analysis and should be used in conjunction with a robust trading plan and proper risk management.
("Updated visual presentation") Indicator

Wave Navigator Cycle [Adaptive] Wave Navigator Cycle
Overview
The Wave Navigator System is a comprehensive technical indicator designed to trade the "Distorted Cycle." Unlike traditional indicators that lag behind price, this system uses an Adaptive Sine Wave to map out market phases in real-time, helping traders identify when the market is in a state of Preparation, Expansion (Ride the Wave), or Distribution.
This tool integrates high-probability Smart Money Concepts (SMC) including Liquidity Sweeps, Displacement, and Fair Value Gaps (FVG) to provide a complete roadmap for trend following and reversal trading.
Key Features
1. Adaptive Sine Wave Cycle
At the core of this indicator is a dynamic sine wave anchored to an ALMA (Arnaud Legoux Moving Average).
- Preparation Phase: Price is at the cycle bottom (Low Zone), looking for Sell-Side Liquidity.
- Ride the Wave: The sine wave turns green and rises, signalling a bullish trend expansion.
- Distribution Phase: Price reaches the cycle peak (High Zone), looking for Buy-Side Liquidity.
- Displacement Down: The sine wave turns red, signalling a shift in market structure and a bearish move.
2. Liquidity Sweep Detection
The indicator automatically marks "Equal Highs" and "Equal Lows" that have been swept.
- X Marks: Buy-Side Liquidity Sweeps (Potential Short setups).
- Triangle Marks: Sell-Side Liquidity Sweeps (Potential Long setups).
3. Smart Displacement & FVGs
The system doesn't just look for big candles; it calculates Relative Displacement. When price moves with high volume and volatility, the indicator identifies Fair Value Gaps (FVG).
- Emerald Boxes: Bullish FVGs (Targets for "Retrace to FVG" longs).
- Maroon Boxes: Bearish FVGs (Targets for "Retrace to FVG" shorts).
4. Real-Time Dashboard
A built-in HUD (Heads-Up Display) in the top-right corner monitors the Cycle Power and explicitly labels the current market phase, so you never have to guess where you are in the "Distorted Cycle."
---
How to Trade with Wave Navigator
1. Identify the Zone: Look for the Sine Wave to enter the "Preparation" (Low) or "Distribution" (High) zones.
2. Wait for the Sweep: Look for a Liquidity Sweep icon to appear at the cycle extremes.
3. Confirm with Displacement: Wait for a Displacement Arrow and a coloured Sine Wave flip (Green for Up / Red for Down).
4. The Entry: Enter on the Retrace to FVG (the coloured boxes) once the wave has begun its new direction.
Settings
- Base MA Length: Adjust this to change the "frequency" of the wave (Higher = Swing Trading, Lower = Scalping).
- Displacement Sensitivity: Fine-tune how "aggressive" the price move must be to trigger an FVG.
- Sine Opacity: Customise the visual intensity of the trend wave.
Disclaimer: Trading involves significant risk. This indicator is a tool for analysis and should be used in conjunction with a robust trading plan and proper risk management.
(Updated visual presentation) Indicator

Meridian Imbalance Ledger [JOAT]Meridian Imbalance Ledger
Introduction
Meridian Imbalance Ledger is an open-source imbalance mapping tool that tracks confirmed chart-timeframe, higher-timeframe, and micro-structure fair value gaps inside one coordinated framework. The script is designed to answer three practical questions: where imbalance was created, whether that imbalance is still active, and how price is behaving when it returns to those zones.
The indicator solves a context problem. Many imbalance tools only mark a gap once and leave the trader to manually judge whether it remains relevant. Meridian instead maintains a living ledger of active zones, inversion status, fill progress, age, and structural pressure so the chart shows which imbalances still matter and which ones have been consumed.
Core Concepts
1. Multi-source imbalance detection
Meridian separates imbalance generation into three sources:
Chart timeframe imbalances
Higher-timeframe imbalances requested with non-repainting offset logic
Optional micro-structure imbalance scans from lower-timeframe data
This allows a trader to see whether current price is interacting with local inefficiency, inherited higher-timeframe inefficiency, or smaller sub-bar displacement inside the current bar structure.
2. Fill progress and retirement logic
Each zone remains active until its fill rule is satisfied. The script supports configurable retirement behavior so zones can be treated as mitigated on a simple touch, midpoint interaction, or deeper body-based invalidation depending on the chosen rule set.
3. Inversion tracking
If price meaningfully breaches an imbalance, the zone can be treated as structurally altered rather than simply forgotten. Meridian keeps inversion state so prior bullish inefficiency can become resistance context and prior bearish inefficiency can become support context.
4. Age and pressure weighting
Not all zones deserve equal weight. Meridian tracks zone age and active count to create a pressure ratio that helps communicate whether bullish or bearish imbalance structure is dominating the chart right now.
Features
Chart, HTF, and micro imbalance layers: Multiple imbalance sources displayed in one coordinated ledger
Non-repainting HTF requests: Higher-timeframe data requested using historical offsets for safer confirmed context
Fill-progress tracking: Zones remain active until their configured retirement condition is met
Inversion state handling: Breached imbalances can remain visible as flipped structural context
Age-aware zone fading: Older zones visually decay to reduce clutter while retaining context
Pressure ratio and active counts: Quick read on whether bullish or bearish imbalance pressure is leading
Compact top-right dashboard: Displays counts, inversion totals, micro scan status, and bias ratio
Confirmed-bar alerts: New imbalance, inversion, and state transitions only trigger on confirmed bars
How to Use This Indicator
Step 1: Identify whether current price is trading inside fresh chart-timeframe imbalance or approaching older inherited imbalance from a higher timeframe.
Step 2: Use the dashboard counts and bias ratio to judge whether current imbalance structure is skewed toward support or resistance.
Step 3: Monitor inversion states. A previously bullish zone that has failed cleanly may become useful resistance context on retests.
Step 4: Treat micro imbalance scans as execution detail, not a standalone trend signal. The broader chart and HTF layers should carry more decision weight.
Limitations
Micro-structure scans depend on lower-timeframe availability and plan limits
HTF imbalances are intentionally delayed by one completed HTF bar to reduce repaint risk
An imbalance zone is contextual, not a guarantee of reversal or continuation
Originality Statement
Meridian Imbalance Ledger is original in the way it combines confirmed chart imbalances, non-repainting higher-timeframe imbalance inheritance, optional micro scans, and zone lifecycle management into one stateful framework. The script is intended as a structured market context layer, not a one-click entry signal.
Disclaimer
This indicator is provided for educational and informational purposes only. It does not provide financial advice or trade recommendations. Imbalance reactions can fail, invert, or be ignored entirely by the market. Always use independent confirmation and risk management.
Indicator

Indicator

Cody Zig ZagCody Zig Zag Indicator - Complete Explanation
This is a Zig Zag indicator that replicates the MetaTrader 4 (MT4) version, which works differently than PulseWire's built-in Zig Zag. Here's what it does:
🎯 What is a Zig Zag Indicator?
It filters out minor price movements to show only significant swing highs and swing lows, helping you identify trends and chart patterns (head & shoulders, double tops/bottoms, etc.).
⚙️ User Settings (Inputs)
Setting Default What It Does
Depth 6 Lookback period to find local highs/lows
Deviation 5 Minimum price change (in ticks) to form a new swing point
Backstep 2 Minimum bars between swing points
Line Thickness 2 Zig Zag line width
Bull Color Lime Color for upward moves
Bear Color Red Color for downward moves
Repaint Levels true If ON, lines/labels adjust real-time; if OFF, they lock on close
🔍 How It Works (The "Bake" Section)
Step 1: Find Potential Pivot Points
p_lw = Most recent low within Depth bars
p_hg = Most recent high within Depth bars
Checks if price moved enough (Deviation * tick size) to qualify
Step 2: Determine Direction
down = Boolean (true = bearish/downward leg, false = bullish/upward leg)
Tracks whether we're connecting a high→low (down) or low→high (up)
Step 3: Draw Zig Zag Lines
Connects alternating swing highs and swing lows
Labels each point as:
HH = Higher High
LH = Lower High
LL = Lower Low
HL = Higher Low
🏷️ Labels Explained
When price makes a new swing point, you'll see:
HH (Higher High) - Bullish continuation signal
LH (Lower High) - Bearish reversal signal
LL (Lower Low) - Bearish continuation signal
HL (Higher Low) - Bullish reversal signal
📊 Visual Features
Colored Zig Zag lines: Green for up-legs, Red for down-legs
Background color: Green during bullish legs, Red during bearish legs (90% transparent)
Labels: Tiny triangles pointing up/down with text
⚠️ Repaint Behavior (Important!)
Repaint = ON (default) Repaint = OFF
Lines/labels update in real-time Locks on bar close
Can "repaint" history More reliable for backtesting
Good for real-time trading No historical repainting
Warning: Zig Zag indicators naturally repaint because they need future bars to confirm pivot points. The repaint option controls HOW they repaint.
🚨 Alerts
This script triggers alerts when:
Direction Changed - Zig Zag switches from up to down or down to up
Bullish Direction - Switches from down to up
Bearish Direction - Switches from up to down
📈 How to Use
Identify Trend: Upward Zig Zag = Uptrend; Downward = Downtrend
Find Patterns: Look for HH/HL patterns (bullish) or LH/LL patterns (bearish)
Divergence: Compare Zig Zag swings with oscillator indicators
Support/Resistance: Swing points act as natural S/R levels
⚡ Quick Summary
This indicator draws a line connecting significant price swings, ignoring small noise. It's great for:
Visualizing trend structure
Identifying chart patterns
Finding entry/exit levels
Spotting trend reversals Indicator

Cody Zig Zag Cody Zig Zag – MT4-Style Zig Zag for PulseWire
The ZigZag indicator that actually works like the classic MT4 version!
🔍 Overview
Cody Zig Zag is a powerful, fully customizable ZigZag indicator that replicates the exact behavior of the popular MetaTrader 4 (MT4) ZigZag. Unlike PulseWire's built-in ZigZag, this version behaves identically to what MT4 traders know and love – making it perfect for Elliott Wave traders, support/resistance hunters, and breakout specialists.
⚙️ Input Parameters (Just like MT4!)
Parameter Default Description
Depth 12 Minimum number of bars between swing points
Deviation 5 Minimum price movement (in ticks) to form a new swing
Backstep 2 Minimum bars between swing points of the same type
Line Thickness 2 Visual weight of the ZigZag line
Bull Color Lime Color for upward swings
Bear Color Red Color for downward swings
Repaint Levels True Enables real-time repainting (MT4 style)
🎯 Key Features
✅ TRUE MT4 BEHAVIOR – Exact replication of MetaTrader 4's classic ZigZag algorithm
✅ INTELLIGENT LABELS – Automatically identifies HH (Higher High), LH (Lower High), LL (Lower Low), and HL (Higher Low)
✅ REAL-TIME UPDATES – Optional repainting mode for live market analysis
✅ DIRECTION BACKGROUND – Visual market direction indicator (Green = Bullish, Red = Bearish)
✅ ALERT CONDITIONS – Get notified when the ZigZag direction changes
💡 How to Use
For Beginners:
Just add the indicator to your chart – the default settings (12,5,2) work perfectly for most timeframes!
For Advanced Traders:
Lower Depth (5-8) → More swings, more detail (scalping/1min charts)
Higher Depth (12-20) → Cleaner swings, fewer signals (swing trading/4H+ charts)
Adjust Deviation → Control minimum swing size based on volatility
🎨 Visual Guide
Lime Line = Price moving UP
Red Line = Price moving DOWN
HH Label = Higher High (uptrend continuation)
LH Label = Lower High (potential reversal down)
LL Label = Lower Low (downtrend continuation)
HL Label = Higher Low (potential reversal up)
📊 Best For
📌 Elliott Wave Counting – Perfect for identifying wave structure
📌 Support & Resistance – Automatically marks swing highs/lows
📌 Breakout Trading – Visualize clear break levels
📌 Divergence Trading – Spot hidden/regular divergences with RSI/MACD
📌 Harmonic Patterns – Identify XABCD patterns easily
⏰ Alert Conditions
Direction Changed – Triggered whenever the ZigZag changes direction
Bullish Direction – When price starts moving up
Bearish Direction – When price starts moving down
🔧 Troubleshooting
Q: Why does the indicator "repaint"?
A: That's how MT4 ZigZag works! Repainting shows the most accurate real-time swing points. Turn OFF "Repaint Levels" if you prefer traditional non-repainting behavior.
Q: What timeframes work best?
A: Works on ALL timeframes! Lower Depth values (5-8) for lower timeframes, higher Depth (12-20) for higher timeframes.
Q: Can I use this for automated strategies?
A: Yes! The alert conditions can trigger pulsewire alerts for manual or webhook-based trading.
🙏 Credits
Original MT4 ZigZag logic ported to Pine Script™ v6 by lucemanb
Renamed and optimized as Cody Zig Zag
📝 Keywords
ZigZag MT4 Elliott Wave Swing High Swing Low Support Resistance Divergence Breakout Harmonic Patterns Price Action Trend Reversal Higher High Lower Low Technical Analysis PulseWire Indicator Free Indicator
⭐ Support & Feedback
If you find this indicator useful:
Like & Follow for more tools
Leave a review with your suggestions
Share with your trading community
Happy Trading! 🚀
Disclaimer: This indicator is for educational and analytical purposes. Past performance does not guarantee future results. Always practice proper risk management. Indicator

Indicator

Institutional Multi-Model AlphaOverview
The Institutional Multi-Model Alpha is a quantitative "voting" system that aggregates seven independent algorithmic modules to determine market direction. Instead of relying on a single indicator, this tool acts as a Committee of Models, only firing long or short signals when a specific user-defined threshold of mathematical agreement is met.
The 7 Quantitative Modules
Kalman Filter: A noise-reduction algorithm that tracks the underlying price trend by filtering out "market noise."
Stat-Arb Z-Score: Measures price deviation from the mean (Standard Deviation) to identify extreme overbought/oversold conditions.
Regime Detection: Uses the ADX (Average Directional Index) and 200-day SMA to determine if the market is trending or ranging.
Volatility Risk: Analyzes the Rate of Change (ROC) of volatility to identify periods of stabilizing or expanding risk.
Linear Regression Slope: Measures the velocity and angle of the current price trend.
Momentum Cluster: Combines RSI and ROC to confirm that price movement is backed by real strength.
Beta/Correlation (SPY): Analyzes the asset's correlation to the S&P 500 (SPY) to ensure the move is supported by broader market beta.
Key Features
Ensemble Scoring: Each module outputs a score of +1 (Bullish), -1 (Bearish), or 0 (Neutral).
Weighted Thresholds: Users can set a "Signal Threshold" (e.g., 3). A signal only triggers when the net score across all 7 models exceeds that number.
Real-Time Dashboard: A visual table on the chart displays the status of every internal module simultaneously, providing full transparency into why a signal is occurring.
Multi-Asset Analysis: Includes an integrated request.security call to pull S&P 500 data for institutional-grade correlation analysis.
[Technical Specifics
Script Version: Pine Script v6
Overlay: Yes (Plots directly on price)
Visuals: Dynamic background coloring, trend-following "Quant Line," and signal shapes for easy entry/exit identification.
How to Use
Confirmation: Use the Dashboard to see if the majority of models are aligned.
Aggressive vs. Conservative: Lower the Threshold input for more frequent signals, or raise it to 5 or 6 for high-conviction, institutional-style setups.
Trend Following: The central line (Kalman Filter) changes color based on the aggregate score, serving as a dynamic trailing stop or trend bias indicator.
Indicator

Harmonic Auto-Validator [GBB]Harmonic Auto-Validator
I built this because every harmonic indicator I tried on PulseWire was doing something weird with the math.
Some draw "Gartleys" where B sits at 0.5 of XA instead of 0.618. Some skip the AB=CD validation entirely. Some draw a single line for D instead of the actual PRZ zone Carney describes in his books. After spending too many evenings trying to reverse-engineer what a few popular ones were actually checking, I decided to write my own from scratch and stick to the methodology Scott Carney lays out in "Harmonic Trading Volume One" (2004) and "Volume Two" (2007).
This is the result. Six patterns, strict ratio checks, PRZ rendered as a real zone with outlier filtering, embedded AB=CD validation, and a 0-10 score that reflects how clean the geometry actually is.
What it detects
Gartley — B at 0.618 XA, D at 0.786 XA
Bat — B around 0.5, D at 0.886
Alt Bat — B shallow (0.382), D at 1.13 (extends past X)
Butterfly — B at 0.786, D at 1.272
Crab — B around 0.5, D at 1.618
Deep Crab — B at 0.886, D at 1.618
Three tolerance presets (Strict / Standard / Lenient) control how forgiving the ratio checks are. Standard uses tolerances close to what Carney published; Lenient widens by ~40% for charts where you want to see more candidates; Strict is for when you only want near-perfect geometry.
What's actually different about this one
PRZ as a zone, not a line. Most indicators draw D at a single Fibonacci level. Carney's actual methodology defines D as a Potential Reversal Zone — the convergence envelope of multiple projections (0.786 XA, 1.27 BC, 1.618 BC, AB=CD for Gartley; different sets per pattern). HAV computes that zone, filters outliers more than 3 ATR from the median projection, and draws the resulting box. When the zone is tight (projections converge), the score goes up. When it's wide, the score goes down. This is information you actually need before deciding whether to trade the pattern.
Embedded AB=CD validation . Carney is pretty firm in the books: a harmonic pattern without an AB=CD that lands inside the PRZ is incomplete. HAV checks this explicitly and applies a -2 score penalty when the AB=CD doesn't converge. Patterns missing this convergence get a ⚠ icon on the label so you can see at a glance which ones are textbook vs. which ones are partial.
0-10 quality score combining ratio precision (how close B and D are to their ideal Fibonacci levels), PRZ tightness (how narrow the convergence zone is relative to ATR), and confluence count (how many projections actually landed inside the zone). The default `Min Score` filter is 6, but you can raise it for higher-conviction-only scanning or lower it to see more candidates.
Confirmed-only display by default . No "forming" patterns that disappear when D doesn't print where projected. When HAV draws a pattern, the geometry is locked in. There's an opt-in **Borderline mode** that shows patterns scoring 4.0-5.9 with dashed lines and a (B) prefix on the label — useful for confluence with other tools or for educational purposes, but these never trigger alerts.
Diagnostics table showing exactly what the engine is doing: how many 5-pivot windows it tested, where each gate filtered candidates (direction / structure / XA size / each ratio band / confluence / score), how many of each pattern type were accepted. If you're wondering "why didn't HAV draw a Gartley on this chart that I can see with my eyes," the diagnostics will usually tell you which gate it failed.
Alerts
Two ways to get alerted when something fires.
Unified alert with JSON payload — set up one alert on "Any alert() function call" and you'll get structured JSON when any pattern of any direction confirms. The payload includes ticker, timeframe, pattern type, direction, score, AB=CD convergence status, PRZ top and bottom, all four ratios, and the prices and timestamps of all five pivots. Plug it into a webhook for Telegram, Discord, your own backend, whatever. This is what I use for scanning many charts at once and routing everything to a single notification stream.
12 named alert conditions — bullish/bearish × 6 patterns. If you just want "alert me on Crab patterns on this one chart" without messing with webhooks, these show up in PulseWire's standard alert dialog.
Both fire on bar close only. No repainting.
Honest expectations on signal frequency
Harmonic patterns are rare on any single chart. Like, actually rare. Across my testing:
Daily timeframe, you might get 1-4 patterns per year on a single instrument
4H, maybe 5-15 patterns per month
Lower TFs (5m, 15m), dozens per week
This is by design — strict ratio checking filters out most of the 5-pivot zigzags that other indicators happily call "harmonic patterns." If you put HAV on one daily chart and stare at it for a week expecting signals, you will be disappointed.
The way this thing actually shines is across many charts at once. Drop it on 30+ instruments across daily and 4H, set up the unified JSON alert, route to a Telegram channel or Discord webhook, and let the patterns come to you. That's the workflow it's built for.
What it is and isn't
It is: a pattern detection and verification tool. A confluence/confirmation aid for traders who already have a setup and want to know if a harmonic pattern is also forming there. A teaching tool — the diagnostics show you exactly what's happening at every step.
It isn't: a complete trading system. There are no entry signals, no SL/TP automation, no win-rate claims. The decision to trade a pattern is yours, and Carney's books contain the actual entry/management methodology if you want to follow it strictly.
Settings worth knowing about
Tolerance Preset — start with Standard. If you're seeing too few patterns, try Lenient. If you're seeing too many low-quality ones, try Strict.
Min Score — default 6 keeps things clean. Drop to 4-5 if you want to see borderline geometry. Raise to 7-8 for highest-conviction-only.
Show Borderline Patterns — opt-in. Adds dashed/dimmed display for patterns that scored 4.0-5.9. Doesn't trigger alerts.
Log Scale — default Off. Carney's books and most charting tradition use linear-scale Fibonacci. If you're working on heavy long-term crypto charts where price moved by orders of magnitude, you might prefer "On" or "Auto."
S how Diagnostics Table — default On. Shows the detection statistics in the top-right. Toggle off if it's in the way of other indicators.
Show Distribution Stats — opt-in addition to the diagnostics. Useful if you're calibrating tolerances yourself or curious about an asset's natural retracement profile.
Patterns that aren't included
I deliberately didn't add Cypher, Shark, or 5-0 in this version. Cypher (Oglesbee) uses a completely different structural approach than the Carney patterns and didn't fit cleanly into the same scoring framework. Shark and 5-0 use OXABC labeling with C as the entry rather than D, which would have meant a parallel detection engine. Maybe in v1.1 if there's demand. The six patterns above cover the bulk of what shows up in real markets anyway.
Source notes
If you want to read the actual methodology this is implementing, the references are:
Scott M. Carney, "The Harmonic Trader" (1999) — the original self-published book where the framework first appeared, including the PRZ concept and the 0.886 retracement
Scott M. Carney, "Harmonic Trading Volume One" (2004, 2nd ed. 2010) — the formal Pearson/FT Press treatment, Bat pattern, ideal Gartley ratios, AB=CD requirements
Scott M. Carney, "Harmonic Trading Volume Two" (2007, 2nd ed. 2010) — Crab, Alt Bat, 5-0, RSI BAMM execution model, advanced patterns
Scott M. Carney, "Harmonic Trading Volume Three: Reaction vs Reversal" (2016) — execution refinement, Harmonic Strength Index, additional management strategies
H.M. Gartley's original 1935 "Profits in the Stock Market" is where the Gartley pattern itself was first described, but the specific Fibonacci ratios (0.618 / 0.786) were Carney's contribution decades later — Gartley used different proportions.
Feedback, bug reports, "this thing didn't draw a pattern that's clearly there" reports — all welcome in the comments. I'll be running this myself across crypto, forex, and indices, and the feedback loop is genuinely how this gets better.
The Good, the Bad and the Bitcoin Indicator

Bullish Sweep & Reclaim for BTC M15Bullish Sweep & Reclaim — Indicator Summary
Disclaimer:
This indicator is tuned and tweaked to find entries on the bitcoin 15 minute time frame only, I have not tested it on any other asset or time frames. use it wisely and manage your TP and SL as the patterns form.
i have back tested this strategy till 2020 and have tweak the numbers to give the cleanest most promising setup, i suggest keeping all values in the settings the same. or if you're a pro, feel free to tweak it more and test it further and share back with me if you find better values.
Although this is a fractal setup which works on most time frames, it is only tuned to catch setups on the M15 Chart
Overview
The Bullish Sweep & Reclaim indicator is a pattern-based tool built for the 15-minute timeframe, designed primarily around Bitcoin (BTC) price behavior. It identifies a specific three-leg liquidity grab sequence where the market flushes out stops below a recent low before reversing sharply back upward. The indicator marks these moments on the chart in real time, plotting a buy signal, a take profit level, a stop loss level, and the key price zone that anchors the setup.
The Core Pattern
The setup is built on three distinct candles, each playing a specific role.
The first leg is called the Drop Candle. This is a bearish candle that acts as the origin of the setup. It represents a meaningful downside move where sellers were in control. The Drop Candle establishes the key price range — its high and low are used later to define the take profit target and the zone that price must reclaim.
The second leg, C2, is any candle after the Drop Candle whose close falls below the Drop Candle's low. This confirms that selling pressure continued and that liquidity — in the form of stop loss orders from buyers — has been building up beneath that level.
The third leg, C3, is the signal bar. This is the current candle, and for the pattern to fire it must do two things simultaneously: its low must sweep below the C2 low, and it must close back above the Drop Candle's wick low. This combination signals that the market reached down to grab the liquidity sitting below those stops, then rejected sharply, with buyers stepping in and closing price back inside the prior range. This is the classic sweep and reclaim structure.
Drop Candle Filters
Because not every bearish candle is worth trading, the indicator includes a layered filter system to qualify the Drop Candle before it is used as the setup anchor. Each filter is independently toggled, giving full control over how strict the criteria are.
The RSI filter requires the RSI to be below a user-defined threshold at the time the Drop Candle forms, ensuring it occurred during genuine bearish momentum rather than a minor pullback. The default threshold is 54, which can be tightened to 45 or lower for fewer but higher-conviction signals.
The SMA filter requires the Drop Candle's low to pierce below a simple moving average — defaulting to the 100-period SMA. This ensures the candle pushed into a statistically significant area of price, filtering out shallow dips that lack structural importance.
The VWAP filter requires the Drop Candle to close below the session VWAP. Since VWAP represents the average price weighted by volume, a close below it confirms the candle formed in a bearish value zone rather than above fair value.
The Bollinger Band midline filter requires the Drop Candle's low to be below the BB basis — the 20-period SMA at the center of the Bollinger Bands. This adds a volatility-adjusted confirmation that the candle extended meaningfully below the midpoint of recent price action.
Optional filters include an EMA close filter and a volume multiplier filter, both disabled by default but available for further precision.
Exit Levels
When the pattern fires, the indicator automatically calculates and plots both a take profit and a stop loss.
The stop loss is placed just below the sweep low with a small configurable buffer.
The take profit has four options: the Drop Candle's high, or the Drop Candle's range extended by 1.5×, 2.5×, or 3× from the entry close.
Two solid yellow horizontal lines mark the Drop Candle's high and low zone on the chart for visual reference.
Alerts
A built-in alert condition fires on every valid signal, making it straightforward to set up PulseWire notifications for any ticker or timeframe without needing to watch the chart continuously. Indicator

Volume Displacement Engine [JOAT]Volume Displacement Engine
Introduction
Volume Displacement Engine (VDE) is an open-source volume regime oscillator that measures the ratio of short-term volume activity to long-term volume baseline, smooths it into a clean oscillator, and classifies current market activity into four distinct regimes: Low, Normal, High, and Extreme. The histogram and background tint update in real time with regime-specific coloring, reference lines mark each threshold boundary, and breakout signals fire when price closes beyond a rolling high or low during elevated volume regimes. A consolidation detection layer identifies consecutive low-volume bars as ranging periods. Trade outcomes from breakout signals are tracked for statistical win rate context, displayed in a structured dashboard.
The core problem VDE solves is the absence of context in standard volume indicators. Raw volume bars communicate size but not relevance — a large bar on a trending instrument in a high-liquidity session is very different from the same bar during off-hours. By expressing volume as a ratio to a rolling baseline and classifying it into regimes, VDE communicates whether current activity is institutionally significant (High or Extreme) or routine (Normal/Low). Price breakouts during High or Extreme volume are fundamentally different propositions than the same price moves on thin volume — VDE makes that distinction explicit and actionable.
Core Concepts
1. Volume Ratio Oscillator
The core calculation divides a short-term volume simple moving average by a long-term volume simple moving average, then applies an EMA smoothing pass to reduce bar-to-bar noise:
float rawRatio = volShort / math.max(volLong, 1.0)
float volRatio = ta.ema(rawRatio, i_smoothLen)
A ratio above 1.0 means recent volume is above the long-term average — activity is elevated. A ratio below 1.0 means recent volume is below the baseline — activity is depressed. The smoothing EMA gives the oscillator a cleaner shape while maintaining responsiveness to regime changes.
2. Four-Tier Regime Classification
Four threshold boundaries define the regime tiers. All thresholds are fully configurable:
Low: Ratio below the low threshold (default: 0.70) — below-average activity, reduced institutional participation
Normal: Ratio between low and normal ceiling (default: 0.70–1.20) — baseline activity
High: Ratio between normal ceiling and high threshold (default: 1.20–1.80) — elevated activity, potential institutional flow
Extreme: Ratio above the high threshold (default: 1.80+) — exceptional volume surge, likely significant price event
3. Breakout Signal Detection
Breakout signals are generated when price closes beyond the rolling highest high or lowest low of the configurable lookback window during a High or Extreme volume regime. This combines price displacement with volume confirmation, filtering out low-conviction breakouts that occur on thin volume:
bool bullBreak = barstate.isconfirmed and close > hh and (isHigh or isExtreme)
bool bearBreak = barstate.isconfirmed and close < ll and (isHigh or isExtreme)
4. Consolidation Detection
When multiple consecutive bars fall below the consolidation volume threshold, VDE identifies the period as a consolidation zone. The minimum bar count ensures short dips below the threshold are not misclassified as ranges. A dotted reference line marks consolidation periods in the oscillator pane, providing context for identifying compression before expansion moves.
5. Gradient Fill and Regime Tint
The oscillator histogram is colored to match the current regime. A fill between the histogram and the 1.0 baseline uses the regime color with transparency, providing a visual area representation of volume expansion or contraction. During High and Extreme regimes, a background tint activates in the oscillator pane to immediately draw attention to elevated activity periods without requiring inspection of the histogram height.
Features
Volume Ratio Oscillator: Short/long MA ratio smoothed by EMA — measures relative volume displacement from baseline
Four-Tier Regime Classification: Low, Normal, High, and Extreme regimes with independent color coding and configurable thresholds
Histogram Coloring: Bar color matches current regime — immediate visual reading of activity level
Regime Background Tint: High and Extreme volume periods highlighted with a pane background color for immediate attention
Threshold Reference Lines: Horizontal dashed lines at each regime boundary and at the 1.0 baseline for quick ratio reading
Gradient Regime Fill: Fill between oscillator and baseline communicates expansion/contraction area visually
Price Breakout Signals: Bull and bear breakout signals fire when price closes beyond rolling extremes during elevated volume regimes only
Consolidation Detection: Consecutive below-threshold volume bars identified as consolidation periods
Breakout Win Rate Tracking: Outcomes from breakout signals tracked against ATR-based TP/SL levels for statistical context
Non-Repainting: All signals gated on barstate.isconfirmed
Dashboard (Top Right): Current regime label, vol ratio value, consolidation status, and win rate breakdown for High and Extreme regime breakouts
Vol Momentum Columns: 3-bar rate-of-change of the vol ratio displayed as green/red column bars in the oscillator pane — shows whether volume activity is accelerating or decelerating relative to 3 bars prior
Rolling 20-Bar Vol Ratio Peak Reference Line: A purple reference line tracks the rolling 20-bar peak vol ratio — provides a visual ceiling for recent activity levels and highlights when the current ratio is approaching or exceeding recent extremes
Vol Ratio Delta in Dashboard: Vol ratio delta shown in real time in the dashboard with a directional arrow (▲/▼) — communicates whether volume pressure is building or fading on the current bar
CONS Label on Consolidation Start: A "CONS" label fires at the bar when a consolidation zone begins — marks the exact start of identified compression periods directly on the oscillator
Breakout Strength Labels: "BRK +X.XX" and "BRK -X.XX" labels appear at each breakout signal showing the vol ratio value at the moment of the break — communicates the institutional conviction level behind each breakout directly on the chart
Input Parameters
Volume Engine:
Short Vol Window: Short-term volume MA period (default: 10)
Long Vol Window: Long-term volume MA period (default: 40)
Ratio Smooth: EMA smoothing length for ratio (default: 3)
Low Vol Threshold: Ratio below which regime is Low (default: 0.70)
Normal Vol Ceiling: Ratio above which regime is High (default: 1.20)
High Vol Threshold: Ratio above which regime is Extreme (default: 1.80)
Consolidation:
Consolidation Window: Lookback window for consolidation range (default: 8)
Consolidation Vol Max: Maximum ratio to qualify as a consolidation bar (default: 0.80)
Min Consolidation Bars: Minimum consecutive qualifying bars to declare consolidation (default: 4)
Breakout Signal:
Breakout Lookback: Rolling high/low lookback window (default: 20)
ATR Length: Period for ATR calculation (default: 14)
ATR SL Multiplier: Stop loss distance (default: 1.5)
Reward:Risk Ratio: TP multiple (default: 3.0)
Show TP/SL Labels: Toggle label display in the oscillator pane (default: enabled)
How to Use This Indicator
Step 1: Read the Regime
Glance at the dashboard regime label and histogram color. A grey histogram (Low) indicates the market is in a quiet, low-participation period — avoid breakout strategies during these windows. A teal histogram (Normal) is baseline. An amber histogram (High) or red (Extreme) signals institutional-grade activity.
Step 2: Identify Consolidation Periods
When the dotted consolidation line is active in the oscillator pane, the market is in a low-volume compression phase. These periods typically precede expansion moves — the direction of the subsequent breakout, confirmed on volume, is a key signal.
Step 3: React to Breakout Signals
Breakout signals (triangles at the top/bottom of the oscillator pane) only fire during High or Extreme regimes. When a bull breakout label appears, price has closed above the rolling high on elevated volume — a confirmed displacement. The ATR TP/SL levels from that bar define the immediate risk/reward.
Step 4: Monitor the Ratio Trend
The oscillator line trending upward while above 1.0 indicates sustained institutional accumulation of activity — these sustained elevated periods often coincide with trending phases. A declining ratio from Extreme back toward Normal often signals activity exhaustion.
Indicator Limitations
Volume data quality varies significantly by instrument and data provider. On synthetic instruments, indices, or assets where volume reflects contract count rather than notional size, the ratio will not accurately represent true monetary volume displacement
TP/SL outcome tracking in the oscillator pane uses price data for TP/SL hit detection but displays in the volume pane — the label positions are approximate visual markers, not precise price levels on the main chart
The consolidation detector uses a fixed volume threshold. In trending markets where baseline volume rises over time, the historical consolidation threshold may not match current market conditions without recalibrating the threshold input
Breakout signals require both a price breakout and an elevated volume regime simultaneously. In markets with persistently high volume baselines (e.g., during major economic event periods), the Extreme threshold may trigger more frequently than on typical days — the thresholds may need upward adjustment on those instruments
The short/long MA window ratio is a relative measure. It compares recent volume to a historical baseline — it does not measure absolute volume in shares, contracts, or dollars
Originality Statement
VDE combines a smoothed relative volume ratio oscillator with a four-tier classification framework, consolidation detection, and volume-gated breakout signals in a unified indicator. This is original for the following reasons:
Expressing volume as a ratio of short-term to long-term moving average — rather than showing raw volume bars — normalizes the oscillator across instruments and timeframes, making the same threshold values meaningful on a liquid equity, a commodity, and a cryptocurrency without manual recalibration
The four-tier classification system with independently configurable thresholds and a gradient color scheme provides a richer regime reading than simple volume-above-average/below-average binary indicators
Volume-gated breakout detection explicitly requires the price breakout and the volume regime elevation to occur simultaneously on the same confirmed bar — preventing breakout signals from firing on thin-volume price moves that carry low institutional conviction
The consolidation detection layer adds a compression-identification capability within the volume pane, providing context for identifying low-activity ranging periods before the volume regime shifts to support a directional move
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. Volume regime classification and breakout signals are statistical constructs — elevated volume at a price breakout does not guarantee continuation in the breakout direction. Win rate statistics are derived from historical bar data and do not predict future performance. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

Segmented Pressure Bands [JOAT]Segmented Pressure Bands
Introduction
Segmented Pressure Bands (SPB) is an open-source, institutional-grade regression channel system that computes a linear best-fit line and deviation bands from scratch using manual Ordinary Least Squares (OLS) mathematics — no built-in regression functions used. The channel operates in distinct segments: it builds over a dynamic lookback window, freezes all parameters at a minimum length threshold, extrapolates forward using the frozen slope and intercept, and resets automatically when price closes beyond the outer deviation band. Gradient linefill layers between the basis and outer bands communicate channel pressure visually. A volume regime tint adjusts visual weight based on relative volume activity, and ATR-based TP/SL visualization is drawn on each breakout reset.
The core problem SPB solves is that standard regression channels repaint continuously as new bars add to the calculation window, making historical channel boundaries unreliable for reference. SPB's freeze-and-extrapolate architecture locks the regression parameters at a fixed point in time, then projects the channel forward. Price that deviates far enough from that projection triggers a segment reset — the channel is redrawn from the breakout point. This creates a clear, non-repainting record of each regression segment and the breakout that ended it.
Core Concepts
1. Manual OLS Linear Regression
The regression is computed using the standard Ordinary Least Squares normal equations applied to the source series over the active lookback window:
float denom = float(length) * sumX2 - sumX * sumX
slope := (float(length) * sumXY - sumX * sumY) / denom
intercept := (sumY - slope * sumX) / float(length)
RMSE (root mean square error) is calculated as the deviation of the source from the fitted line, providing the basis for band width. All accumulator variables (sumX, sumY, sumXY, sumX2) are computed in a per-bar loop, giving full control over the calculation window without relying on built-in functions that may change behavior across versions.
2. Channel Freeze and Extrapolation
When the lookback window reaches the minimum length threshold, the slope, intercept, and RMSE are locked into freeze variables. From that point forward, the x-coordinate passed to the regression formula is the number of bars elapsed since the freeze bar, allowing the channel to project forward without recalculating:
float xCur = -float(bar_index - freezeBar)
basis := frozenIcpt + frozenSlope * xCur
This extrapolation means the bands continue to move with the slope direction, but their relative spacing (the RMSE deviation) remains constant from the freeze point.
3. Segment Reset on Breakout
When a candle closes beyond the outer upper or lower band, the current segment is terminated. The channel redraws from the current bar using the fresh source data from that point forward. Old linefill objects are explicitly deleted before new ones are created to stay within Pine Script's object limits.
4. Gradient Linefills and Volume Regime Tint
N intermediate lines are drawn between the basis and each outer band, filled progressively with increasing transparency from the inner region to the outer edge. This creates a gradient pressure visualization — tighter fills near the basis signal equilibrium, wider fills near the outer band signal stretch. When the volume regime ratio (short-term MA / long-term MA) is elevated above the high threshold, line widths increase and fill opacity deepens to communicate high-activity conditions visually.
Features
Manual OLS Regression: Slope, intercept, and RMSE computed entirely from first principles — no built-in regression functions
Freeze and Extrapolate Architecture: Regression parameters locked at minimum length; channel projected forward along the locked slope
Automatic Segment Reset: Outer band close-beyond triggers segment restart — prior segment preserved as a historical record
RMSE Deviation Bands: Upper and lower bands placed at configurable RMSE multiples from the basis line
Gradient Linefill Layers: N intermediate lines fill the channel space with a visual pressure gradient — configurable step count
Volume Regime Tint: Relative volume ratio (short/long MA) adjusts visual weight — elevated volume deepens channel fills and thickens lines
ATR TP/SL Visualization: On each breakout reset, ATR-based take profit and stop loss boxes drawn from the breakout close
Channel Direction Color: Downward slope (bullish context — price above a declining regression) renders in teal; upward slope (bearish context) renders in rose
Non-Repainting Basis: Freeze architecture ensures historical segment boundaries do not move after they are drawn
Configurable Source: Basis line source is selectable (close, hl2, hlc3, ohlc4, etc.)
Dashboard (Top Right): Current slope, RMSE, volume regime label, band multiplier, and active segment bar count
Near-Band Warning Dots: Subtle circle markers appear on the chart when price is within 12% of either channel edge — early warning that price is approaching a band extreme before a breakout occurs
Distance-to-Nearest-Band in Dashboard: Current distance from price to the nearest band displayed as a percentage of channel width — provides a precise quantitative read of how stretched or compressed the current position is within the segment
Live Regression Slope in Dashboard: Live regression slope value shown in the dashboard — communicates the current directional angle of the frozen channel projection in real time
Breakout Win/Loss Tracking: Outcome of every breakout trade tracked against ATR-based TP/SL levels — total breakout trade count and cumulative win rate displayed in the dashboard
Expanded Dashboard (7 Rows): Dashboard expanded to 7 rows — now includes distance-to-band percentage, live slope, and breakout win rate alongside existing regime and segment data
Input Parameters
Regression Settings:
Source: Price input for regression calculation (default: close)
Lookback Length: Maximum bar window for OLS computation (default: 50)
Min Length to Freeze: Bar count at which slope/intercept are locked (default: 20)
Band Multiplier: RMSE multiple for outer band placement (default: 2.0)
Gradient Settings:
Gradient Steps: Number of intermediate fill lines between basis and outer band (default: 5)
Volume Regime:
Short Vol MA: Short-term volume moving average length (default: 10)
Long Vol MA: Long-term volume moving average length (default: 40)
High Vol Threshold: Vol ratio above which volume tint activates (default: 1.5)
ATR / Risk:
ATR Length: Period for ATR calculation (default: 14)
ATR SL Multiplier: Stop loss distance on breakout (default: 1.5)
Reward:Risk Ratio: Take profit multiple of stop distance (default: 3.0)
How to Use This Indicator
Step 1: Read the Channel Direction
A teal channel indicates a downward-sloping regression — price is above a declining trend line, suggesting bullish pressure within the distribution. A rose channel indicates an upward-sloping regression — price is below a rising channel ceiling, suggesting bearish pressure. The gradient fills communicate how far price has deviated from the basis within that segment.
Step 2: Trade Within the Channel
Price compressing toward the basis from an outer band (thin fill region narrowing) suggests mean reversion is underway. Price expanding toward the outer band (fills widening) suggests momentum continuation. The outer band itself acts as a stretch boundary — closes beyond it trigger a new segment.
Step 3: React to Breakout Resets
When a segment resets, the breakout bar is the reference point for directional bias. The ATR TP/SL boxes visualize the immediate risk/reward from that close. The new channel building from the breakout will establish the next directional context.
Step 4: Monitor Volume Context
Elevated volume regime (shown in dashboard) at a channel boundary gives more conviction to breakout or reversal signals. Low-volume channel touches carry less institutional weight.
Indicator Limitations
The OLS calculation runs a loop over the lookback window on every bar. On very long lookback lengths with high chart data density, this may increase script execution time — keep lookback below 200 for best performance
The freeze architecture means the channel projection can diverge significantly from price if the instrument trends strongly after the freeze point. Segment resets bring the channel back to current price, but wide outer bands may delay that reset on low-volatility instruments
Gradient linefills are subject to Pine Script's 50-linefill object limit. SPB manages this with explicit deletion on each segment reset. If the gradient steps setting is set very high (above 10), this limit may be approached in active markets
ATR TP/SL boxes on breakout are drawn from the breakout close. They do not adjust for gaps, overnight moves, or instrument-specific spread — manual adjustment of the ATR multiplier may be needed for highly volatile instruments
Volume regime calculation uses simple moving averages of volume. On instruments where volume data is synthetic or unavailable, the regime indicator will not reflect true market activity
Originality Statement
SPB implements a regression channel with a freeze-extrapolate-reset lifecycle that produces stable, non-repainting historical segment boundaries. This design is original for the following reasons:
Computing OLS slope, intercept, and RMSE from scratch using raw accumulator mathematics — rather than using ta.linreg() or similar built-ins — gives full control over the calculation window, source, and update behavior, and avoids implicit look-ahead that some built-in functions can introduce
The freeze-and-extrapolate architecture is distinct from standard rolling regression, where every new bar shifts the entire historical channel. Once frozen, SPB's channel parameters are immutable — historical band boundaries drawn in past segments are permanent reference levels
The gradient linefill layer system communicates statistical deviation pressure visually across the full channel width, rather than drawing only a basis and outer band with no information about the space between them
The integration of a volume regime tint directly into the regression channel visualization — adjusting visual weight based on relative volume — provides immediate context for whether current channel position is occurring during active or quiet market conditions
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. Regression channels and statistical deviation bands are mathematical constructs applied to historical data — they do not predict future price behavior. Breakout signals at band extremes do not guarantee continuation in any direction. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Indicator

ABCD Projection Zones [AGPro Series]ABCD Projection Zones
🔹 OVERVIEW
ABCD Projection Zones is a premium price-action projection tool built for traders who want a clean ABCD pattern map without turning the chart into a full harmonic scanner, Auto Fib suite, retracement dashboard, or broad pattern-recognition system.
The script focuses on one specific market-structure idea: a confirmed A-B-C swing sequence can project a forward D completion area when the A-B leg is measured from point C. Instead of plotting a single thin target line, the script converts that measured move into a practical projected completion zone. This makes the result easier to read on real charts where reactions often happen around an area rather than at one exact tick.
The tool detects the structure, measures the leg relationship, projects the completion zone, tracks the distance to that zone, and then follows the reaction lifecycle after price reaches it. The goal is a premium, readable ABCD projection workflow that helps traders understand where the current structure is, how mature it is, and how price is behaving around the projected completion area.
🔹 WHAT MAKES IT DIFFERENT
Many ABCD, projection, and pattern tools try to do too much at once. They combine multiple Fibonacci ratios, harmonic pattern names, extended target ladders, retracement grids, reversal labels, and broad pattern scanning into one chart overlay. That can look busy, but it often makes the active structure harder to understand.
ABCD Projection Zones takes a narrower and cleaner route.
It does not attempt to label every harmonic family.
It does not expose a full Fibonacci framework.
It does not place several competing projection targets on the chart.
It does not turn the layout into a generic support and resistance map.
The difference is the focused lane: confirmed ABCD swing projection, one projected completion zone, one reaction lifecycle, and a concise panel that explains the active setup.
The visual language is also different. The D area is shown as a forward rectangle with centered zone text inside the box. Active and archived zones stay named, labels use consistent sizing, and archived context remains muted so the active projection remains dominant.
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script is intentionally separated from other AGPro tools by scope, visual behavior, and analytical purpose.
It is not an Auto Fib Structure tool. It does not publish multiple retracement and extension levels, does not expose a full Fib grid, and does not present itself as a broad Fibonacci framework.
It is not a harmonic scanner. It does not label Gartley, Bat, Butterfly, Crab, Shark, or other harmonic families. It does not rank multiple harmonic candidates or compare pattern families.
It is not a generic support and resistance zone script. The rectangles are not general S/R zones. They are specifically ABCD completion and reaction zones derived from swing-leg symmetry.
It is not a trend dashboard, volatility map, liquidity sweep scanner, or broad price-action suite. Its job is only to map a confirmed A-B-C structure into a projected D completion zone and monitor the reaction state around that zone.
This makes the public release lane clear: a focused ABCD projection and reaction-zone tool for measured-move structure, not a duplicate of existing AGPro zone, Fib, S/R, harmonic, or dashboard concepts.
⚙️ METHODOLOGY
The script starts by detecting confirmed swing highs and lows using pivot-based structure logic. This gives the model cleaner A, B, and C points and helps reduce random candle noise.
After the A-B-C sequence is confirmed, the script measures the A-B leg and the B-C pullback. The B-C pullback is evaluated as a ratio of A-B, but this ratio is used as a structure-quality filter, not as a visible Fibonacci grid.
The projected D area is calculated by applying the A-B leg from point C. This creates an AB=CD style measured-move projection. The projected D price is then expanded into a rectangle using ATR-based padding so the completion area behaves like a practical reaction zone rather than a thin target.
The script then tracks the active projection lifecycle:
- Waiting: price has not yet approached the projected zone.
- Approaching: price is close enough to the zone to matter.
- Completed: price has reached the projected D area.
- Reacting: price is moving away from the zone after contact.
- Overrun: price has moved beyond the zone buffer.
- Expired: the projection window passed without completion.
The scoring model combines impulse quality, pullback quality, and structural alignment into a 0-100 score. This score is not a standalone signal; it is a compact way to summarize the quality of the active ABCD projection structure.
📊 PANEL
The AGPro panel is designed for quick chart reading without forcing the trader to inspect every object manually.
Panel fields:
- Leg Ratio: shows the B-C pullback size relative to A-B.
- Completion Distance: shows the current distance to the projected D zone in price and ATR terms.
- Reaction State: shows the active lifecycle state of the projection.
- Symmetry Quality: classifies the active setup as Weak, Developing, Clean, or Strong with directional context.
- Projection Progress: shows how far price has traveled from point C toward the projected D area.
- Score: summarizes the active setup quality from 0 to 100.
Panel standards:
- The first row is one merged blue AGPro header row.
- The header contains only the panel title.
- Panel location is adjustable.
- Panel theme is adjustable.
- Panel font size is adjustable.
🎛️ KEY INPUTS
Detection:
- Swing Left Strength
- Swing Right Strength
- ATR Length
- Minimum AB Leg Size ATR
- Minimum BC Pullback Ratio
- Maximum BC Pullback Ratio
Projection Zone:
- Projection Length Bars
- Zone Padding ATR
- Approach Distance ATR
- Overrun Buffer ATR
- Zone Fill Transparency
- Archived Zones
- Archived Zone Transparency
- Show Text Inside Zones
Visuals:
- Show ABCD Path
- Show ABCD Labels
- Show Completion Marker
- Label Font Size
- Label Offset ATR
- Completion Marker Offset Bars
Panel:
- Show Panel
- Panel Location
- Panel Theme
- Panel Font Size
🔍 HOW TO READ IT
Start with the A-B-C labels. Point A and point B define the impulse leg. Point C defines the pullback from which the measured-move projection begins.
The dotted projected path shows the C-D measured move. The forward rectangle marks the projected completion zone. If price is still far from that rectangle, the panel will usually show Waiting and a lower Projection Progress value.
As price moves toward the rectangle, Projection Progress increases and the Completion Distance decreases. When price reaches the zone, the script marks D Hit and changes the lifecycle state. After that, the most important reading is whether the zone becomes a Reaction Zone or an Overrun Zone.
Archived zones should be read as context, not as the main decision layer. They show previous projected reaction areas in a muted style so the chart does not feel empty, but the active zone remains the priority.
🧩 BEST USE CASES
This script is best suited for traders who study market structure, measured moves, swing projection, ABCD patterns, and reaction-zone behavior.
Strong use cases include:
- Mapping a clean ABCD completion area after a confirmed A-B-C structure.
- Tracking how close price is to a projected D area.
- Separating developing projections from completed projections.
- Watching for reaction behavior after price reaches a projected completion zone.
- Reviewing recent projected zones without overcrowding the chart.
- Keeping a clean price-action workflow without a full harmonic or Fib suite.
The script can be useful across different markets and timeframes, but it is most readable when swing structure is clear enough for pivot-based detection to identify meaningful A-B-C sequences.
🧠 VISUAL DESIGN PHILOSOPHY
The visual design is built around premium restraint.
The chart should not be empty, but it should also not be overloaded. The active ABCD projection needs to stand out clearly, while archived zones should provide background context without taking attention away from the current structure.
Visual standards used in this script:
- Active completion and reaction zones are drawn as forward rectangles.
- Zone text is written inside the rectangle.
- Zone text is horizontally and vertically centered.
- Zone text uses transparent label-center styling instead of extra external tags.
- Active and archived zone text uses the same label font-size control.
- Swing labels are offset with ATR so they do not sit inside candle bodies.
- The completion marker is compact and shifted away from nearby swing labels.
- The projected C-D path is visible but not visually dominant.
- Archived zones are muted to keep the active projection clean.
The result is a chart that communicates structure, projection, and reaction state without looking like a crowded signal board.
🔔 ALERTS
Included alert conditions:
- New ABCD Projection Zone: triggers when a new qualified ABCD projection is detected.
- ABCD Completion Reached: triggers when price reaches the active projected completion zone.
- ABCD Reaction Confirmed: triggers when price reacts away from the active completion zone.
- ABCD Zone Overrun: triggers when price moves beyond the configured zone buffer.
🔹 LIMITATIONS AND TRANSPARENCY
The script waits for confirmed pivot structure, so A, B, and C labels appear after swing confirmation rather than at the exact live turning point.
The projected D area is based on AB=CD symmetry and ATR-based zone padding. It is designed to map structure and reaction context, not to predict every reversal.
The script intentionally avoids a full harmonic library and full Fibonacci framework. This is a design choice, not a missing feature. The goal is to keep the public tool focused on ABCD projection zones.
During choppy or low-structure conditions, fewer clean setups may appear. Increasing or decreasing swing strength and leg-size filters can make the tool more selective or more responsive depending on the market and timeframe.
✅ IDEAL USER
This script is designed for traders who prefer clean structure tools over crowded all-in-one indicators.
The ideal user:
- Studies price action and swing structure.
- Wants a focused ABCD projection tool.
- Prefers zones over single-line targets.
- Wants reaction-state context after completion.
- Values clean chart presentation.
- Wants adjustable labels, panel location, and visual density.
- Does not want a full harmonic scanner or public Auto Fib suite.
ABCD Projection Zones is built for traders who want one clean projected completion lane: A-B-C structure, measured D zone, reaction state, and a premium AGPro visual presentation. Indicator

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

Wave Navigator Cycle [Adaptive] Wave Navigator Cycle
Overview
The Wave Navigator System is a comprehensive technical indicator designed to trade the "Distorted Cycle." Unlike traditional indicators that lag behind price, this system uses an Adaptive Sine Wave to map out market phases in real-time, helping traders identify when the market is in a state of Preparation, Expansion (Ride the Wave), or Distribution.
This tool integrates high-probability Smart Money Concepts (SMC) including Liquidity Sweeps, Displacement, and Fair Value Gaps (FVG) to provide a complete roadmap for trend following and reversal trading.
Key Features
1. Adaptive Sine Wave Cycle
At the core of this indicator is a dynamic sine wave anchored to an ALMA (Arnaud Legoux Moving Average).
- Preparation Phase: Price is at the cycle bottom (Low Zone), looking for Sell-Side Liquidity.
- Ride the Wave: The sine wave turns green and rises, signalling a bullish trend expansion.
- Distribution Phase: Price reaches the cycle peak (High Zone), looking for Buy-Side Liquidity.
- Displacement Down: The sine wave turns red, signalling a shift in market structure and a bearish move.
2. Liquidity Sweep Detection
The indicator automatically marks "Equal Highs" and "Equal Lows" that have been swept.
- X Marks: Buy-Side Liquidity Sweeps (Potential Short setups).
- Triangle Marks: Sell-Side Liquidity Sweeps (Potential Long setups).
3. Smart Displacement & FVGs
The system doesn't just look for big candles; it calculates Relative Displacement. When price moves with high volume and volatility, the indicator identifies Fair Value Gaps (FVG).
- Emerald Boxes: Bullish FVGs (Targets for "Retrace to FVG" longs).
- Maroon Boxes: Bearish FVGs (Targets for "Retrace to FVG" shorts).
4. Real-Time Dashboard
A built-in HUD (Heads-Up Display) in the top-right corner monitors the Cycle Power and explicitly labels the current market phase, so you never have to guess where you are in the "Distorted Cycle."
---
How to Trade with Wave Navigator
1. Identify the Zone: Look for the Sine Wave to enter the "Preparation" (Low) or "Distribution" (High) zones.
2. Wait for the Sweep: Look for a Liquidity Sweep icon to appear at the cycle extremes.
3. Confirm with Displacement: Wait for a Displacement Arrow and a coloured Sine Wave flip (Green for Up / Red for Down).
4. The Entry: Enter on the Retrace to FVG (the coloured boxes) once the wave has begun its new direction.
Settings
- Base MA Length: Adjust this to change the "frequency" of the wave (Higher = Swing Trading, Lower = Scalping).
- Displacement Sensitivity: Fine-tune how "aggressive" the price move must be to trigger an FVG.
- Sine Opacity: Customise the visual intensity of the trend wave.
Disclaimer: Trading involves significant risk. This indicator is a tool for analysis and should be used in conjunction with a robust trading plan and proper risk management. Indicator

Deviation Lens [JOAT]Deviation Lens
Introduction
Deviation Lens is an open-source multi-dimensional statistical displacement tool that applies Z-Score analysis simultaneously to three market dimensions: price level, close-to-close price change, and volume. Rather than using arbitrary overbought/oversold thresholds derived from historical maxima and minima, Deviation Lens computes exactly how many standard deviations each dimension is from its recent rolling mean. This provides a precise, adaptive, distribution-aware measure of how statistically extreme current market conditions are.
The core insight is that markets are mean-reverting systems over short time horizons. Statistical extremes — conditions where price, momentum, or volume are far from their recent averages — represent transient states. The further from the mean, the greater the statistical probability that conditions will normalize. Deviation Lens quantifies this probability directly, from 0% (at the mean) to 99.7% (at three standard deviations), and displays it as a live reversal probability for every bar.
Core Concepts
1. Three-Dimensional Z-Score Calculation
Three independent Z-Scores are computed on every bar:
The Price Z-Score measures how far the current close is from the rolling mean close in standard deviation units. This captures whether the current price level is statistically cheap or expensive relative to recent history.
The Change Z-Score measures how far the current bar's close-to-close price change is from the rolling mean change — quantifying momentum extremity rather than price level extremity.
The Volume Z-Score measures how far the current volume is from the rolling mean volume. High-volume Z-Score values identify bars where unusual institutional participation is statistically evident:
priceZ = priceStd > 0 ? (close - priceMean) / priceStd : 0.0
changeZ = changeStd > 0 ? (chg - changeMean) / changeStd : 0.0
volumeZ = volStd > 0 ? (volume - volMean) / volStd : 0.0
2. Reversal Probability Mapping
The absolute Z-Score is mapped to a reversal probability percentage based on the properties of the normal distribution. A Z-Score of 1.0 corresponds to 68.3% of values lying within one standard deviation — meaning only 31.7% of readings exceed this level, implying a 68.3% probability of mean reversion. A Z-Score of 2.0 corresponds to 95.4%, and 3.0 to 99.7%:
calcRevProb(float z) =>
float absZ = math.abs(z)
absZ >= 3.0 ? 99.7 : absZ >= 2.5 ? 98.8 : absZ >= 2.0 ? 95.4 : absZ >= 1.5 ? 86.6 : absZ >= 1.0 ? 68.3 : absZ >= 0.5 ? 38.3 : 0.0
This probability is displayed in the dashboard alongside the live Z-Score value, giving the trader both the raw statistical reading and its corresponding reversal likelihood.
3. Composite Z-Score and Zone Classification
The three individual Z-Scores are combined into a composite score using configurable weights for each dimension. The composite is then classified into a zone: EXTREME (above the configurable extreme threshold), ELEVATED, NEUTRAL, or the opposing directional equivalents. Zone classification determines the dashboard color coding and alert triggers:
composite = (priceZ * wPrice + changeZ * wChange + volumeZ * wVolume) / totalWeight
4. Divergence and Hidden Divergence Detection
Deviation Lens monitors for two divergence conditions. Standard divergence occurs when the Z-Score direction disagrees with the price direction — price makes a higher high but the Z-Score makes a lower high (bearish divergence), or price makes a lower low but the Z-Score makes a higher low (bullish divergence). Hidden divergence occurs when the Z-Score makes an extreme move while price action is relatively contained — a potential continuation pattern. Divergence events are labeled directly on the chart with bold, clearly sized labels:
bullDiv = close > close and priceZ < priceZ // Price up, Z down = bull div
bearDiv = close < close and priceZ > priceZ // Price down, Z up = bear div
Labels: BULL DIV, BEAR DIV (size.small), H.BULL, H.BEAR (size.tiny for hidden divergence).
5. Multi-Dimensional Dashboard
The institutional dashboard presents all three Z-Scores, the composite Z-Score, current zone classification, reversal probability, and divergence status simultaneously. The layout is designed so the most actionable information — Zone and Rev. Probability — is displayed at the largest text size, with supporting metrics at smaller sizes.
Features
Three independent Z-Scores: Price level, price change (momentum), and volume — each computed on its own rolling mean and standard deviation
Configurable Z-Score weights: The composite score uses adjustable per-dimension weights allowing emphasis on price, momentum, or volume depending on trading context
Live reversal probability: Probability percentage mapped directly from the Z-Score using normal distribution properties (68.3% at 1σ through 99.7% at 3σ)
Zone classification: Composite Z-Score classified as Extreme, Elevated, or Neutral in both directions with color-coded dashboard display
Divergence labels (BULL DIV / BEAR DIV): Z-Score vs price direction disagreement labeled on-chart at size.small
Hidden divergence labels (H.BULL / H.BEAR): Z-Score extreme with contained price action labeled at size.tiny
Configurable extreme and elevated thresholds: Both Z-Score thresholds independently adjustable
Institutional dashboard (top right): 14-row table with Price Z, Change Z, Volume Z, Composite Z, Zone, Reversal Probability, and divergence status
Adaptive thresholds: All calculations normalize to the rolling lookback period, adapting to current instrument and timeframe volatility
Alerts: Separate alertconditions for extreme bull and extreme bear composite Z-Score readings
Input Parameters
Z-Score Settings:
Z-Score Length: Rolling window for all three Z-Score calculations (default: 20)
Extreme Threshold: Z-Score magnitude classified as Extreme zone (default: 2.0)
Elevated Threshold: Z-Score magnitude classified as Elevated zone (default: 1.0)
Dimension Weights:
Price Weight: Relative weight of the price Z-Score in composite (default: 1.0)
Change Weight: Relative weight of the momentum Z-Score in composite (default: 1.0)
Volume Weight: Relative weight of the volume Z-Score in composite (default: 0.5)
Divergence:
Divergence Lookback: Bars back for divergence comparison (default: 5)
Show Divergence Labels toggle
Display:
Show Dashboard toggle
Bull and Bear color inputs
How to Use This Indicator
Step 1: Read the Composite Zone
The Zone row in the dashboard shows the current composite Z-Score classification. EXTREME readings at the top of the scale indicate the highest statistical probability of mean reversion. NEUTRAL readings indicate current conditions are close to the mean and have low statistical directional edge from this tool alone.
Step 2: Check Reversal Probability
The Rev. Probability row translates the Z-Score magnitude directly into a percentage. A reading above 95% means the current composite Z-Score is in the outer 5% of its historical distribution — a statistical extreme that has preceded mean reversion 95% of the time in the measured period.
Step 3: Assess Each Dimension Independently
The three individual Z-Score rows reveal which dimension is driving the composite. A high composite driven entirely by volume Z-Score is a different setup than one driven by price Z-Score. Understanding which dimension is extreme helps filter entries: a price Z-Score extreme without supporting momentum or volume Z-Score extremes may be a lower-conviction reading.
Step 4: React to Divergence Labels
BULL DIV and BEAR DIV labels appear when Z-Score momentum diverges from price direction. These signal that the statistical driver of a move is weakening even as price continues. H.BULL and H.BEAR hidden divergence labels flag potential continuation setups where Z-Score is extreme but price is not.
Step 5: Combine with Structural Context
Deviation Lens produces the highest value when its extreme readings coincide with a structural confluence point — an order block, session low, or structure level. A 99.7% reversal probability at a tested support zone is a higher-conviction setup than the same reading in open air.
Indicator Limitations
All Z-Scores are computed relative to the rolling lookback window. The lookback defines what "normal" means. A very short lookback will produce extreme readings frequently; a very long lookback will rarely reach the extreme threshold. Calibration to the instrument and timeframe is required
The reversal probability percentages are derived from the normal distribution assumption. Price change and volume distributions are not perfectly normal — they exhibit fat tails and skew. The probabilities are approximations, not precise statistical guarantees
The composite Z-Score uses equal weights by default. Changing dimension weights significantly alters which market conditions produce extreme readings. Weight adjustments should be based on the specific instrument's characteristics
Divergence detection uses a simple lookback comparison, not a peak-detection algorithm. In choppy markets, divergence labels may appear frequently without providing actionable signals
Originality Statement
Deviation Lens is original in its simultaneous, weighted multi-dimensional Z-Score framework that maps composite statistical extremity directly to a reversal probability percentage. This indicator is published because:
Applying Z-Score analysis to three independent market dimensions simultaneously — price level, momentum (close-to-close change), and volume — rather than a single oscillator provides a richer statistical picture of current market extremity than any single-dimension Z-Score tool
The direct mapping of Z-Score magnitude to reversal probability percentages using normal distribution properties gives traders an immediately interpretable statistic rather than a raw number requiring subjective interpretation
The composite weighted Z-Score system, where each dimension's contribution to the overall reading is configurable, allows the indicator to be tuned toward price-mean-reversion strategies, momentum exhaustion strategies, or volume anomaly detection depending on the trader's methodology
The combined detection of standard divergence and hidden divergence between the Z-Score and price direction provides trend continuation and reversal signals from the same framework
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. Z-Score readings and reversal probability percentages are statistical tools based on historical distributions and do not guarantee any future price behavior. The normal distribution assumption applied to price and volume data is an approximation. 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
