Indicator

BK AK-Tomahawk🚀 BK AK–TOMAHAWK — Momentum / Velocity / Acceleration Strike Engine 🚀
🙏 All glory to G-d — the source of wisdom, restraint, and right timing.
Respect to my mentor A.K. — discipline, patience, and structure over noise. He gave freely what most people gatekeep, and I’m grateful for that standard.
Update / Record
A previous version of this publication was hidden due to insufficient description. This republish is a complete explanation of what the script does, how it works, how to interpret it, and how to use it.
What Tomahawk is
Tomahawk is a normalized momentum engine that tracks force in three layers so you stop trading “a crossover” and start trading commitment:
Momentum = directional pressure (normalized ROC)
Velocity = ignition / rate-of-change of momentum
Acceleration = continuation vs failure of ignition
Then it adds permission gates (optional) so the L / S thrust markers only print when the move is authorized by your chosen filters:
Squeeze → Expansion (stored energy → release)
VWAP (intraday) / Trend EMA / Volume gate
HTF alignment
NY session gate
This is not “a color oscillator.” It’s a guidance + permission system.
What you see on the chart (outputs)
Lines & fills
Momentum line (green/red)
Signal line (“ice”)
Fill between momentum and signal (matches momentum color)
Force layers
Velocity (neon columns + optional line)
Acceleration (area under velocity)
Background context
Optional bull/bear zone background (based on most recent confirmed cross + velocity sign)
Optional squeeze background (yellow) during squeeze conditions
Markers
L / S thrust markers = qualified strike events (not every cross)
Exhaustion dots = fuel warning at extremes when acceleration flips against the push
Markers can be drawn in the pane or on the price chart (toggle).
The critical concept: “Early Flip” color is about ignition
Tomahawk can color the momentum line in two ways:
1) Velocity (Early) (default)
Momentum color flips based on velocity with a deadband + memory:
If velocity pushes above leadTh, momentum color flips bullish early.
If velocity drops below −leadTh, it flips bearish early.
If velocity is inside the deadband, it keeps prior state to reduce flicker.
This is designed to show early ignition, not to “predict” direction.
2) Signal (Classic)
Momentum color simply follows mom ≥ signal (traditional oscillator style).
How it works (self-contained, step by step)
1) Momentum core (normalized)
Compute ROC(src, momLen)
Normalize via Z-score over normLen
Scale to oscillator range (× 50)
Smooth into Momentum using your chosen smoother and length
2) Signal line
Smooth Momentum again over sigLen → Signal
3) Velocity + Acceleration (force layers)
Velocity raw = Δ(Momentum)
Normalize velocity (Z-score over velNormLen), scale, smooth → Velocity
Acceleration = Δ(Velocity)
4) Squeeze → Expansion gate (optional)
Uses the standard deviation of velocity raw:
Squeeze when velStd < velStdAvg × sqMult
Expansion when velStd > velStdAvg × expMult
Release = a squeeze occurred and expansion arrives
If enabled, thrust signals can be gated to fire only when squeeze is not active / or on release (per settings logic).
5) HTF alignment (optional)
Runs the same oscillator on your HTF and requires:
Long: HTF mom ≥ HTF signal AND HTF velocity > 0
Short: HTF mom ≤ HTF signal AND HTF velocity < 0
6) Filters (optional)
Trend EMA: long only above EMA / short only below EMA
VWAP (intraday only): long above VWAP / short below VWAP
Volume gate: volume > SMA(volume, volLen) × volMult
NY session gate (optional time filter)
What actually prints “L / S” (Thrust = permission)
A thrust is NOT “cross = entry.”
A thrust requires:
Cross with minimum quality: |mom − signal| ≥ minSep
Ignition: |velocity| ≥ velTh
Continuation: acceleration agrees with the thrust direction
Filters pass (trend/vwap/volume/session if enabled)
HTF alignment passes (if enabled)
Squeeze gate passes (if enabled)
Thrust Long (L)
mom crosses above signal (quality separation)
velocity > velTh
accel > 0
long filters ok + HTF ok + session ok + squeeze gate ok
Thrust Short (S)
mom crosses below signal (quality separation)
velocity < −velTh
accel < 0
short filters ok + HTF ok + session ok + squeeze gate ok
Exhaustion dots (fuel warning, not “magic reversal”)
Exhaustion prints when force is extreme and acceleration flips against it:
Exhaust Up: momentum/velocity extreme while accel turns negative
Exhaust Down: momentum/velocity extreme while accel turns positive
Use it as: trim / protect / stop pressing, not as a guaranteed reversal call.
How to use Tomahawk (simple execution)
If you enable squeeze: wait for release (or you’re early by definition).
Trade L/S thrust markers, not raw crosses.
Use HTF alignment to stop fighting the bigger posture.
Treat exhaustion dots as a greed-check: protect, don’t chase.
Tune quality controls:
minSep cuts spam
velTh demands real ignition
leadTh controls how early color flips (higher = calmer)
Settings that matter most
momLen / normLen: responsiveness vs stability
smoother + momSmoothL + sigLen: “feel” of the engine
leadTh: early flip sensitivity (deadband)
minSep / velTh: signal quality + ignition requirement
useSqueeze + thresholds: best for filtering chop
HTF timeframe: keeps you aligned with the higher engine
VWAP + trend EMA + volume: institutional permission stack
Alerts included
Thrust Long / Thrust Short
Exhaustion Up / Exhaustion Down
What makes it original
Tomahawk isn’t just ROC or a crossover. The edge is the stacked force model + permission doctrine:
momentum normalized (Z-score) so it scales across tickers
velocity and acceleration layers (ignition + continuation)
early color logic with deadband/memory (less flicker, earlier read)
squeeze→expansion gate on velocity volatility
HTF alignment using the same oscillator tuple
optional institutional gates (VWAP / volume / session / trend EMA)
It’s a strike engine built to reduce “pretty cross” entries and demand confirmed force.
Disclaimer
This indicator is for educational/analytical use only and is not financial advice. No indicator guarantees results. Use risk management and test on your market/timeframe.
🙏 All glory to G-d.
🚀 BK AK–Tomahawk — guidance on, permission verified, strike clean. 🚀 Indicator

Momentum Decay Field [BullByte]Momentum Decay Field : Physics-Based Momentum Energy Visualization
WHAT IS THE MOMENTUM DECAY FIELD?
The Momentum Decay Field (MDF) models price momentum as a decaying physical energy field using an exponential half-life model. MDF visualizes impulse energy on the price chart, detects exhaustion and energy divergence, and stores past exhaustion zones as reference levels. This is an informational visualization tool - not a buy/sell signal generator.
In nuclear science, every radioactive element emits energy that decays exponentially over time following a precise mathematical law. MDF applies this exact principle to price momentum.
Every strong price impulse carries kinetic energy. That energy does not last forever. It fades, weakens, and eventually depletes - just like a radioactive isotope losing its charge. MDF measures this process in real time and wraps price in a living energy field that expands, contracts, changes color, and ultimately signals exhaustion when the energy runs out.
This is not a moving average. Not an oscillator. Not a mashup of existing tools . It is a standalone physics engine that models momentum as a decaying energy system directly on the price chart.
THE CORE PHYSICS
The engine is built on the exponential decay formula from nuclear physics:
E(t) = E0 x exp(-lambda x t)
Where:
E(t) is the remaining energy at time t (measured in bars after the impulse)
E0 is the initial energy assigned to the impulse at the moment it occurs
lambda is the decay constant, derived from the half-life: lambda = ln(2) / Half-Life
t is the number of bars elapsed since the impulse
The half-life is the number of bars it takes for energy to decay to exactly 50% of its initial value. After two half-lives, 25% remains. After three, 12.5%. This creates the smooth, predictable decay curve visible in the dashboard sparkline.
When the adaptive half-life option is enabled, stronger impulses automatically receive a longer half-life. This means powerful moves with high volume and velocity sustain their energy field longer before exhausting, while weak impulses fade quickly. This mirrors real market behavior where institutional-grade moves carry momentum further than retail noise.
HOW IMPULSES ARE DETECTED
Not every candle qualifies as an impulse. The detection engine requires three conditions to be met simultaneously:
First , the candle body size (distance between open and close) must exceed a user-defined multiple of the Average True Range. This ensures only candles with genuine directional magnitude qualify.
Second , the total candle range (high to low) must also exceed an ATR-based threshold. This confirms the move had real price displacement, not just a wide body on a small-range bar.
Third , the body-to-range ratio must exceed 0.45. This filters out doji candles, pin bars, and high-wick candles that suggest indecision rather than conviction. Only candles where the body represents a significant portion of the total range pass through.
When an impulse qualifies, its initial energy (E0) is calculated by combining three factors: the normalized body magnitude (body size divided by ATR), a velocity boost (how fast price moved over the velocity window compared to average), and an optional volume boost (current bar volume relative to the rolling volume average). The result is capped at 5.0 to prevent extreme outliers from dominating the field.
THE ENERGY FIELD : WHAT YOU SEE ON THE CHART
The energy field is the colored aura that appears around price. It communicates the current momentum state through three visual properties:
Width: The field expands when energy is high and contracts as energy decays. At full energy, the field reaches its maximum width (controlled by the Max Field Width setting). As energy approaches zero, the field collapses to nothing. The width is always proportional to ATR so it adapts automatically to any instrument and timeframe.
Color: The field color morphs through three stages as energy decays. At high energy levels (above 55%), the field displays the bright directional color - the bullish theme color for upward impulses, the bearish theme color for downward impulses. As energy drops into the mid range (20-55%), the color transitions through warm amber, a universal warning tone indicating momentum is fading. Below 20%, the field shifts to cool gray, signaling that momentum is nearly spent. This color morphing happens smoothly and continuously on every bar.
Layering: The field is rendered in up to three concentric tiers - inner, mid, and outer - each progressively more transparent. The inner layer sits closest to price and is most opaque. The mid layer extends further with reduced opacity. The outer layer provides the widest aura at the lowest visibility. This creates a natural gradient that makes the field feel organic rather than blocky.
THREE VISUAL MODES
Clean mode renders no energy field at all. Only the signal markers (diamond, EXH, WEAK) and the dashboard appear on the chart. This mode is designed for traders who want a completely uncluttered chart and only care about the event markers and data panel. The momentum engine still runs in the background, powering the dashboard metrics and signals.
Standard mode activates the inner and mid field layers along with the energy spine - a central reference line running through the price that pulses with momentum. This is the default mode and provides a balanced view of the energy state without overwhelming the chart.
Full mode enables all three field tiers and adds candle tinting, where the candle bodies themselves are colored according to the current energy state and direction. High-energy bars glow with the directional color while depleted bars take on neutral tones. This mode provides maximum visual information for traders who want to see the full energy picture at a glance.
SIGNAL MARKERS : WHAT EACH ONE MEANS
Diamond (below bar for bullish, above bar for bearish): This marks the bar where a qualified impulse was detected and energy was injected into the system. It tells you that the decay physics engine has been activated or refreshed with new energy. Not every strong candle produces a diamond - the cooldown system prevents clustering by enforcing a minimum number of bars between consecutive impulse markers.
EXH (cross shape, amber color): This marks the bar where the energy ratio dropped below the exhaustion threshold. It means the momentum that was driving price has fully depleted according to the decay model. These exhaustion points often coincide with areas where price pauses, reverses, or enters consolidation. The anti-repeat filter ensures that the same directional exhaustion does not fire consecutively without a change in context - either a new direction must establish or sufficient time must pass.
WEAK (triangle shape, orange color): This marks an energy divergence. It appears when price makes a new high (for bullish) or new low (for bearish) but the impulse energy behind that move is at least 25% weaker than the previous impulse in the same direction. The price is extending but the fuel behind it is diminishing. This is a momentum divergence detected purely through the energy physics model, not through any traditional oscillator comparison. When WEAK fires on the same bar as an impulse, the diamond marker is automatically suppressed because the WEAK label already communicates that an impulse occurred - it simply carried less energy than its predecessor.
EXHAUSTION MEMORY ZONES
When an exhaustion event occurs, the indicator stores the price range of that bar as a memory zone. These zones are rendered as semi-transparent colored rectangles that extend from the exhaustion bar to the right edge of the chart. Bullish exhaustion zones use the bullish theme color and bearish exhaustion zones use the bearish theme color.
These zones represent price levels where momentum previously failed to sustain. They often act as areas of interest for future price action because they mark locations where aggressive directional energy was fully consumed. Fresh zones appear more opaque and gradually fade as they age, eventually becoming fully transparent after the user-configured fade period.
The Max Zones Displayed setting controls how many zones appear simultaneously. Only the most recent zones are shown. The Zone Fade Period controls how many bars a zone remains visible before disappearing. A three-stage memory management system runs continuously to prevent the zone array from growing unbounded on long-history charts: old zones beyond twice the fade period are pruned, the array is capped at a safe maximum, and the rendering loop enforces a drawing budget to stay within platform limits.
THE DASHBOARD : EVERY ELEMENT EXPLAINED
The dashboard uses a fully opaque dark background that renders identically on both light and dark chart themes. Every cell has its own explicit background color so nothing is inherited from the chart environment.
ENERGY: A 16-character progress bar showing remaining energy as a visual fill gauge, followed by the numerical percentage. The bar transitions from bright green (charged) through cyan (active) to amber (decaying) to orange (fading) to red (depleted).
PHASE: Displays the current energy state classification. CHARGED means energy is above 70% - momentum is strong and active. ACTIVE means 45-70% - momentum is present and sustaining. DECAYING means 20-45% - momentum is fading but not yet spent. FADING means energy is above the exhaustion threshold but below 20% - momentum is weak. DEPLETED means energy has fallen below the exhaustion threshold - the current cycle has exhausted.
The directional bias (BULL, BEAR, or FLAT) appears alongside the phase to show which direction the current energy cycle belongs to.
E0 INITIAL: Shows the initial energy magnitude that was assigned to the current impulse cycle when it began. The classification label (Extreme, Strong, Moderate, Light) provides quick context about how powerful the originating impulse was.
HALF-LIFE: Displays the current half-life in bars - how long it takes for energy to decay to 50%. When adaptive half-life is enabled, this value changes with each impulse based on its strength. The ELP (elapsed) counter shows how many bars have passed since the last impulse event.
ETA TO EXH: The predicted number of bars remaining until energy reaches the exhaustion threshold. This is calculated by solving the decay equation for time. The visual countdown bar (filled and empty blocks) provides a quick gauge of how close exhaustion is. When the current cycle has already exhausted, this displays EXHAUSTED in red.
DECAY CURVE: A 20-character sparkline that projects how energy will diminish over approximately three half-lives into the future. Each character represents a future time step. The curve reads from left (current moment, marked by NOW) toward the right (future). Tall blocks indicate high energy, dots indicate near-zero energy. This gives traders a visual preview of the entire remaining decay trajectory at a glance.
IMPULSES / EXHAUSTIONS / DIVERGENCES: Lifetime counters showing how many of each event type have occurred since the indicator was loaded on the chart. These provide context about the current session's activity level.
CHART EXAMPLE
Chart 1: ENERGY FIELD DYNAMICS & IMPULSE DETECTION
What This Chart Represents
This chart demonstrates the Momentum Decay Field's core visual engine showing how the energy field expands, contracts, and morphs in real-time as momentum cycles through impulse, sustain, and decay phases.
Key Visual Elements Highlighted:
1. ENERGY FIELD COLOR MORPHING The aura transitions through three distinct color phases as energy decays:
- Bright directional color (green for bullish, magenta for bearish) = High energy (>55% remaining)
- Warm amber/orange = Mid-energy decay phase (20-55% remaining)
- Cool gray = Low energy, momentum nearly spent (<20% remaining)
2. FIELD WIDTH DYNAMICS The energy band's width is directly proportional to remaining energy:
Wide, expansive field = Strong active momentum with high kinetic energy
Contracting field = Energy decaying, momentum losing strength
Thin/collapsed field = Minimal momentum, approaching exhaustion
Width scales with ATR to adapt across all instruments and timeframes
3. IMPULSE SIGNAL MARKERS (Diamonds) Pink/Green diamond markers identify the exact bars where qualified momentum impulses occurred:
Below price = Bullish impulse (upward energy injection)
Above price = Bearish impulse (downward energy injection)
Each diamond represents a new E0 (initial energy) assignment
Cooldown system prevents marker clustering during volatile periods
4. MULTI-CYCLE MOMENTUM VISUALIZATION The chart captures several complete momentum lifecycles:
Fresh impulses creating wide, bright energy fields
Progressive decay causing field contraction and color shift
Direction changes showing energy field polarity reversals
Energy stacking when same-direction impulses occur during active cycles
5.ENERGY DIVERGENCE SIGNAL (WEAK Marker)
Orange triangle with "WEAK" label
Triangle Up Position (Below Price):
Signal Type: Bearish energy divergence
Location: Bottom of the move after the bullish run
What It Detected: Price made a new low BUT the impulse energy behind that low was 25%+ weaker than the previous bearish impulse
CHART 2: EXHAUSTION SIGNALS, MEMORY ZONES & DASHBOARD DEEP DIVE
What This Chart Represents
This chart demonstrates the complete signal ecosystem of the Momentum Decay Field indicator, showcasing exhaustion detection, energy divergence, memory zones, and a full dashboard metrics breakdown. The chart captures a Solana (SOL/USDT) 15-minute timeframe showing the transition from strong bearish momentum through exhaustion to reversal with weakening energy.
1. ENERGY FIELD EVOLUTION
LEFT SIDE (Early Period - 1:00 to 10:00):
Bright magenta field = Strong bearish energy active
Wide field width = High momentum magnitude
Color morphing visible = Transition from bright magenta → brown/amber as energy decays
Field shows downtrend = Bearish impulse energy driving price lower
2. EXHAUSTION SIGNAL (EXH Marker)
Meaning: Momentum energy fully depleted - energy ratio dropped below 8% threshold
Location: Above the price bars (bearish exhaustion that preceded the bullish reversal)
Trigger Conditions Met:
Energy ratio < 0.08 (exhaustion threshold)
Minimum E0 > 0.5 (filters noise)
Minimum 3 bars elapsed since impulse
Cooldown period satisfied (8 bars between signals)
Anti-repeat filter passed (different direction or sufficient time gap)
What Happened Here: The strong bearish momentum (magenta field on left) progressively decayed until energy was fully consumed. The EXH marker fired at the exact bar where the decay equation calculated remaining energy had fallen below the 8% threshold.
3. EXHAUSTION MEMORY ZONE (Green Rectangle)
Large semi-transparent green box
Zone Type: Bullish exhaustion memory zone
Price Range: Captures the high-low range of the bar where bullish momentum exhausted
Color: Green with ~92% opacity at creation, fading over time
Border: Green border at ~78% opacity
Extension: Extends from exhaustion bar to right edge of chart (+10 bars beyond current)
Why It Matters: Price levels where momentum exhausted represent areas where directional energy was fully consumed. Market often "remembers" these levels as they frequently become magnets for future price action, areas of consolidation, or reversal zones.
4.ENERGY SPINE (Coloured Line Through Price Center)
Visible as dark line running through candle midpoints:
Technical Details:
Plots at hlc3 (average of high, low, close)
Color matches field color, opacity varies with energy level
Only visible when energy > 12%
Provides visual anchor showing momentum center of gravity
Style: Line breaks (plot.style_linebr) to avoid connecting across gaps
Purpose: The spine acts as a dynamic momentum equilibrium line. When field is wide, spine shows the center of energy distribution. As field contracts, spine becomes the last visible element before total energy depletion. Helps traders identify the core momentum flow without relying solely on field boundaries.
RECOMMENDED SETTINGS AND TIMEFRAMES
The default settings are calibrated for intraday trading on timeframes between 1 minute and 15 minutes. The indicator works on all timeframes and all instruments but the default parameters are optimized for the pace of day trading where impulse-to-exhaustion cycles complete within a visible chart window.
For scalping on 1-minute charts, consider reducing the Base Half-Life to 5-6 bars and the Impulse Lookback to 8-10. This makes the system more responsive to the rapid impulse cycles on lower timeframes.-
For swing trading on 1-hour or 4-hour charts, consider increasing the Base Half-Life to 12-16 bars and the Impulse Threshold to 2.0-2.5. This filters out intrabar noise and focuses on only the most significant impulses that drive multi-hour moves.
For daily charts, increase the Half-Life to 15-20 bars and enable Adaptive Half-Life to let strong institutional moves sustain their field across multiple sessions.
The Volume Weighting option is recommended to be kept enabled on instruments with reliable volume data (stocks, futures, major crypto pairs). For forex pairs where volume represents tick count rather than actual traded volume, consider disabling it or treating it as a secondary factor.
THOUGHT BEHIND THE INDICATOR
The concept originated from a simple observation: every momentum move in the market follows a lifecycle that mirrors energy decay in physics. A strong impulse starts with maximum energy, sustains for a period, then gradually loses force until it is fully spent. Traditional momentum indicators attempt to measure this through oscillators that lag behind price. MDF takes a fundamentally different approach by modeling the decay process itself using established physics rather than measuring its symptoms through lagging mathematical transformations.
The exponential decay model was chosen specifically because it matches the empirical behavior of momentum in financial markets. Momentum does not decay linearly - it holds relatively steady in the early phase after an impulse, then accelerates its decline as it approaches exhaustion. This is precisely the shape of an exponential decay curve and is why the half-life model produces a more accurate representation than a simple moving average or percentage-based countdown.
The energy divergence detection was added after observing that many trend reversals are preceded by a sequence of price extremes with diminishing impulse energy. The price chart shows strength (higher highs or lower lows) while the underlying energy tells a different story (each push requires less fuel). This hidden weakness is invisible on a standard chart but becomes immediately apparent when measured through the energy model.
WHAT THIS INDICATOR DOES NOT DO
This indicator does not generate buy or sell signals. It does not tell you when to enter or exit a trade. It does not predict future price direction. It measures and visualizes the current state of momentum energy to help you make more informed decisions within your own trading framework.
The exhaustion markers identify zones where momentum energy has depleted according to the physics model. Price may reverse at these zones, consolidate, or continue in the same direction after a new impulse injects fresh energy. The markers are informational reference points, not trading signals.
The energy divergence detection (WEAK markers) highlights instances where price extremes are driven by weakening energy. This is an observation about momentum quality, not a prediction about price direction. Divergences can persist through multiple cycles before price responds.
NON REPAINT BEHAVIOUR
Every calculation in this indicator uses only confirmed bar data (open, high, low, close, volume) from completed bars. No future data is referenced. No calculations change retroactively after a bar closes. The impulse detection, energy assignment, decay computation, exhaustion detection, and divergence detection all operate exclusively on confirmed historical data. What you see on a closed bar will never change.
DISCLAIMER
Trading financial instruments involves substantial risk of loss. Past energy states and exhaustion patterns do not guarantee future price behavior. This tool visualizes momentum dynamics to support analysis - it does not provide financial advice. The author assumes no responsibility for trading decisions or losses. Always employ proper risk management and never risk capital you cannot afford to lose.
- BullByte Indicator

Indicator

Indicator

BK AK-Pivot Wolf🐺 BK AK–Momentum Pivot Wolf — Momentum / Pivots / Confluence 🐺
🙏 All glory to G-d.
Built with standards and discipline passed down by my mentor AK— thank you for giving real instruction without being cheap about it — no holding back, no protecting secrets.
Update / Record
A previous version of this publication was hidden due to insufficient description.
This republish is a complete, self-contained explanation of what the script does, how it works, what signals mean, what settings do, and key limitations.
✨ What this script does
Pivot Wolf is a TSI-based momentum oscillator system that focuses on:
extremes → pivots → confirmation, then adds confluence layers (VWAP, MTF alignment, SNR, volume, regime) to reduce chop and low-quality signals.
It’s designed to help you:
Identify momentum extremes using Dynamic or Static bands
Detect oscillator pivots that form at extremes (main pivot signals)
Mark divergences (regular + hidden) between price and oscillator
Confirm/grade signals using a 0–100 scoring system (or legacy hard filters)
Visualize context via VWAP gating, MTF dashboard, and regime state
Project post-pivot expectation zones via T1 / T2 targets
Optionally enable historical learning that only applies overrides when validation is strong
🧠 How it works
1) Momentum engine (TSI blend)
Computes Fast TSI and Slow TSI
Optional Adaptive Blend: volatility-weighted mixing using ATR% normalization over a lookback so momentum can be responsive in calm markets and less noisy in high volatility
A Signal EMA smooths momentum to detect cross/shift
2) Bands define “extremes”
Bands define statistically “stretched” momentum.
Dynamic mode: uses StdDev (or robust MAD) over a lookback, multiplied by a factor
Static mode: fixed ± level
Optional band smoothing to reduce jitter
“Extreme” is simply: momentum beyond the band (with optional tolerance rules)
3) Pivot detection (main signals)
Detects oscillator pivot lows/highs using pivotLen
A “strong” pivot signal is when:
Pivot Low forms below the Lower Band (oversold)
Pivot High forms above the Upper Band (overbought)
Marker style/size/colors are configurable, and tooltips explain context
Important: pivots are confirmed only after pivotLen bars to the right (this is normal pivot behavior).
4) Divergence logic (regular + hidden)
Tracks the last two oscillator pivots and compares them with price pivots:
Bullish divergence: price makes a lower low while oscillator makes a higher low
Bearish divergence: price makes a higher high while oscillator makes a lower high
Hidden bullish divergence: price higher low + oscillator lower low
Hidden bearish divergence: price lower high + oscillator higher high
Optional: Require extreme so divergences only count when pivots occur outside bands.
5) Confluence + scoring (0–100)
Instead of relying only on hard rules, Pivot Wolf can compute bull/bear scores from multiple inputs:
VWAP gate: position and/or slope logic (PositionOnly / SlopeOnly / Both / Either)
MTF alignment: direction across up to 6 selected timeframes + dashboard visualization
SNR (Signal-to-Noise Ratio): reduces signals during chop by comparing momentum gap vs recent noise
Volume confirmation: bullish confirmation vs bearish exhaustion/spike logic
Acceleration / deceleration: early warning + risk markers when momentum behavior changes rapidly
Consolidation filter: ATR regime compression penalty
Price structure: HH/LL checks to avoid fighting structure
Whipsaw guard: enforces a minimum bar gap between opposite signals
Signals can show as:
Strong = passes gating + score threshold (or legacy rules)
Weak (optional) = “scout” setups (score in 50–threshold range)
6) Targets / projections (T1 / T2)
After confirmed pivots, it projects expectation zones based on recent run behavior:
T1 = 0.618 projection
T2 = 1.000 projection
Targets can display continuously or only reveal when momentum approaches (to reduce clutter).
7) Optional historical learning (validation-gated)
If enabled, the script:
records pivot “outcomes” after mlForwardBars
runs a simple train/validation pass
only applies learned overrides when validation is strong and not overfit
If validation fails, it reverts to manual settings.
Note: This “learning” is heuristic optimization inside Pine (not external ML), and overrides are applied only when conditions are met.
🧭 How to use
Check the MTF dashboard for alignment (avoid fighting the stack).
Let momentum reach band extremes (OB/OS).
Treat pivot signals as highest value when Score is strong + VWAP gate agrees.
Use divergence as added weight, not as the sole trigger.
Manage around T1/T2 as structured expectation zones.
📌 Signals & visuals (what you’ll see)
Momentum line with optional gradient (strength/quality feel)
Signal line (EMA)
Upper/Lower bands + optional fills
Extreme dots/edges at band breaks (optional)
Cross stars on momentum/signal crosses (optional)
Divergence markers (◆ regular, ◇ hidden) + optional connector lines
MTF dashboard (direction + strength + confluence)
Info panel meters (Bull, Bear, Net, Osc Position, MTF, Quality, Regime, VWAP Pressure)
Optional stop suggestion markers (ATR/Swing/Pivot/Band methods)
⚙️ Key settings
Core Momentum: TSI lengths, signal EMA, adaptive blend & volatility lookback
Bands/Extremes: Dynamic vs Static bands, basis (StdDev/MAD), smoothing
Pivots & Divergence: pivot sensitivity, max bars between pivots, line/marker toggles
Filters: VWAP gate, MTF bias, SNR, volume, consolidation, structure, whipsaw
Targets/ML: T1/T2 projection logic + optional historical learning validation
Dashboards/Panels: MTF dashboard + Info panel positioning & styling
Performance mode: reduces heavy visual updates if needed
🔔 Alerts included
Bullish/Bearish signal alerts
Divergence detected
Early warning acceleration alerts
Optional regime peak/valley switch alert
(Alerts can be throttled via “Alert Settings”.)
✅ Repainting / confirmation notes (important)
Pivot highs/lows confirm after pivotLen bars by design. Signals appear once the pivot is confirmed.
MTF calculations use request.security(..., lookahead=barmerge.lookahead_off) to avoid forward-looking HTF values.
Anything based on confirmed pivots is inherently delayed by the pivot confirmation window.
⚠️ Known limitations / best practices
VWAP/Volume-based logic depends on reliable volume data. Some symbols/feeds may behave differently.
The script is information-dense; if you hit resource limits, use:
Limit labels
Reduce divergence lines
Turn off heavy visuals (fills, heatmap, dashboards)
Enable Performance mode
This tool is built for structure and confluence, not prediction. It will often stay quiet during chop—by design.
👁️🗨️ King Solomon Lens
“Solomon didn’t predict. He judged. He built tests that made truth show itself. Pivot Wolf is that: pivots as boundary stones, momentum as witness, acceleration as the confession. No hammer in the Temple — rules are cut before entry. When it’s quiet, it’s saving you. When it speaks, it’s a ruling.”
Disclaimer
This script is for educational and informational purposes only. It does not provide financial advice, and it does not guarantee results. You are responsible for your own decisions, testing, and risk management.
🙏 All glory to G-d—the source of all wisdom and every true edge. 🙏 Indicator

Prev day High, Low, Close + continuing trend
📊 Yesterday's Levels: Market Strength and Sentiment (HLC)
This indicator is designed for intraday traders who need to quickly identify the previous day's key levels (High, Low, and Close) and, most importantly, understand the sentiment of the previous session at a glance.
🔍 What does this indicator do?
Unlike other “Daily High/Low” indicators, this tool cleans up historical noise and pre-market gapping to provide a purist view of the regular session.
Real Static Levels: Draws the YHP (Yesterday's High Price), YLP (Yesterday's Low Price), and YCP (Yesterday's Close Price).
No “Steps”: Lines only appear in the current session and start exactly at the market open (RTH), eliminating annoying pre-market tails.
Thirds Strength Analysis: Applies an algorithmic rule based on the location of the close relative to the previous day's total range:
Green Shading (Bullish Strength): If the price closed in the upper third of the range (dominant buying pressure).
Red Shading (Bearish Strength): If the price closed in the lower third of the range (dominant selling pressure).
No color: If the close was neutral (in the middle third).
### 💡 How to use it?
* **Trend Continuity**: If you see green shading and the price opens above the PDC, buyers are in control.
* **Reaction Levels**: The PDH and PDL act as natural support and resistance levels where institutions tend to make decisions.
* **Session Filter**: Ideal for avoiding “traps” during the pre-market, as the indicator only activates when real liquidity begins.
### 🛠 Technical Features
* **Optimized for MSTR and volatile assets**: Filters weekend gaps to maintain data accuracy.
* **Dynamic Tags**: Level names automatically scroll to the right so as not to obstruct the candles.
* **Clean Code**: Written in Pine Script v5 with corrected `lookahead` logic to avoid repainting.
Indicator

SMI Fractal Iron HMASMI FRACTAL IRON HMA
Professional Multi-Engine Trading Overlay
Version 7.0 • February 2026 • Pine Script™ v6 • Overlay Indicator
By NPR21
FIVE INTEGRATED ENGINES
Fractal Pivots │ SMI Filter │ HMA Forecast │ Risk Management │ Short Trend Dashboard
DESCRIPTION
SMI Fractal Iron HMA integrates five complementary analytical engines into a single overlay indicator, designed so that each component addresses a different dimension of trade analysis — structure, momentum, trend context, risk parameters, and real-time directional scoring — and the outputs of each engine reinforce or qualify the signals of the others.
▸ Fractal Pivot Detection
Identifies structural swing highs and lows using fractal pivot logic with a key innovation: the left-side structural lookback and the right-side confirmation delay are split into two independent inputs. This allows traders to maintain high structural selectivity (catching only significant swing points) while independently controlling how many bars of confirmation are required before a signal prints. Setting Right Bars to zero enables zero-delay mode where the label appears on the forming bar itself.
▸ Stochastic Momentum Index (SMI) Filter
A double-smoothed EMA of the price-to-midpoint relationship, scaled to a configurable range. When enabled as a filter, long signals only print when SMI is rising and short signals only print when SMI is falling. Signals opposing the current momentum direction are silently suppressed, reducing noise without adding visual clutter.
▸ HMA Trend Duration Forecast
Tracks the Hull Moving Average slope to determine trend state. Each completed trend’s duration is stored in a rolling sample. The historical average projects the probable length of the current trend. On the chart: a white arrow line shows the forecast window, a Trend ↑ Up Real or Trend ↓ Down Real label updates in real time with the current bar count, and a Prob: label shows the forecasted duration. HMA BUY and HMA SELL labels print at each trend change with optional price display.
▸ Risk Management System
Activates on each confirmed pivot signal and draws five horizontal levels: Entry, Stop Loss (configurable in points or percentage), and three Take Profit tiers calculated as Reward:Risk multiples. Features include:
•TP hit tracking — each level changes to dashed with a check-mark label when price reaches it.
•Trailing stop — moves to breakeven at a configurable threshold, then trails by a fixed offset.
•TP2+ reversal exit — after TP2 is hit, closes the trade if price reverses by a specified distance before TP3.
•P&L dashboard — real-time display of direction, entry, current P&L in the selected currency, R:R ratio, dollar risk/reward at each TP, bars in trade, HMA trend direction, and probable trend length.
•Auto-reset — clears all trade objects when a trade completes (SL, TP3, or TP2+ reversal), readying for the next signal.
▸ Short Trend Dashboard
A 5-component real-time scoring engine that votes on the current bar’s directional bias:
•Momentum (25 pts) — price change vs. ATR-scaled threshold.
•Candle Structure (25 pts) — body-to-range ratio and wick rejection analysis.
•Micro Trend (25 pts) — fast/slow EMA crossover with ATR-normalized gap scoring.
•Acceleration (25 pts) — bar-to-bar momentum change detecting speed gain or loss.
•Volume B/S (10 pts) — estimated buy vs. sell pressure from close position within bar range.
The composite score (0–100) produces a letter grade (A+, A, B, C) and a directional label (BULLISH, BEARISH, LEAN BULL/BEAR, or NEUTRAL). The TEMP Heat Gauge (0–100) blends seven sub-indicators (ROC, RSI, Stochastic, Volume Pressure, EMA Position, Candle, Acceleration) into a single temperature reading (HOT / WARM / NEUTRAL / COOL / COLD). Scalper Mode activates ultra-fast EMA and momentum presets optimized for 1–5 minute charts with Instant Flip detection for single-bar reversals.
▸ Why These Five Engines Together
Each engine answers a different question. The pivot engine identifies where structure turns. The SMI filter confirms whether momentum supports the signal. The HMA forecast provides how long the trend is likely to last. The risk management system defines how much is at stake. The Short Trend Dashboard gives a right now directional confidence score. Together they create a workflow: detect the turn, confirm direction, understand trend context, manage the trade, and monitor conviction — all from a single indicator.
HOW TO USE
▸ Getting Started
1.Add the indicator to your chart. Default settings (Left 5 / Right 1) provide a balanced starting point with strong structural selectivity and minimal delay.
2.BUY labels appear below swing lows. SELL labels appear above swing highs. In Confirmed + Preview mode, semi-transparent labels flicker during bar formation and lock solid at bar close.
3.Use the HMA colored line and trend forecast labels to understand the broader trend context. HMA BUY and HMA SELL labels mark each trend change.
4.Enable Risk Management to see SL/TP lines and the P&L dashboard on each confirmed signal.
5.Monitor the Short Trend Dashboard for real-time confirmation. CONSENSUS +4/5 or +5/5 indicates strong alignment across all components.
▸ Tuning the Pivot Detection
•Left 5 / Right 5: Maximum accuracy. Pivot must be highest/lowest of 11 bars. 5-bar confirmation delay. Best for identifying only major swing points.
•Left 5 / Right 1: Strong selectivity, minimal delay. Preview label flickers on the confirmation bar. Good balance for scalping and active trading.
•Left 5 / Right 0: Zero-delay mode. Label appears on the pivot bar during formation. Fastest possible signal. Useful for scalping when combined with the SMI filter.
•Left 8–10 / Right 0: Zero delay with larger left lookback to compensate for missing right-side confirmation.
▸ Configuring Risk Management
•Enable the Risk Management Overlay toggle. Set Stop Loss in points (e.g., MNQ: 3–5 pts) or as a percentage of entry price.
•Set TP1, TP2, TP3 as Reward:Risk multiples (defaults: 2:1, 3:1, 4:1). Adjust to your trading style.
•Set Point Value for your instrument: MNQ = 2, MES = 5, MYM = 0.5, MGC = 10, MCL = 10.
•The P&L dashboard updates every bar showing dollar P&L, R:R ratio, and TP hit status.
•Enable trailing stop for trades that run: set breakeven threshold, trail start, and trail offset distances.
▸ Reading the Short Trend Dashboard
•Direction + Score: BULLISH/BEARISH/LEAN with a score of 0–100. Grade A+ or A = high conviction.
•TEMP Heat Gauge: Above 70 = HOT (overbought). Below 30 = COLD (oversold). 45–55 = NEUTRAL.
•CONSENSUS: Total vote out of 5 components. +4/5 or +5/5 = strong directional alignment.
•Scalper Mode: Ultra-fast presets for 1–5 min charts. Instant Flip marks single-bar reversals with ** notation.
▸ Label Display Options
•Stack: Label sits directly on the high/low with offset ticks. Text stacks vertically with optional timestamp.
•Pointer: Label offset to the side with a pointer coming off the corner pointing at the exact high/low of the bar.
•Timestamp: Five formats: HH:mm, HH:mm:ss, h:mm a, MMM dd HH:mm, MMM dd. Uses the chart’s time zone.
▸ Suggested Starting Settings
•Scalping (1–5 min): Left 5, Right 1, HMA Length 9–14, Scalper Mode ON, SL 3–5 pts
•Day Trading (5–15 min): Left 5, Right 2–3, HMA Length 14–20, Scalper Mode OFF, SL 5–10 pts
•Swing Trading (1H–4H): Left 5, Right 5, HMA Length 20–50, Scalper Mode OFF, SL 10–25 pts
•Zero-Lag Mode: Left 7–10, Right 0, SMI Filter ON, HMA Length 14, Scalper Mode ON
DISCLAIMER
This indicator is a technical analysis tool designed to assist with identifying potential swing reversal points, trend direction, and trade risk parameters. It is not a standalone trading system and does not constitute financial advice. No indicator can predict future price movement. Past performance of any signal methodology does not guarantee future results. Always use proper risk management and consider multiple sources of analysis. The author assumes no responsibility for trading losses. Use at your own risk. Indicator

Indicator

[blackcat] L2 RSI Strength Judge█ OVERVIEW
The L2 RSI Strength Judge is a comprehensive technical indicator that evaluates market strength using multi-period RSI calculations combined with trend analysis. This indicator identifies potential buying and selling opportunities by analyzing overbought and oversold conditions, trend strength, and momentum shifts across multiple timeframes.
█ CONCEPTS
This indicator utilizes a sophisticated approach combining traditional RSI methodology with custom trend calculations to identify market strength and potential reversal points.
Key principles:
• Multi-timeframe RSI analysis for comprehensive market assessment
• Trend line calculation based on 20-period RSV with 3-day smoothing
• Dynamic color coding to visualize strength/weakness transitions
• Overbought/oversold zone identification with visual alerts
• Signal generation at key threshold levels (20 and 80)
█ HOW TO USE
1 — Add the indicator to your chart from the indicators list
2 — Adjust the RSI periods according to your trading style (default: 6, 6, 24)
3 — Monitor the trend line color: red indicates strength (above 50), green indicates weakness (below 50)
4 — Watch for signal triangles at the 20 and 80 levels for entry opportunities
5 — Pay attention to "Opportunity" and "Risk" labels that appear one bar before signals
Input Parameters
• RSI1 Period: Period for first RSI calculation (default: 6)
• RSI2 Period: Period for second RSI calculation (default: 6)
• RSI3 Period: Period for long-term trend RSI calculation (default: 24)
█ SIGNALS
Visual Elements
• Up Triangle (Red): Appears at level 20 when trend line crosses above, indicating potential uptrend start
• Down Triangle (Green): Appears at level 80 when trend line crosses below, indicating potential downtrend start
• "Opportunity" Label (Yellow): Appears one bar before up signal, marking potential entry point
• "Risk" Label (Yellow): Appears one bar before down signal, warning of potential reversal
• Trend Line: Red when above 50 (strong), Green when below 50 (weak)
• RSI3 Line (Yellow): 24-period RSI for long-term trend assessment
• Filled Zones: Red fill above 80 (overbought), Green fill below 20 (oversold)
█ LIMITATIONS
• Like all technical indicators, it may produce false signals in choppy or sideways markets
• Performance varies across different market conditions and timeframes
• Should be used in conjunction with other forms of analysis for confirmation
• Historical performance does not guarantee future results
• May lag behind rapid price movements due to its smoothing components
█ NOTES
• The 50 level serves as the critical bull/bear boundary
• Overbought conditions (above 80) suggest potential reversal downward
• Oversold conditions (below 20) suggest potential reversal upward
• The indicator works best in trending markets with clear directional movement
• Consider using higher timeframes for more reliable signals
• The RSI3 (yellow line) provides additional context for longer-term trend direction
═════════════════════════════════════════════════════════════════════════
For questions or feedback, use comments section below. Indicator

Indicator

Elite Session Volume Distribution Engine [JOAT]Elite Session Volume Distribution Engine
Introduction
The Elite Session Volume Distribution Engine is an open-source indicator that combines session-based analysis (London, New York, Asian sessions) with volume distribution profiling, VWAP analysis, volume-weighted momentum indicators, and session high/low tracking. This mashup creates a comprehensive session and volume analysis system designed to identify when institutional volume enters the market during specific trading sessions and how that volume is distributed across price levels.
The indicator addresses a critical market reality: different trading sessions have distinct volume characteristics and institutional participation levels. London and New York sessions typically have highest volume and volatility, while Asian session is quieter. By tracking volume distribution, momentum, and key levels within each session, this tool helps traders identify optimal trading windows and understand how institutional volume shapes price action during different global market hours.
Chart showing session boxes, volume distribution, and VWAP on 45M timeframe
Why This Mashup Exists
This indicator combines five analytical frameworks that address different aspects of session-based trading:
Session Identification: Tracks London, New York, and Asian trading sessions
Volume Distribution: Analyzes how volume is distributed across price levels within sessions
VWAP Analysis: Calculates session-specific Volume Weighted Average Price
Volume Momentum: Tracks volume trends and climax conditions
Session High/Low: Identifies key levels established during each session
Each component serves a specific purpose: Session identification shows when institutional traders are active, Volume Distribution reveals where volume concentrates (value areas), VWAP shows institutional average price, Volume Momentum identifies accumulation/distribution phases, and Session High/Low marks key reference levels. Together, they create a complete picture of how institutional volume flows through different trading sessions.
The mashup is justified because these components work together in session-based trading: institutions enter during specific sessions (London/NY), create volume distribution patterns at key levels, establish VWAP as benchmark, show momentum through volume trends, and set session highs/lows that become support/resistance. Tracking all simultaneously reveals the complete session-based institutional flow.
Core Components Explained
1. Session Identification System
The indicator identifies three major trading sessions:
// London Session (03:00-12:00 GMT)
londonSession = input.session("0300-1200", "London Session")
inLondonSession = not na(time(timeframe.period, londonSession))
// New York Session (08:30-17:00 EST)
nySession = input.session("0830-1700", "NY Session")
inNYSession = not na(time(timeframe.period, nySession))
// Asian Session (00:00-09:00 GMT)
asianSession = input.session("0000-0900", "Asian Session")
inAsianSession = not na(time(timeframe.period, asianSession))
// Session overlap (London + NY)
sessionOverlap = inLondonSession and inNYSession
Session characteristics:
London Session: High volume, major currency pairs active, trend establishment
NY Session: Highest volume, US markets active, major moves occur
Asian Session: Lower volume, range-bound often, JPY pairs active
London/NY Overlap: Highest volume period, most volatile, best liquidity
The indicator can optionally display session boxes as background colors (disabled by default to reduce clutter).
2. Volume Distribution Analysis
Volume distribution shows where volume concentrates within price ranges:
// Calculate volume at different price levels
volumeAtPrice = array.new_float()
// For each price level in session range
for i = sessionLow to sessionHigh by tickSize
volumeAtLevel = sum of volume where price traded at level i
array.push(volumeAtPrice, volumeAtLevel)
// Identify Point of Control (POC) - price level with most volume
poc = price level with maximum volume
// Identify Value Area (VA) - price range containing 70% of volume
valueAreaHigh = upper bound of 70% volume
valueAreaLow = lower bound of 70% volume
Volume Distribution concepts:
Point of Control (POC): Price level with highest volume - strong support/resistance
Value Area High (VAH): Upper bound of 70% volume distribution
Value Area Low (VAL): Lower bound of 70% volume distribution
High Volume Nodes: Price levels with significant volume - support/resistance zones
Low Volume Nodes: Price levels with little volume - price moves through quickly
The indicator plots volume distribution as a histogram or profile showing where institutional volume concentrated during the session.
3. Session-Specific VWAP
VWAP resets at the start of each session:
// Session VWAP calculation
var float sessionVWAP = na
var float cumulativeTPV = 0.0 // Typical Price * Volume
var float cumulativeVol = 0.0
if session_start
cumulativeTPV := 0.0
cumulativeVol := 0.0
typicalPrice = (high + low + close) / 3
cumulativeTPV := cumulativeTPV + (typicalPrice * volume)
cumulativeVol := cumulativeVol + volume
sessionVWAP = cumulativeTPV / cumulativeVol
Session VWAP significance:
Institutional traders use VWAP as execution benchmark
Price above session VWAP = buyers in control during session
Price below session VWAP = sellers in control during session
VWAP acts as dynamic support/resistance within session
Distance from VWAP indicates overextension
The indicator plots session VWAP with dynamic coloring based on price position.
4. Volume Momentum Analysis
Volume momentum tracks institutional accumulation/distribution:
// Volume moving average
volumeMA = ta.sma(volume, 20)
// Volume classification
highVolume = volume > volumeMA * 1.5
veryHighVolume = volume > volumeMA * 2.0
climaxVolume = volume > volumeMA * 3.0
// Volume trend
volumeRising = volume > volume and volume > volume
volumeFalling = volume < volume and volume < volume
// Accumulation/Distribution
accumulation = close > open and highVolume and volumeRising
distribution = close < open and highVolume and volumeRising
// Volume momentum indicator
volumeMomentum = (volume - volumeMA) / volumeMA * 100
Volume Momentum signals:
Rising Volume + Up Close: Accumulation - bullish
Rising Volume + Down Close: Distribution - bearish
Climax Volume: Potential exhaustion or strong institutional move
Declining Volume: Lack of institutional interest
Volume Momentum > 50%: Very strong institutional participation
The indicator plots volume bars with color coding based on momentum and direction.
5. Session High/Low Tracking
Session highs and lows become important reference levels:
// Track current session high/low
var float currentSessionHigh = na
var float currentSessionLow = na
if session_start
currentSessionHigh := high
currentSessionLow := low
else
currentSessionHigh := math.max(currentSessionHigh, high)
currentSessionLow := math.min(currentSessionLow, low)
// Previous session levels
prevSessionHigh = currentSessionHigh
prevSessionLow = currentSessionLow
Session High/Low significance:
Current session high/low show intraday range
Previous session levels act as support/resistance
Breaks above previous session high = bullish continuation
Breaks below previous session low = bearish continuation
Session range size indicates volatility and institutional activity
The indicator plots only CURRENT session high/low (2 lines instead of 6) to keep chart clean. Previous session levels can be toggled on if needed.
Example showing session VWAP, volume distribution, and session high/low levels
Volume Distribution Dashboard
The dashboard (bottom-right position) displays:
Current Session: London/NY/Asian/Overlap
Session VWAP: Current VWAP value
Price vs VWAP: Distance from VWAP in %
POC: Point of Control price level
Value Area: VAH and VAL levels
Volume Status: High/Normal/Low relative to average
Volume Momentum: Rising/Falling/Climax
Session Range: High - Low distance
Accumulation/Distribution: Current phase
Visual Elements
Session Boxes: Optional background colors for each session (default: OFF)
Session VWAP: Dynamic line with color based on price position
Session High/Low: Horizontal lines for current session (2 lines only)
Volume Bars: Color-coded based on momentum and direction
Volume Distribution Profile: Histogram showing volume at price levels
POC Line: Horizontal line at Point of Control
Value Area: Shaded zone between VAH and VAL
Accumulation/Distribution Markers: Labels for strong volume phases
Dashboard: Bottom-right table with session and volume metrics
Chart demonstrating session VWAP, volume bars, and dashboard
How Components Work Together
The mashup reveals session-based institutional flow:
Session Trading Sequence:
1. Session Opens: New session begins (London/NY/Asian)
2. VWAP Establishes: Session VWAP forms as volume enters
3. Volume Distribution: Institutions create volume at key levels (POC, Value Area)
4. Session Range: High and low established through institutional activity
5. Volume Momentum: Accumulation or distribution phase identified
6. Session Close: Levels become reference for next session
Example: London session opens, price trades above session VWAP with rising volume (accumulation). Volume distribution shows POC forming at 1.2500 level. Session high reaches 1.2550. NY session opens, price respects London session high and VWAP, continues higher with climax volume. Dashboard shows strong accumulation with volume momentum +75%.
Input Parameters
Session Settings:
London Session: Time range (default: 0300-1200)
NY Session: Time range (default: 0830-1700)
Asian Session: Time range (default: 0000-0900)
Show Session Boxes: Toggle background colors (default: OFF)
Highlight Overlap: Emphasize London/NY overlap (default: enabled)
VWAP Settings:
Show Session VWAP: Toggle VWAP line (default: enabled)
VWAP Reset: Session, Daily, Weekly (default: Session)
VWAP Bands: Optional standard deviation bands (default: disabled)
Distance Alert: Alert when price moves X% from VWAP (default: 2%)
Volume Settings:
Volume MA Length: Period for volume average (default: 20)
High Volume Threshold: Multiplier for high volume (default: 1.5x)
Climax Volume Threshold: Multiplier for climax (default: 3.0x)
Show Volume Bars: Color-coded volume bars (default: enabled)
Show Distribution Profile: Volume at price histogram (default: enabled)
Session Levels:
Show Current Session H/L: Toggle current session levels (default: enabled)
Show Previous Session H/L: Toggle previous session levels (default: disabled)
Show POC: Toggle Point of Control line (default: enabled)
Show Value Area: Toggle VAH/VAL zone (default: enabled)
Display Options:
Show Dashboard: Toggle metrics table (default: enabled)
Dashboard Position: Bottom-right, top-right, etc. (default: bottom-right)
Color Theme: Choose color scheme
Transparency: Adjust visual element transparency
How to Use This Indicator
Step 1: Identify Active Session
Check dashboard to see which session is active. Focus trading during London and NY sessions for highest volume and best opportunities.
Step 2: Monitor Session VWAP
Use session VWAP as directional bias. Price above VWAP = bullish bias, below = bearish bias. VWAP often acts as support/resistance.
Step 3: Check Volume Distribution
Identify POC and Value Area. These levels often provide strong support/resistance. Price tends to return to POC (fair value).
Step 4: Assess Volume Momentum
Check if volume is rising (accumulation/distribution) or falling (lack of interest). Climax volume often marks important turning points.
Step 5: Use Session High/Low
Current session high/low define intraday range. Breaks above/below these levels signal potential breakout moves.
Step 6: Watch for Session Transitions
Session opens and closes often bring volatility. London open and NY open are particularly important for major moves.
Best Practices
Use on 5-minute to 1-hour timeframes for optimal session analysis
London/NY overlap (08:30-12:00 EST) offers highest volume and best opportunities
Session VWAP acts as magnet - price often returns to it
POC from previous session often becomes support/resistance in current session
Climax volume at session high/low often marks reversal points
Accumulation during Asian session often leads to breakout during London open
Value Area breaks signal strong directional moves
Previous session high/low become key levels for current session
Combine session analysis with other technical tools for best results
Indicator Limitations
Session times are fixed and may not account for daylight saving time changes
Volume distribution requires sufficient data within session to be meaningful
VWAP can be less relevant in very volatile or trending markets
Session high/low can be broken multiple times in volatile conditions
Lower timeframes may show choppy session transitions
Volume data quality varies across different markets and brokers
Asian session analysis less reliable due to lower volume
Requires understanding of session-based trading concepts
Visual elements can clutter chart if all options enabled
Technical Implementation
Built with Pine Script v6 using:
Session detection using time() function with session strings
Session-specific VWAP calculation with reset logic
Volume distribution profiling with POC and Value Area calculation
Volume momentum tracking with MA comparison
Session high/low tracking with persistent variables
Accumulation/distribution detection using volume and price
Dynamic dashboard with real-time session metrics
Optional session boxes with transparency control
Color-coded volume bars based on momentum
The code is fully open-source and can be modified to adjust session times, volume thresholds, and visual preferences.
Originality Statement
This indicator is original in its comprehensive session and volume integration approach. While individual components (session identification, VWAP, volume distribution, volume momentum, session high/low) are established concepts, this mashup is justified because:
It combines session-based analysis with volume distribution profiling
Session-specific VWAP provides more relevant institutional benchmark than daily VWAP
Integration of volume momentum with session context reveals accumulation/distribution phases
Simplified visual presentation (current session H/L only) reduces clutter
Dashboard presents complex session and volume data clearly
Focus on institutional trading sessions (London/NY) aligns with volume reality
Each component contributes unique information: Session identification shows when institutions are active, Volume Distribution reveals where they're trading, VWAP shows their average price, Volume Momentum shows their intent, and Session High/Low marks their range. The mashup's value lies in presenting these complementary session-based perspectives simultaneously, allowing traders to understand how institutional volume flows through different global trading sessions.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Session-based analysis and volume distribution are analytical tools that analyze past data. They do not predict future price movement or guarantee that institutional traders are active at identified levels. Market conditions change, and session patterns that worked historically may not work in the future.
VWAP and volume distribution levels can fail to provide support/resistance. Session highs and lows can be broken without leading to sustained moves. Volume momentum can change rapidly. Past session behavior does not guarantee future session behavior.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Indicator

Triple MACD MomentumWhat This Indicator Does
Triple MACD Momentum is a multi-layer momentum confluence indicator that runs three independent MACD calculations — each tuned to a different speed cycle — and displays them as nested histogram columns within a single pane. Rather than requiring a trader to open three separate MACD indicators and mentally cross-reference them, it unifies the reading into one visual structure and adds a composite momentum score that numerically quantifies cross-layer agreement.
The three layers operate at short, medium, and long-term horizons. Their histograms are painted one inside the other (widest in the back, narrowest in front), and dynamic gradient coloring on each layer independently reflects whether momentum within that cycle is accelerating or decelerating. The indicator also provides six dedicated alert conditions, optional background shading on full alignment, and a user-toggleable anti-repainting gate — all computed directly on chart data without any request.security() calls.
How It Works
The indicator computes three standard MACD lines (fast EMA minus slow EMA), each with its own configurable fast length, slow length, signal smoothing length, and price source.
-Layer A (Short-term) uses default parameters 8/12/9. This is the most responsive layer. Its fast EMA (8) reacts within a few bars to price changes, while the slow EMA (12) provides the baseline. The resulting MACD line oscillates quickly around zero and captures intrabar and intraday momentum shifts. Because the spread between fast and slow is only 4 bars, this layer will cross zero frequently — that is intentional. It is designed to show every momentum impulse, including minor ones, so the trader can evaluate them in the context of the slower layers.
-Layer B (Medium-term) uses default parameters 16/30/9. The fast EMA (16) is roughly double Layer A's, creating a natural harmonic relationship. The slow EMA (30) provides a wider baseline that filters out the minor swings that Layer A captures. When Layer B crosses zero, it typically represents a momentum shift that persists for multiple sessions rather than a single bar — it is the "noise filter" that separates meaningful swings from intraday chop. The 16/30 spread (14 bars) is approximately 3.5x wider than Layer A's spread, ensuring it responds to genuinely different market dynamics rather than just being a lagged version of Layer A.
-Layer C (Long-term) uses default parameters 50/80/9. This is the structural layer. The 50-period fast EMA aligns with the widely-watched 50-period moving average that institutional traders and algorithms monitor. The 80-period slow EMA establishes the macro trend baseline. When Layer C is above zero, the dominant trend is bullish at a multi-week to multi-month scale (on daily charts); when below zero, the structural bias is bearish. Zero-line crosses on this layer are relatively rare events — they represent genuine regime shifts in market momentum. Because these crosses happen infrequently, each one carries significantly more weight than a Layer A or B cross.
All calculations use ta.macd() directly on the chart's price data. No request.security() is involved anywhere — the indicator reads only from the symbol and timeframe already loaded on the chart. This eliminates an entire category of repainting risk that arises from security context mismatches, lookahead settings, or real-time vs. historical data divergence in multi-security calls.
The Anti-Repaint Gate
Beyond avoiding request.security(), the indicator includes a dedicated "Wait for Bar Close" toggle (enabled by default) in the System settings group. When active, it uses barstate.isconfirmed to gate every value the indicator produces — MACD lines, signal lines, histogram values, momentum score, gradient coloring decisions, and alert evaluations. On the current forming (unclosed) bar, the indicator displays the previous confirmed bar's state instead of the live-updating values. The moment that bar closes and becomes confirmed, the indicator updates to reflect the new confirmed data. On historical bars, barstate.isconfirmed is always true, so this mechanism has zero impact on backtesting — it only affects the single live bar on a real-time chart. This means that if you screenshot a signal today and check it tomorrow, it will be in the same place with the same color. Traders who prefer to see live intra-bar updates can disable this toggle, understanding that the current bar's values may shift until close.
Momentum Score Calculation
The momentum score is a composite number that translates visual histogram information into a single numeric value. For each enabled layer, two components are evaluated:
1. Directional component: If the MACD line is above zero, the layer contributes +1 (bullish structural bias); if below zero, it contributes -1 (bearish structural bias). This captures the position of price momentum relative to its own moving average equilibrium.
2. Acceleration component: If the MACD line is above its own signal line, an additional +0.25 is added (momentum is accelerating or maintaining strength); if below the signal line, -0.25 is applied (momentum is decelerating or weakening). This is a subtler measure — a layer can be bullish (above zero) but decelerating (below its signal line), which is a common pre-reversal condition.
With all three layers enabled, the score ranges from -3.75 (all bearish and decelerating) to +3.75 (all bullish and accelerating). The fractional granularity means you can distinguish between, for example, "all layers bullish but Layer A is losing steam" (+2.75) vs. "all layers bullish and all accelerating" (+3.75) — a distinction that is difficult to make visually from histogram columns alone.
Gradient Coloring Mechanics
Each layer's histogram bars are colored not just by polarity (above/below zero) but by whether the histogram value is growing or shrinking compared to the previous bar. This is implemented by comparing the current bar's histogram to the prior bar's histogram (both gated through the anti-repaint mechanism):
- When the histogram is growing (current > previous for bullish, or current < previous for bearish), the bar color is rendered at full brightness — momentum in that layer is accelerating.
- When the histogram is shrinking (moving back toward zero), the bar color dims to 50% transparency — momentum in that layer is decelerating.
This is functionally equivalent to monitoring the first derivative of the MACD histogram, which itself is the first derivative of the MACD line, which is the difference between two EMAs of price. In practical terms, the gradient coloring reflects the rate of change of momentum's rate of change. That may sound abstract, but visually it is intuitive: bright bars mean the trend is pushing harder, dim bars mean it is losing energy. You will typically see a sequence of bright bars at the start of a move, transitioning to dim bars as the move matures, before the MACD line eventually crosses zero. The gradient gives you that early read.
Underlying Concepts
Multi-Cycle Momentum Decomposition
Markets generate price movements across multiple overlapping cycles simultaneously. A single MACD captures one frequency band determined by its parameter set. The fundamental limitation is that short parameters generate many signals (high sensitivity, low specificity — many false positives), while long parameters generate few signals (low sensitivity, high specificity — but late entries and exits). Neither alone solves the core problem of distinguishing a genuine trend initiation from a temporary counter-trend bounce.
Triple MACD Momentum addresses this by decomposing momentum into three frequency bands with harmonically-related parameters. "Harmonically-related" means the fast EMA lengths scale in approximate ratios (8 → 16 → 50, roughly 1x → 2x → 6x), so each layer responds to genuinely different market dynamics rather than overlapping time horizons. This creates a three-tier filter:
- Layer A catches the impulse first (sensitivity)
- Layer B confirms it is not just noise (intermediate filter)
- Layer C confirms the structural trend supports it (specificity)
When all three agree, the probability of a sustained directional move increases substantially because momentum at every measured frequency is pointing the same way. When they disagree — particularly when Layer A diverges from Layer C — it reveals that short-term price action is moving against the dominant trend, a condition that often precedes either a reversal or a temporary pullback followed by trend continuation.
Confluence as a Probability Filter
The momentum score formalizes what experienced discretionary traders do intuitively: weigh multiple confirming signals to assess conviction. A score of +3.75 does not guarantee price will rise, but it quantifies a state where short, medium, and long-term momentum all agree and are all accelerating — a relatively rare alignment that, empirically, tends to produce stronger directional follow-through than any single MACD reading alone. Conversely, a score near zero reveals genuine indecision across timescales — a state where entering directional trades carries higher risk because no dominant momentum regime exists.
Acceleration vs. Deceleration: Leading vs. Lagging Information
A standard MACD crossing zero is a lagging event — by the time the fast EMA crosses below the slow EMA, price has already reversed by a meaningful amount. The gradient coloring in this indicator provides a leading element: you can observe momentum decelerating (histogram bars dimming) well before the zero cross occurs. This does not predict the future, but it tells you that the current rate of momentum change is decreasing. In physical terms, it is the difference between an object still moving forward but slowing down (decelerating) versus one that has actually reversed direction (zero cross). Seeing deceleration first gives traders time to tighten stops, reduce position size, or prepare for a potential exit — actions that a zero-cross-only approach would trigger too late.
Why Three Layers Instead of Two (or Four)
Two layers (short + long) capture directional agreement but miss the intermediate filter. This often results in situations where the short layer flips frequently while the long layer stays steady, giving ambiguous signals during transitional phases. The medium layer resolves this: it confirms that the short layer's signal is more than noise but hasn't yet become a structural shift — it occupies the analytically useful middle ground.
Four or more layers would add visual complexity without proportional information gain. Three layers cover the primary momentum cycles that most market participants react to: intraday/scalping (Layer A), session/daily (Layer B), and weekly/monthly (Layer C). Additional layers would subdivide these same cycles with diminishing marginal insight.
What Makes It Original
Several open-source indicators display multiple MACDs. This indicator differs from those in the following specific ways:
- Numeric confluence quantification: Most multi-MACD indicators leave interpretation entirely visual. The momentum score converts three-layer agreement into a single number with defined ranges, enabling objective threshold-based analysis and alerting. A trader can set a rule like "I only take long entries when score is above +2.0" — something not possible with visual-only multi-MACD tools.
- Acceleration-aware coloring: Standard MACD histograms use fixed colors for above/below zero. This indicator's gradient coloring adds the histogram's direction (growing vs. shrinking) as a visual dimension, providing deceleration warnings that standard coloring cannot show. The bright-to-dim transition within a bullish or bearish phase is a distinct visual signal not present in conventional MACD presentations.
- Transparent anti-repaint architecture: The barstate.isconfirmed gate is exposed as a user-facing toggle with a detailed tooltip, not hidden in the code logic. This lets traders make an informed decision about the repaint/responsiveness tradeoff and ensures that the indicator's behavior is fully transparent. All downstream calculations — score, coloring, alignment, and alerts — flow through this gate.
- Harmonic parameter design: The defaults are not arbitrary. The 8/16/50 fast EMA progression creates approximately 1x/2x/6x harmonic scaling, ensuring each layer responds to a different market cycle rather than slightly shifted versions of the same one. The slow EMAs (12/30/80) maintain proportional spreads that produce meaningful MACD oscillation amplitude at each scale.
- Alert architecture tied to confluence events: The six alert conditions focus on multi-layer events (full alignment formed, alignment broken, score threshold crossings) rather than single-layer crossovers. This means alerts fire on confluent events that carry more analytical weight than individual MACD crosses.
How to Use It
Reading the histogram layers
The chart displays three sets of histogram columns overlaid from back to front. Layer C (long-term) uses white for bullish and black for bearish, rendering as the widest column. Layer B (medium-term) uses dark green for bullish and dark red for bearish, rendering slightly narrower. Layer A (short-term) uses bright green for bullish and bright red for bearish, rendering as the narrowest column in the foreground. This nesting creates a visual "traffic light" where you can see all three layers' directional state on every bar without any interpretation effort.
When all columns on a bar share the same polarity (all above or all below zero), momentum is aligned across all three cycles. When they diverge — for example, Layer C (wide white column) extends above zero while Layer A (narrow red column) drops below zero — you are looking at a short-term pullback within a structurally bullish environment. This specific pattern often precedes a continuation opportunity once Layer A re-aligns upward.
Interpreting the momentum score
The numeric label displays the composite score on the last bar. Use it as a quick directional conviction check:
- +3.0 to +3.75: Maximum bullish confluence. All layers bullish and at least some are accelerating. This is the strongest possible momentum regime. Pullbacks in this state tend to be shallow and short-lived.
- +2.0 to +2.99: Strong bullish bias. Most layers agree, though one may be decelerating. Trend-following entries still favorable, but position sizing may be slightly more conservative than in the +3.0 zone.
- +1.0 to +1.99: Mild bullish bias. Typically one layer disagrees or multiple layers are decelerating. The trend exists but lacks full conviction — suitable for reduced-size positions or waiting for higher confirmation.
- -0.99 to +0.99: Neutral zone. Layers are mixed or offsetting each other. Directional trades in this zone carry elevated risk because no dominant momentum regime is established. Consider this a "no-trade" or "range-trade" zone for directional momentum traders.
- -1.0 to -1.99: Mild bearish bias. Mirror of the +1 to +2 zone.
- -2.0 to -2.99: Strong bearish bias. Mirror of the +2 to +3 zone.
- -3.0 to -3.75: Maximum bearish confluence. Mirror of the +3 to +3.75 zone.
Using gradient coloring for timing
The transition from bright to dim bars within a layer is one of the indicator's most actionable patterns. Here are specific situations to watch:
- Entry timing: After all layers align bullish, wait for Layer A to show a sequence of dimming bars (deceleration) followed by a return to bright bars. That transition from dim back to bright indicates that a pullback has completed and momentum is re-accelerating in the trend direction — often a higher-quality entry point than the initial alignment.
- Exit or tighten stops: When Layer A and Layer B both begin dimming simultaneously while still in bullish territory, the move is maturing. If Layer C also starts dimming, the entire momentum structure is decelerating — a condition that frequently precedes a meaningful correction or reversal.
Setting and using alerts
Six alert conditions are available in the indicator's alert menu:
- Full Bullish Alignment / Full Bearish Alignment: Fires when all enabled layers simultaneously cross into the same polarity for the first time. This is the "all green lights" or "all red lights" event. Useful for swing traders monitoring multiple instruments — set this alert on your watchlist and only check the chart when alignment forms.
- Alignment Formed / Alignment Lost: A broader version — "Formed" fires when any full alignment (bullish or bearish) begins; "Lost" fires when a previously aligned state breaks (at least one layer diverges). The "Lost" alert is particularly useful as a risk management trigger: if you entered on alignment and alignment breaks, it may be time to re-evaluate the position.
- Strong Bullish Score / Strong Bearish Score: Fires when the momentum score crosses the +2.5 or -2.5 threshold from the weaker side. These are threshold-based alerts for traders who use the numeric score as an objective entry filter.
All alerts operate on gated (anti-repaint) values when the anti-repaint setting is enabled, meaning they will only fire after the bar closes and confirms.
Adjusting parameters for different markets and timeframes
The defaults (8/12/9, 16/30/9, 50/80/9) are calibrated for general-purpose use on 5m to Daily charts across liquid markets. If you trade on very short timeframes (1m-3m), consider increasing Layer A's slow EMA from 12 to 17-21 to reduce noise from microstructure volatility. If you trade weekly charts, consider increasing Layer C's signal length from 9 to 14 to reduce whipsaw crossovers that lack structural significance on that timeframe. The key principle when adjusting: maintain meaningful separation between layers. If Layer A's slow EMA gets too close to Layer B's fast EMA, the two layers begin measuring the same momentum cycle and the confluence reading becomes redundant rather than additive.
Combining with other analysis
This indicator is most effective as a momentum confluence confirmation layer within a broader methodology. It tells you what momentum is doing across multiple cycles but does not identify price levels, volume patterns, or market structure on its own. Practical combinations include using it alongside horizontal support/resistance levels (enter when momentum aligns at a key level), volume profile (confirm that momentum alignment coincides with high-volume nodes), or candlestick patterns (use Layer A gradient transitions to validate reversal candle signals). Avoid combining it with other oscillators that measure similar things (like RSI or Stochastic) — adding another momentum oscillator would be redundant rather than complementary.
Suitability
Markets: Suitable for any liquid market — Forex pairs (majors and liquid crosses), Cryptocurrency (BTC, ETH, and major altcoins on established exchanges), Stocks (equities with adequate daily volume), Futures (equity indices, commodities, rates), and broad market Indices. Illiquid markets with wide spreads or thin order books may produce unreliable MACD readings on lower timeframes due to price gaps and erratic tick-level movements.
Timeframes and trading styles:
- Momentum scalping (1m to 5m): Use Layer A as the primary trigger within the structural bias set by Layer C. The gradient coloring on Layer A provides entry-to-exit timing within individual momentum impulses lasting minutes. Focus on score above +2.0 (or below -2.0) before initiating a scalp in that direction. Because scalping on these timeframes involves rapid decisions, consider disabling the anti-repaint gate for real-time intra-bar responsiveness, understanding that signals may shift before bar close.
- Intraday momentum trading (5m to 15m): All three layers contribute meaningfully. Layer C establishes the session bias (is the day trending or ranging?), Layer B confirms the dominant intraday swing direction, and Layer A provides entry timing. Keep anti-repaint enabled for signal reliability. The gradient coloring on Layer B is particularly useful here — dimming on Layer B during an intraday trend signals that the current swing is maturing.
- Day trading (15m to 1H): At this resolution, Layer B becomes the primary directional tool and Layer A serves as an entry optimizer. Layer C acts as a structural backdrop — if Layer C is bearish on the 1H chart, bullish signals from A and B are counter-trend trades with lower probability. Set "Alignment Formed" and "Alignment Lost" alerts to monitor transitions without watching every bar.
- Swing trading (4H to Daily): Layer C zero-line crosses become significant swing trade signals. When Layer C crosses above zero and Layer B confirms by also being above zero, a multi-day to multi-week bullish swing is likely underway. Layer A's gradient coloring identifies pullback entries within the swing. Consider increasing Layer C's signal length to 12-14 on the Daily to reduce minor whipsaws.
- Position trading (Daily to Weekly): Focus primarily on Layer C and the momentum score. A score transition from negative to above +2.0 on the Daily or Weekly chart signals a potential regime change worth investigating for longer-term allocation. Layer A and B serve as timing tools for entry and exit within the position. On Weekly charts, all signal lengths may benefit from being increased to 12-14.
Disclaimer
This indicator is a technical analysis tool provided for educational and analytical purposes. It does not constitute financial advice, investment recommendations, or a solicitation to trade. No indicator, regardless of its complexity or the number of confirming layers, can predict future market direction with certainty. All signals generated — including alignment events, momentum scores, and gradient color transitions — reflect historical and current price data; they do not guarantee future performance. Always apply proper risk management, define your position sizing relative to account equity before entering any trade, and use this indicator as one component within a complete trading methodology. Past performance observed on backtests or historical charts does not ensure similar results in live markets due to slippage, spread variability, liquidity conditions, and changing market regimes.
Indicator

Smart Money Tracker [JOAT]Smart Money Tracker
Introduction
The Smart Money Tracker is an open-source indicator that combines institutional order flow concepts including Fair Value Gaps (FVG), Order Blocks (OB), Breaker Blocks, Liquidity Sweeps, Market Structure Breaks, and Displacement patterns. This mashup creates a comprehensive Smart Money Concepts (SMC) analysis system designed to identify where institutional traders are positioning themselves and how they manipulate price to accumulate or distribute positions.
The indicator addresses a fundamental market reality: institutional traders with large capital cannot simply buy or sell at market prices without moving the market against themselves. They must use sophisticated techniques including liquidity sweeps, gap creation, and order block manipulation. By tracking these institutional footprints simultaneously, this tool helps retail traders align with smart money rather than becoming their liquidity.
Chart showing FVG zones, Order Blocks, liquidity sweeps, and market structure on 15M timeframe
Why This Mashup Exists
This indicator combines six Smart Money Concepts that reveal different aspects of institutional behavior:
Fair Value Gaps (FVG): Inefficient price delivery zones where institutions moved price quickly
Order Blocks (OB): Last opposite-direction move before impulse, showing accumulation/distribution
Breaker Blocks: Failed Order Blocks that signal potential trend reversal
Liquidity Sweeps: Stop hunts where institutions trigger retail stops before real move
Market Structure: Break of Structure (BOS) and Change of Character (CHoCH) patterns
Displacement: Strong institutional moves with high volume and large candles
Each concept reveals different institutional tactics: FVGs show where they moved fast, Order Blocks show where they accumulated, Breaker Blocks show failed accumulation, Liquidity Sweeps show stop hunts, Market Structure shows control shifts, and Displacement shows strong directional intent. Together, they create a complete picture of institutional order flow that no single concept can provide.
The mashup is justified because these concepts work together in institutional trading sequences: institutions sweep liquidity, create FVGs during displacement, leave Order Blocks at accumulation zones, and break market structure when taking control. Tracking all simultaneously reveals the complete institutional playbook.
Core Components Explained
1. Fair Value Gap (FVG) Detection
FVGs occur when price moves so quickly that it leaves an unfilled gap:
// Bullish FVG: Current low > high from 2 bars ago
bullishFVG = low > high and close > high
fvgTop = low
fvgBottom = high
fvgSize = ((fvgTop - fvgBottom) / fvgBottom) * 100
// Bearish FVG: Current high < low from 2 bars ago
bearishFVG = high < low and close < low
fvgTop = low
fvgBottom = high
fvgSize = ((fvgTop - fvgBottom) / fvgBottom) * 100
FVG significance:
Represents inefficient price delivery - institutions moved too fast
Price often returns to "fill" these gaps before continuing
Larger FVGs (> 0.5%) are more significant
FVGs act as support/resistance zones
Multiple unfilled FVGs suggest strong directional intent
The indicator draws boxes for FVGs and tracks when they get "mitigated" (price returns to fill them). Timeframe-adaptive limits prevent clutter (fewer boxes on higher timeframes).
2. Order Block Identification
Order Blocks mark where institutions accumulated or distributed positions:
// Bullish Order Block
// Two consecutive bearish candles + strong bullish candle with high volume
bullishOB = close < open and
close < open and
close > open and
volume > volumeMA * 1.5
obHigh = high
obLow = low
// Bearish Order Block
// Two consecutive bullish candles + strong bearish candle with high volume
bearishOB = close > open and
close > open and
close < open and
volume > volumeMA * 1.5
Order Block characteristics:
Last opposite-direction move before strong impulse
Represents institutional accumulation (bullish OB) or distribution (bearish OB)
Often provides support/resistance on retests
Volume confirmation ensures institutional participation
Stronger OBs have larger candles and higher volume
The indicator draws solid boxes for Order Blocks and tracks their strength based on volume and candle size. Timeframe-adaptive filtering ensures only significant OBs are displayed.
3. Breaker Block Detection
Breaker Blocks are failed Order Blocks that signal potential reversals:
// Track last bullish and bearish Order Block levels
var float lastBullOBHigh = na
var float lastBearOBLow = na
if bullishOB
lastBullOBHigh := high
if bearishOB
lastBearOBLow := low
// Breaker Bull: Price breaks above failed bearish OB
breakerBull = not na(lastBearOBLow) and
close > lastBearOBLow and
close <= lastBearOBLow
// Breaker Bear: Price breaks below failed bullish OB
breakerBear = not na(lastBullOBHigh) and
close < lastBullOBHigh and
close >= lastBullOBHigh
Breaker Block significance:
Failed Order Blocks often become strong support/resistance in opposite direction
Indicate institutional position reversal
High-probability reversal zones when combined with other SMC signals
Often mark major trend changes
The indicator marks Breaker Blocks with "BB" labels and tracks them as potential reversal zones.
4. Liquidity Sweep Analysis
Liquidity Sweeps identify stop hunts before real moves:
lookbackBars = 20
// Recent highs and lows (liquidity pools)
recentHigh = ta.highest(high, lookbackBars)
recentLow = ta.lowest(low, lookbackBars)
// Liquidity Sweep High (stop hunt above recent high)
liquiditySweepHigh = high > recentHigh and
close < recentHigh and
volume > volumeMA * 1.5
// Liquidity Sweep Low (stop hunt below recent low)
liquiditySweepLow = low < recentLow and
close > recentLow and
volume > volumeMA * 1.5
// Strong sweeps have higher volume
strongSweep = volume > volumeMA * 2.5
Liquidity Sweep characteristics:
Price briefly exceeds recent high/low to trigger stops
Closes back inside range - "fake breakout"
High volume confirms institutional participation
Often precedes strong moves in opposite direction
"Strong" sweeps (very high volume) are more reliable
The indicator places "LIQ" and "STRONG LIQ" labels precisely at sweep tips (above bars for high sweeps, below bars for low sweeps) with timeframe-adaptive spacing to prevent overlap.
5. Market Structure Analysis
Market structure tracks control shifts between buyers and sellers:
// Break of Structure (BOS)
// Price breaks beyond previous swing high/low in trend direction
bullishBOS = close > ta.highest(high , 20) and trend == bullish
bearishBOS = close < ta.lowest(low , 20) and trend == bearish
// Change of Character (CHoCH)
// Price breaks structure against trend - potential reversal
bullishCHoCH = close > ta.highest(high , 20) and trend == bearish
bearishCHoCH = close < ta.lowest(low , 20) and trend == bullish
Market Structure significance:
BOS confirms trend continuation
CHoCH signals potential trend reversal
Helps identify when institutional control shifts
Provides context for other SMC signals
The indicator marks BOS and CHoCH with labels and uses them to determine overall market bias.
6. Displacement Detection
Displacement identifies strong institutional moves:
atr = ta.atr(14)
// Displacement: Large candle (> 2x ATR) with climax volume
displacement = math.abs(close - open) > atr * 2 and
volume > volumeMA * 3.0
bullishDisplacement = displacement and close > open
bearishDisplacement = displacement and close < open
Displacement characteristics:
Very large candles relative to ATR
Climax volume (> 3x average)
Indicates strong institutional directional intent
Often creates FVGs
Signals potential trend acceleration
The indicator marks displacement with "DISP" labels and uses them to identify high-conviction institutional moves.
Example showing all SMC concepts: FVGs, Order Blocks, Breaker Blocks, and liquidity sweeps
Timeframe-Adaptive System
The indicator automatically adjusts based on timeframe to prevent clutter:
// Higher timeframes (2H+): Fewer boxes, larger minimum sizes
if timeframe >= 120 minutes:
maxFVGs = 12
maxOBs = 10
minFVGSize = 0.5%
minOBSize = 0.8%
labelSpacing = 15 bars
// Medium timeframes (1H): Moderate filtering
else if timeframe >= 60 minutes:
maxFVGs = 15
maxOBs = 12
minFVGSize = 0.4%
minOBSize = 0.6%
labelSpacing = 12 bars
// Lower timeframes (15M): More boxes, smaller minimum sizes
else:
maxFVGs = 20-25
maxOBs = 15-20
minFVGSize = 0.3%
minOBSize = 0.4%
labelSpacing = 8-10 bars
This ensures the indicator remains useful across all timeframes without overwhelming the chart.
SMC Confluence Dashboard
The dashboard (top-right position) displays:
Market Bias: Bullish/Bearish/Neutral based on structure
Active FVGs: Count of unfilled Fair Value Gaps
Active OBs: Count of untested Order Blocks
Recent Sweeps: Liquidity sweeps in last 50 bars
Structure: Last BOS or CHoCH type
Displacement: Recent displacement direction
SMC Score: Overall confluence (0-10)
SMC Score calculation:
SMC Score Components:
- Significant FVG present: +2 points
- Strong Order Block present: +2 points
- Breaker Block active: +1 point
- Recent liquidity sweep: +2 points
- Displacement in direction: +3 points
Total: 0-10 points
Visual Elements
FVG Boxes: Green (bullish) and red (bearish) boxes, removed when mitigated
Order Block Boxes: Solid green/red boxes with strength-based transparency
Breaker Block Labels: "BB" markers at breaker zones
Liquidity Sweep Labels: "LIQ" and "STRONG LIQ" at sweep tips
Displacement Labels: "DISP" markers on displacement candles
Structure Labels: "BOS" and "CHoCH" at structure breaks
Mitigation Markers: Small circles when FVGs get filled
Dashboard: Top-right table with SMC metrics
How Components Work Together
The mashup reveals institutional trading sequences:
Sequence 1 - Accumulation:
1. Liquidity Sweep triggers retail stops
2. Order Block forms as institutions accumulate
3. Displacement occurs as institutions push price
4. FVG created during fast move
5. BOS confirms trend direction
Sequence 2 - Reversal:
1. Multiple liquidity sweeps fail to extend trend
2. Order Block fails, becomes Breaker Block
3. CHoCH signals control shift
4. Opposite-direction displacement
5. New trend structure forms
Example: Price sweeps below recent lows (liquidity sweep), then strongly reverses with high volume (displacement), leaving a bullish FVG. A bullish Order Block forms at the reversal zone. Price breaks above previous structure (BOS). SMC Score reaches 9/10, signaling strong bullish institutional setup.
Input Parameters
FVG Settings:
Show FVGs: Toggle FVG boxes (default: enabled)
Min FVG Size: Minimum gap size % (default: 0.3%)
Max FVG Boxes: Limit displayed boxes (default: timeframe-adaptive)
Show Mitigation: Mark when FVGs get filled (default: enabled)
Order Block Settings:
Show Order Blocks: Toggle OB boxes (default: enabled)
Min OB Strength: Minimum volume multiplier (default: 1.5x)
Max OB Boxes: Limit displayed boxes (default: timeframe-adaptive)
OB Lookback: Bars to track OBs (default: 100)
Liquidity Settings:
Show Liquidity Sweeps: Toggle sweep labels (default: enabled)
Lookback Bars: Period for liquidity pools (default: 20)
Strong Sweep Threshold: Volume multiplier (default: 2.5x)
Label Spacing: Minimum bars between labels (default: timeframe-adaptive)
Structure Settings:
Show Structure: Toggle BOS/CHoCH labels (default: enabled)
Show Breaker Blocks: Toggle BB labels (default: enabled)
Show Displacement: Toggle DISP labels (default: enabled)
Structure Sensitivity: Swing detection period (default: 20)
Display Options:
Show Dashboard: Toggle SMC dashboard (default: enabled)
Timeframe Adaptive: Auto-adjust limits (default: enabled)
Remove Extensions: Don't extend boxes right (default: enabled)
Color Theme: Choose color scheme
How to Use This Indicator
Step 1: Identify Market Structure
Check for recent BOS or CHoCH. BOS suggests trend continuation, CHoCH suggests potential reversal.
Step 2: Look for Liquidity Sweeps
Liquidity sweeps often precede strong moves in opposite direction. "STRONG LIQ" sweeps are particularly significant.
Step 3: Identify Order Blocks
Look for Order Blocks in the direction of intended trade. OBs often provide high-probability entry zones on retests.
Step 4: Check for FVGs
Unfilled FVGs act as magnets - price often returns to fill them. Can be used for entry targets or profit-taking zones.
Step 5: Watch for Displacement
Displacement signals strong institutional intent. When displacement occurs from an Order Block, it confirms the zone's validity.
Step 6: Monitor Breaker Blocks
Failed Order Blocks (Breaker Blocks) often mark major reversals. These are high-probability reversal zones.
Step 7: Review SMC Score
Check dashboard SMC Score. Scores above 7 indicate strong institutional confluence.
Best Practices
Use on 15-minute to 4-hour timeframes for optimal SMC signal quality
Liquidity sweeps followed by displacement are extremely high-probability setups
Order Block retests with FVG confluence provide excellent risk:reward entries
Wait for price to return to Order Blocks rather than chasing displacement
Multiple unfilled FVGs in same direction suggest strong institutional intent
Breaker Blocks combined with CHoCH signal major trend reversals
Higher timeframe SMC signals are more reliable than lower timeframe
Use SMC Score as filter - focus on setups with 7+ score
Combine with traditional support/resistance for additional confirmation
Indicator Limitations
Not all FVGs get filled - some remain unfilled in strong trends
Order Blocks don't always provide support/resistance on retest
Liquidity sweeps can be followed by additional sweeps (multiple stop hunts)
Timeframe-adaptive filtering may hide some valid signals
Requires understanding of Smart Money Concepts for effective use
Visual elements can clutter chart even with adaptive limits
SMC concepts work best in trending markets, less effective in ranges
Institutional behavior patterns can change over time
No SMC system eliminates false signals entirely
Technical Implementation
Built with Pine Script v6 using:
Box management system with automatic cleanup
Timeframe-adaptive limits and filtering
Anti-overlap logic for all labels with dynamic spacing
FVG mitigation tracking with visual markers
Order Block strength calculation based on volume and size
Liquidity pool identification with sweep detection
Market structure tracking with BOS/CHoCH logic
Displacement detection using ATR and volume
Real-time SMC confluence scoring
Comprehensive dashboard with all SMC metrics
The code is fully open-source and can be modified to adjust thresholds, visual preferences, and filtering criteria.
Originality Statement
This indicator is original in its comprehensive SMC integration approach. While individual concepts (FVG, Order Blocks, Breaker Blocks, Liquidity Sweeps, Market Structure, Displacement) are established Smart Money Concepts, this mashup is justified because:
It tracks all major SMC concepts simultaneously in one indicator
Timeframe-adaptive system prevents clutter while maintaining functionality
Anti-overlap logic ensures clean visual presentation
SMC confluence scoring quantifies institutional setup quality
Integration reveals complete institutional trading sequences
Enhanced visual elements (precise label positioning, mitigation markers) improve usability
Each SMC concept reveals different institutional behavior: FVGs show fast moves, Order Blocks show accumulation, Breaker Blocks show failed accumulation, Liquidity Sweeps show stop hunts, Market Structure shows control shifts, and Displacement shows strong intent. The mashup's value lies in presenting these complementary institutional footprints simultaneously, allowing traders to identify complete institutional trading sequences rather than isolated signals.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Smart Money Concepts are analytical frameworks based on observations of institutional trading patterns. They do not guarantee that institutions are actually trading at identified zones, nor do they predict future institutional behavior. Market conditions change, and patterns that worked historically may not work in the future.
The SMC Score is a mathematical calculation based on current market structure, not a prediction of future price movement. High SMC scores do not ensure profitable trades. Order Blocks, FVGs, and other SMC zones can fail to provide support/resistance. Liquidity sweeps can be followed by additional sweeps.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Parkinson Range Oscillator [BackQuant]Parkinson Range Oscillator
Overview
Parkinson Range Oscillator is a volatility regime indicator built around the Parkinson volatility estimator , a high-low based variance model originally proposed as a more statistically efficient alternative to close-to-close volatility. Instead of measuring volatility from closing returns, this script measures volatility from the intrabar price range using ln(H/L), then converts it into a normalized oscillator (z-score) so you can identify volatility expansion vs compression relative to the asset’s own history.
The indicator is designed to answer questions like:
Is volatility currently elevated or suppressed relative to its baseline?
Is volatility expanding (risk rising) or compressing (coiling)?
How extreme is the current vol state in percentile terms?
How does range-based vol compare to a more common ATR-based vol read?
It plots:
A Parkinson-based volatility z-score oscillator with gradient fills.
A signal line (EMA) for expansion/compression transitions.
An ATR-based z-score for context comparison.
A dashboard with current vol %, z-score, percentile rank, regime label, and ATR z-score.
Where Parkinson volatility comes from (origin and intuition)
The Parkinson estimator comes from academic finance and the study of volatility estimation. The key insight is simple:
The daily high and low contain more information about variability than the close alone.
Close-to-close volatility only uses one price per bar (the close), throwing away intrabar information. The high-low range captures the realized dispersion inside the bar, so under ideal assumptions it can estimate variance more efficiently.
The Parkinson model is derived assuming:
Price follows a continuous-time diffusion process (often framed like geometric Brownian motion).
No drift matters for the variance estimate over the interval.
No jumps and no microstructure distortions (idealized).
Even though real markets violate these assumptions (gaps, jumps, wicks from order flow), the estimator remains useful because:
Range is still a strong proxy for realized volatility.
It reacts to intrabar expansion earlier than close-based methods.
It is less dependent on where the bar closes.
Core Parkinson formula (what the script implements)
Parkinson variance for a window of n bars is:
Var = (1 / (4 * n * ln(2))) * Σ
This script computes it in the common rolling form:
logHL2 = (ln(high/low))²
parkVar = SMA(logHL2, n) / (4 * ln(2))
parkVol = sqrt(parkVar) * 100
Key details:
ln(H/L) makes the range scale-invariant (percent-like), so it behaves more consistently across price levels.
Squaring gives variance contribution.
The 1/(4 ln 2) constant comes from the expected distribution of high-low range under a Brownian diffusion.
sqrt converts variance to standard deviation (volatility).
*100 expresses it as a percentage for readability.
So parkVol is a “range-based realized volatility proxy” in percent terms.
Why range-based volatility behaves differently than ATR
ATR measures average true range, which is a linear range magnitude measure (high-low plus gaps). Parkinson uses ln(H/L) which is:
Log-scaled (closer to a return-based measure).
More directly tied to variance estimation theory.
In practice:
ATR can be driven by gaps and absolute range.
Parkinson is driven by proportional range and tends to emphasize how wide the bar is relative to its price level.
Parkinson often reacts sharply when wicks expand even if closes are stable.
Normalization into an oscillator (making it comparable through time)
Raw volatility values are hard to interpret across regimes because every market has different “normal.” This script normalizes Parkinson volatility against its own rolling baseline using a z-score:
parkMA = SMA(parkVol, baselineLen)
parkSD = stdev(parkVol, baselineLen)
osc = (parkVol - parkMA) / parkSD
Interpretation:
osc = 0 means current vol is at its baseline average.
osc = +1 means 1 standard deviation above normal (high vol).
osc = -1 means 1 standard deviation below normal (compressed).
osc > +2 flags extreme expansion states.
This is the core output. It turns “volatility” into “volatility regime” in standardized units.
Signal line and expansion/compression transitions
The oscillator is smoothed with an EMA to create a signal line:
signal = EMA(osc, signalLen)
Then transitions are defined as:
Expansion cross: crossover(osc, signal) and osc > 0
Compression cross: crossunder(osc, signal) and osc < 0
Why the extra osc > 0 and osc < 0 conditions:
It prevents treating small oscillations around zero as meaningful.
It forces expansion signals to occur in above-average volatility territory.
It forces compression signals to occur in below-average volatility territory.
So signals are regime-confirming, not constant cross spam.
Percentile rank (how extreme is vol relative to the past)
In addition to the z-score, the script computes the percentile rank of the raw Parkinson volatility:
pctRank = percentrank(parkVol, pctRankLookback)
Interpretation:
pctRank near 90–100 means current vol is among the highest levels seen in that lookback.
pctRank near 0–10 means it is among the lowest (compression).
Z-score tells you “how many SDs from mean.” Percentile tells you “how rare is this state historically.” Those are different but complementary.
ATR comparison line (context, not the main engine)
The indicator also computes an ATR-based volatility proxy and normalizes it in the same way:
atrVol = ATR(n) / close * 100
atrOsc = zscore(atrVol, baselineLen)
This gives you a direct visual comparison:
If Parkinson oscillator is high but ATR oscillator isn’t, range expansion may be happening in a way ATR is not emphasizing (or vice versa).
If both agree, you have stronger confirmation of a true volatility regime shift.
ATR is included as a “common benchmark,” not as the primary signal.
Regime classification (human-readable state mapping)
The script labels regimes from osc:
osc > 2.0 → EXTREME
osc > 1.0 → HIGH
osc > 0.0 → ABOVE AVG
osc > -1.0 → BELOW AVG
else → COMPRESSED
This is a practical mapping for dashboards and quick reads. It is not pretending that 2.0 is a universal constant, it is just a standardized “rare expansion” threshold.
Coloring follows the same logic:
More positive = more “expansion” coloring (bearCol).
More negative = more “compression” coloring (bullCol).
Note: the color naming is semantic here:
“Low Vol / Compression” is bullCol because compression often precedes trend expansion opportunities.
“High Vol / Expansion” is bearCol because high vol often implies risk, disorder, liquidation, or unstable conditions.
You can interpret those however you prefer, the tool is measuring volatility regime, not directional bias.
Plot design (why the oscillator is split into positive/negative)
The oscillator is split into two series:
oscPos = osc if osc > 0 else na
oscNeg = osc if osc < 0 else na
This is purely for visuals:
Positive region is drawn with expansion color and expansion gradient fill to zero.
Negative region is drawn with compression color and compression gradient fill to zero.
This makes it obvious at a glance which side of “normal volatility” you’re on.
How to interpret the indicator correctly
1) The oscillator is volatility regime, not price direction
High osc does not mean price will go down. It means the market is moving violently relative to its baseline. That can occur in:
Selloffs, liquidations, panic.
Breakouts and momentum expansions.
News-driven repricing.
Low osc does not mean price will go up. It means the market is quiet relative to baseline:
Ranges, coils, low realized movement.
Slow grind trends with suppressed pullbacks.
Pre-breakout compressions.
2) Compression regimes are often “setup states”
When osc is deeply negative (compressed), it often indicates that realized movement has collapsed. In many markets this precedes:
Breakouts (vol expansion from compression).
Trend acceleration.
Mean reversion bursts.
But compression can also persist. This is why the script includes signal crosses and percentile rank to judge when compression is shifting.
3) Expansion regimes are often “risk states”
When osc is positive and rising, the environment is more chaotic:
Stops are more likely to be hit.
Mean reversion can get violent.
Trend continuation can be strong but timing becomes harder.
In those regimes, the tool can be used to:
Reduce leverage.
Widen stops (if your system supports it).
Switch to volatility-aware sizing.
Wait for stabilization if you trade mean reversion.
4) Use percentile rank to identify “rare” volatility
Two markets can both show osc = +1, but one might be at the 95th percentile and the other at the 70th depending on distribution shape. Percentile tells you whether the current vol is truly rare in that lookback.
Cross dots (how to treat them)
ExpansionCross and CompressionCross are not buy/sell signals. They are “volatility phase change” markers:
ExpansionCross: vol regime moving up, above baseline, acceleration risk increases.
CompressionCross: vol regime moving down, below baseline, quieting environment.
These are useful for:
Strategy toggles (trend mode vs chop mode).
Sizing changes.
Timing filters (avoid entries during extreme expansion if your edge hates noise).
Dashboard (what it gives you at a glance)
The table summarizes everything that matters without you needing to interpret plots manually:
Parkinson Vol %: current raw range-based volatility level.
Z-Score: current standardized regime reading.
Percentile: rarity of current vol in the lookback.
Regime: discrete label based on z-score thresholds.
ATR Z-Score: comparison metric in standardized units.
The dashboard is positioned and sized via inputs so it can fit different chart layouts.
Parameter tuning guidance
Parkinson Length
Controls how quickly the raw Parkinson vol responds:
Shorter = more reactive to immediate range changes.
Longer = smoother volatility estimate, less noisy.
Baseline Length
Controls what “normal” means:
Long baseline (like 100) creates stable regime definitions.
Short baseline makes z-scores jump around and can overreact.
Signal Length
Controls how quickly you detect regime turning points:
Short signal = more crosses, earlier detection, more noise.
Long signal = fewer crosses, later detection, cleaner regime shifts.
Percentile Lookback
Controls rarity context:
252 approximates one trading year on daily charts.
On intraday, it becomes “252 bars,” so adjust to match your horizon.
Limitations and what to watch for
Parkinson assumes continuous diffusion. Jumps and gaps can distort it.
Wicks caused by illiquidity can inflate ln(H/L) and produce false “expansion.”
Z-score assumes the baseline distribution is reasonably stable. If volatility distribution shifts structurally, your z-scores can be biased until baseline catches up.
Percentile rank is lookback-dependent. Different lookbacks can change “rarity” classification materially.
Summary
Parkinson Range Oscillator converts a statistically grounded high-low volatility estimator into a regime oscillator by z-scoring Parkinson volatility against its own rolling baseline. It highlights expansion vs compression states with clear gradients, flags volatility phase changes via oscillator-signal crosses, ranks current volatility by percentile for rarity context, and overlays an ATR-based z-score for comparison. This makes it a practical tool for volatility-aware trading, regime filtering, sizing adjustments, and identifying compression-to-expansion transitions. Indicator

Indicator

Momentum - MOM | TR🎯 Overview
Momentum - MOM | TR is a classic and intuitive momentum oscillator that measures the rate of change in price over a specified period. Developed by Tiagorocha1989, this enhanced version of the traditional Momentum indicator offers dual-mode operation with moving average customization and comprehensive visual features, helping traders identify trend strength, momentum shifts, and potential reversal points with clarity and precision.
🔧 How It Works
The Momentum indicator calculates the absolute difference between the current price and the price from a specified number of periods ago. This simple yet powerful calculation reveals whether prices are accelerating (increasing momentum) or decelerating (decreasing momentum).
Core Calculation Logic:
The indicator calculates Momentum using the standard formula:
Momentum = Current Price - Price n-periods ago
Where n is the user-defined Length MOM
The resulting oscillator fluctuates around zero, with:
Positive Momentum values indicating that prices are higher than they were n-periods ago (upward momentum)
Negative Momentum values indicating that prices are lower than they were n-periods ago (downward momentum)
Zero line representing no net change over the period
The magnitude of the value indicates momentum strength:
Large positive values → Strong upward momentum
Large negative values → Strong downward momentum
Values approaching zero → Weakening momentum or consolidation
The indicator compares Momentum to a reference line that can be either:
The traditional zero level
A user-defined moving average of Momentum itself (MOM MA mode)
✨ Key Features
🔹 Dual Operating Modes
Zero Line Mode: Classic Momentum implementation where signals occur when Momentum crosses above or below the zero line
MOM MA Mode: Enhanced version where signals occur when Momentum crosses its own moving average, providing smoother, filtered entries
🔹 Flexible Moving Average Selection
Choose from six MA types for the MOM MA mode:
EMA (Exponential Moving Average) for responsive signals
SMA (Simple Moving Average) for smoother readings
RMA (Rolling Moving Average) for weighted recent data
WMA (Weighted Moving Average) for customizable weighting
VWMA (Volume-Weighted Moving Average) incorporating volume
HMA (Hull Moving Average) for reduced lag
🔹 Customizable Momentum Parameters
Length MOM: Lookback period for Momentum calculation (default 36)
Source MOM: Price source for calculations (default Close)
🔹 Extended Range Visualization
The indicator includes gradient fills at +/-6000, providing clear visualization of extreme momentum readings regardless of the instrument's price level.
🔹 Customizable Color Themes
Eight distinct color schemes to match your charting preferences:
Classic – Green for bullish, Red for bearish
Modern – White for bullish, Purple for bearish
Robust – Amber for bullish, Maroon for bearish
Accented – Violet for bullish, Pink for bearish
Monochrome – Light gray for bullish, Dark gray for bearish
Moderate – Green for bullish, Red for bearish
Aqua – Blue for bullish, Orange for bearish
Cosmic – Pink for bullish, Purple for bearish
🔹 Comprehensive Visual Feedback
Colored Momentum Line: Changes color based on position relative to the reference line
Signal Line: Yellow line showing zero or MA reference
Gradient Fill Zones: Clear visualization of extreme momentum readings
Dynamic Zone Fills: Semi-transparent fills showing when Momentum is above or below the reference line
Color-Coded Candles: Bars reflect current Momentum bias (above or below reference)
Signal Markers: Triangle up/down symbols at crossover points
Live Value Display: Current Momentum value shown in a floating label
Trend Table: Bullish/Bearish status displayed on the chart
🔹 Ready-to-Use Alerts
Built-in alert conditions trigger LONG signals on bullish crossovers and SHORT signals on bearish crossunders across both operating modes.
⚙️ Settings Summary
Color Choice: Select from eight visual themes (Default: Classic)
Length MOM: Lookback period for Momentum calculation (Default: 36)
Source MOM: Price source for calculations (Default: Close)
Entry/Exit Signal: Choose between zero line or MOM MA mode (Default: Zero Line)
Length MA: Moving average period for MOM MA mode (Default: 365)
MOM MA Type: Moving average method for signal line (Default: EMA)
📈 Practical Applications
🔹 Trend Direction Identification
The Momentum line's position relative to zero indicates trend direction:
Momentum above zero → Bullish trend
Momentum below zero → Bearish trend
The steepness of the slope indicates momentum strength
🔹 Zero Line Crossovers
In Zero Line mode, crossovers provide momentum signals:
Crossover above zero → Bullish momentum strengthening, potential trend reversal up
Crossunder below zero → Bearish momentum strengthening, potential trend reversal down
These are among the simplest and most intuitive trading signals
🔹 Signal Line Crossovers
In MOM MA mode, crossovers between Momentum and its moving average provide filtered signals:
Momentum crosses above its MA → Bullish signal
Momentum crosses below its MA → Bearish signal
These signals reduce whipsaws in choppy markets
🔹 Divergence Trading
Momentum is excellent for spotting divergences:
Bullish Divergence: Price makes lower low, Momentum makes higher low → Potential upside reversal
Bearish Divergence: Price makes higher high, Momentum makes lower high → Potential downside reversal
Divergences are most significant when occurring at extreme levels
🔹 Momentum Confirmation
The slope and magnitude of Momentum confirm trend strength:
Rising Momentum values → Strengthening bullish momentum
Falling Momentum values → Strengthening bearish momentum
Flattening Momentum → Momentum slowing, potential trend change
🔹 Centerline Rejections
When Momentum approaches zero but reverses before crossing, it can signal trend continuation:
Momentum pulls back toward zero but reverses up → Bullish continuation
Momentum rallies toward zero but reverses down → Bearish continuation
🔹 Multiple Timeframe Analysis
Compare Momentum readings across different timeframes:
Higher timeframe Momentum confirms primary trend direction
Lower timeframe Momentum identifies entry timing and short-term momentum shifts
🎯 Ideal For
✅ Trend Traders seeking to confirm trend direction and strength
✅ Momentum Traders wanting to measure the rate of price change
✅ Divergence Traders looking for early reversal signals
✅ Swing Traders capturing medium-term momentum shifts
✅ System Developers needing simple, reliable crossover logic
✅ Beginner Traders starting with one of the most intuitive indicators
📌 Key Takeaways
Simplicity and Intuition: Momentum is one of the most straightforward indicators, measuring exactly what its name suggests
Dual-Mode Flexibility: Choose between classic zero-line crossovers for simplicity or MA-smoothed signals for filtered entries
Unbounded Nature: Unlike RSI or Stochastic, Momentum has no upper or lower limits, making it suitable for strongly trending markets
Comprehensive Visualization: Color themes, gradient fills for extreme readings, candles, and labels provide immediate market awareness
Divergence Capability: Excellent for spotting both regular and hidden divergences
Alert-Ready: Built-in alerts for both LONG and SHORT signals across both operating modes
⚠️ Important Notes
Because Momentum is unbounded, the scale will vary significantly between different instruments and timeframes. The gradient fills at +/-6000 are arbitrary reference points and may not represent actual overbought/oversold conditions for all instruments. The default length of 36 provides a medium-term perspective; shorter lengths (9-14) provide more responsive signals, while longer lengths identify longer-term trends. The 365-day MA default in MOM MA mode is designed for longer-term trend context on daily charts. Divergences are most reliable when they occur after extended trends. Always combine with proper risk management and additional confirmation for best results.
Disclaimer: This indicator is provided for educational and informational purposes only. Past performance is not indicative of future results. Always conduct thorough testing and align with your risk management strategy before live deployment. Indicator

Commodity Channel Index Pullback (CCI/P) v1Commodity Channel Index Pullback (CCI/P) v1
CCI/P v1 is a pullback-style oscillator built around two Commodity Channel Index calculations:
CCI #1 (Primary): identifies momentum extremes using an adjustable Absolute Level (± level).
CCI #2 (Secondary) or MA of CCI #2: acts as a simple regime filter based on whether it’s above or below 0.
What you’ll see
CCI #1 plotted as the primary line.
Fixed reference levels at ±100 and ±200, with subtle gray background zones.
Dynamic “plot zones” when CCI #1 exceeds ±Absolute Level:
Overbought plot (red)
Oversold plot (green)
Optional CCI #2 / MA2 area (plotted behind everything), colored:
Above 0: #089981
Below 0: #b2b5be
Optional candle coloring based on CCI #2 / MA2 regime (toggle in settings).
Triangle logic
Triangles flag “pullback + regime alignment” conditions:
Green triangle: CCI #1 < -Absolute Level AND CCI #2/MA2 > 0
Red triangle: CCI #1 > +Absolute Level AND CCI #2/MA2 < 0
Alerts
Alert conditions are included for:
Green / Red triangle setups (fires on the first bar the condition becomes true)
CCI #1 crossing above/below ±Absolute Level (and returning inside)
CCI #2/MA2 crossing above/below 0 (based on Plot Mode)
How I use it
This is a pullback framework, so I treat CCI #2/MA2 as the “environment” and CCI #1 as the “stretch”:
Pick your regime filter
Use MA of CCI #2 if you want a steadier filter (fewer flips).
Use CCI #2 if you want it more responsive.
Let CCI #1 reach an extreme
I’m generally looking for CCI #1 to push beyond the Absolute Level threshold, then watch for the pullback condition to align with the regime.
Use the triangle as a “checklist complete” marker
The triangle is not a guarantee—just a structured moment where stretch + regime align.
I still validate with structure/levels/volatility context (e.g., key highs/lows, prior range boundaries, session context).
Risk is external
Stops/targets aren’t built in—position sizing and exits depend on your instrument and volatility.
If you automate alerts, consider triggering alerts on bar close for more stable signals.
Notes
This script does not use higher-timeframe security() calls. Values may update during the currently-forming bar until it closes (standard PulseWire behavior).
Disclaimer
This indicator is for educational/informational purposes only and is not financial advice. Always test on your market and timeframe and manage risk appropriately.
Changelog / v1 Notes
v1 (initial public release): Dual-CCI pullback framework with optional CCI #2 or MA(CCI #2) regime area, dynamic OB/OS plot zones, triangle conditions, candle-color toggle, and a full alert set (triangles + CCI #1 threshold crosses + CCI #2/MA2 zero crosses). Indicator

Commodity Channel Index - CCI | TR🎯 Overview
Commodity Channel Index - CCI | TR is a versatile momentum oscillator that measures the current price level relative to an average price over a specified period. Developed by Tiagorocha1989, this enhanced version of Donald Lambert's classic CCI indicator offers dual-mode operation with moving average customization and comprehensive visual features, helping traders identify overbought and oversold conditions, detect trend strength, and generate clear entry and exit signals.
🔧 How It Works
The CCI measures the deviation of a typical price (usually the average of high, low, and close) from its statistical mean, normalized by the mean deviation. Values oscillate above and below zero, with extreme readings suggesting potential reversals.
Core Calculation Logic:
The indicator calculates the CCI using the standard formula:
Typical Price = (High + Low + Close) / 3
SMA of Typical Price over the specified period
Mean Deviation = Average of absolute differences between Typical Price and its SMA
CCI = (Typical Price - SMA) / (0.015 × Mean Deviation)
The resulting oscillator typically fluctuates between +300 and -300, with:
Readings above +100 suggesting overbought conditions (potential reversal down)
Readings below -100 suggesting oversold conditions (potential reversal up)
Zero line representing the average level
The indicator compares CCI to a reference line that can be either:
The traditional zero level
A user-defined moving average of the CCI itself (CCI MA mode)
✨ Key Features
🔹 Dual Operating Modes
Zero Line Mode: Classic CCI implementation where signals occur when CCI crosses above or below the zero line
CCI MA Mode: Enhanced version where signals occur when CCI crosses its own moving average, providing smoother, filtered entries
🔹 Flexible Moving Average Selection
Choose from six MA types for the CCI MA mode:
EMA (Exponential Moving Average) for responsive signals
SMA (Simple Moving Average) for smoother readings
RMA (Rolling Moving Average) for weighted recent data
WMA (Weighted Moving Average) for customizable weighting
VWMA (Volume-Weighted Moving Average) incorporating volume
HMA (Hull Moving Average) for reduced lag
🔹 Customizable CCI Parameters
Length CCI: Lookback period for CCI calculation (default 55)
Source CCI: Price source for calculations (default Close)
🔹 Customizable Color Themes
Eight distinct color schemes to match your charting preferences:
Classic – Green for bullish, Red for bearish
Modern – White for bullish, Purple for bearish
Robust – Amber for bullish, Maroon for bearish
Accented – Violet for bullish, Pink for bearish
Monochrome – Light gray for bullish, Dark gray for bearish
Moderate – Green for bullish, Red for bearish
Aqua – Blue for bullish, Orange for bearish
Cosmic – Pink for bullish, Purple for bearish
🔹 Comprehensive Visual Feedback
Colored CCI Line: Changes color based on position relative to the reference line
Signal Line: Yellow line showing zero or MA reference
Gradient Fill Zones: Clear visualization of overbought (above +300) and oversold (below -300) conditions
Dynamic Zone Fills: Semi-transparent fills showing when CCI is above or below the reference line
Color-Coded Candles: Bars reflect current CCI bias (above or below 50)
Signal Markers: Triangle up/down symbols at crossover points
Live Value Display: Current CCI value shown in a floating label
Trend Table: Bullish/Bearish status displayed on the chart
🔹 Ready-to-Use Alerts
Built-in alert conditions trigger LONG signals when CCI is above zero/bullish, and SHORT signals when CCI is below zero/bearish.
⚙️ Settings Summary
Color Choice: Select from eight visual themes (Default: Classic)
Length CCI: Lookback period for CCI calculation (Default: 55)
Source CCI: Price source for calculations (Default: Close)
Entry/Exit Signal: Choose between zero line or CCI MA mode (Default: Zero Line)
Length MA: Moving average period for CCI MA mode (Default: 365)
CCI MA Type: Moving average method for signal line (Default: EMA)
📈 Practical Applications
🔹 Overbought/Oversold Detection
Traditional CCI usage identifies extreme conditions:
Readings above +100 suggest overbought conditions and potential reversal down
Readings below -100 suggest oversold conditions and potential reversal up
The indicator provides gradient fills in these zones for visual clarity
The 300-level fills provide even more extreme zone visualization
🔹 Zero Line Crossovers
In Zero Line mode, crossovers provide momentum signals:
Crossover above zero → Bullish momentum strengthening
Crossunder below zero → Bearish momentum strengthening
These signals often align with trend direction changes
🔹 Signal Line Crossovers
In CCI MA mode, crossovers between CCI and its moving average provide filtered signals that reduce whipsaws in ranging markets while maintaining sensitivity in trends.
🔹 Divergence Trading
CCI is excellent for spotting divergences:
Bullish Divergence: Price makes lower low, CCI makes higher low → Potential upside reversal
Bearish Divergence: Price makes higher high, CCI makes lower high → Potential downside reversal
Divergences are most significant when occurring at extreme levels (+100/-100)
🔹 Centerline Confirmation
The 50 level (used for candle coloring) provides additional context:
CCI above 50 → Stronger bullish bias
CCI below 50 → Stronger bearish bias
This can be used as a filter for other signals
🔹 Trend Strength Assessment
The magnitude of CCI readings indicates trend strength:
Readings consistently above +100 suggest strong uptrend
Readings consistently below -100 suggest strong downtrend
Fluctuations around zero suggest ranging conditions
🔹 Multiple Timeframe Analysis
The normalized nature of CCI makes it suitable for comparing readings across different timeframes, helping identify confluence for stronger trade setups.
🎯 Ideal For
✅ Mean Reversion Traders seeking overbought and oversold opportunities
✅ Divergence Traders looking for hidden reversal signals
✅ Momentum Traders wanting to identify trend strength and direction
✅ Swing Traders capturing medium-term momentum shifts
✅ Commodity and Forex Traders (originally designed for commodities but works across all markets)
📌 Key Takeaways
Dual-Mode Flexibility: Choose between classic zero-line crossovers for traditional signals or MA-smoothed signals for filtered entries
Comprehensive Visualization: Color themes, gradient fills for overbought/oversold zones, candles, and labels provide immediate market awareness
Divergence Capability: Excellent for spotting both regular and hidden divergences that signal trend reversals or continuations
Extended Range Visualization: The 300-level gradient fills provide clear identification of extreme conditions
Alert-Ready: Built-in alerts for both LONG and SHORT signals
⚠️ Important Notes
In strong trends, CCI can remain in overbought or oversold territory for extended periods, so traditional overbought/oversold signals should be used with caution. The default length of 55 is longer than traditional CCI settings (typically 20), making this version more suitable for medium to longer-term trend identification. The 365-day MA default in CCI MA mode is designed for longer-term trend context on daily charts. Divergences are most reliable when they occur at extreme readings (above +100 or below -100). Always combine with proper risk management and additional confirmation for best results.
Disclaimer: This indicator is provided for educational and informational purposes only. Past performance is not indicative of future results. Always conduct thorough testing and align with your risk management strategy before live deployment. Indicator

True Range Percentage MACDTrue Range Percentage MACD (TR% MACD) is a volatility-oscillator that measures relative range movement and applies MACD logic to identify volatility momentum cycles.
What it measures
True Range (TR) captures intrabar range plus gap effects.
This script converts TR into a percentage of price:
TR%=TR×100 / ∣Sourcet−1∣
(Source defaults to HL2 and uses the prior bar value for normalization; a minimum tick guard is applied to avoid division by zero.)
Smoothing
TR% can be smoothed using a selectable moving average type (EMA, SMA, RMA, VWMA, WMA, ALMA, SWMA, HMA, or NONE) and a dedicated smoothing length. This helps control noise before MACD processing.
MACD on volatility
The indicator then computes:
MACD = MA(TR%)fast − MA(TR%)slow
Signal = MA(MACD)signal
Histogram = MACD − Signal
Interpretation
This is not a price-trend MACD—it's a volatility momentum MACD:
Rising histogram often indicates increasing relative volatility (range expansion accelerating).
Falling histogram often indicates volatility cooling (range expansion decelerating / contracting).
Crossovers can help time transitions between quiet and active regimes, and complement trend systems (e.g., filter breakouts to periods of rising volatility).
Visuals & alerts
Histogram uses a 4-state coloring (positive/negative + rising/falling).
Optional plot shows smoothed TR%.
Built-in alerts:
histogram rising→falling and falling→rising state flips
MACD crossing Signal (up/down)
MACD crossing zero (up/down) Indicator

Indicator

Folded RSIFolded RSI: Spectral-Adaptive Momentum Oscillator
A cycle-responsive RSI that automatically tunes its calculation period based on real-time spectral correlation analysis, featuring gradient-visualized momentum extremes.
Overview
The Folded RSI revolutionizes traditional momentum analysis by replacing static periods with dynamic, data-driven adaptation. Using phase-invariant spectral correlation , the indicator measures how closely price action aligns with theoretical cyclical patterns, then adjusts the RSI length accordingly. When markets exhibit strong cyclical structure, the RSI compresses to capture rapid oscillations; during chaotic or trendless periods, it expands to filter noise.
Key Features
Phase-Invariant Cycle Detection: Calculates Pearson correlation against pure sine/cosine waves to detect cyclical strength regardless of phase position (uses quadrature sum of sin/cos correlations)
Dual-Harmonic Analysis: Optionally evaluates both the target period and its 2× harmonic, automatically selecting the stronger correlation for optimal adaptation
Nonlinear Length Mapping: Maps correlation magnitude (0-1) to RSI length through a power function—strong cycles produce fast, responsive RSI; weak cycles produce smooth, lagged readings
Pure Mathematical Implementation: Custom Wilder RSI using dynamic smoothing factors (alpha = 1/length) and custom EMA—zero dependency on built-in TA functions
Gradient Visual System: Dynamic color transitions from neutral blue to hot red (overbought) or cool green (oversold) with gradient fills showing momentum intensity
Extreme Level Markers: Automatic visual alerts when RSI crosses above 70 (red markers) or below 30 (green markers)
Real-Time Diagnostics: On-chart table displaying current correlation magnitude, adaptive length, and detected dominant period
How It Works
1. Spectral Analysis
The indicator computes correlation between price returns and synthetic sinusoidal basis functions over the Cycle Window . By testing both sine and cosine components simultaneously, it achieves phase-invariance —detecting cyclical presence regardless of whether the cycle is currently at a peak, trough, or zero-crossing.
2. Harmonic Selection
When enabled, the algorithm compares correlation strength at both the Target Period and its octave (2× length), selecting whichever exhibits stronger statistical alignment with price action.
3. Adaptive Length Calculation
The correlation magnitude determines the RSI period through the formula:
High correlation → Shorter length (minimum setting)
Low correlation → Longer length (maximum setting)
Adjustable nonlinearity (power) curve to emphasize or flatten the response
4. Dynamic RSI Computation
A custom Wilder-style RSI calculates using the adaptive length, with optional post-smoothing EMA to reduce whipsaws.
Settings Guide
Cycle Window: Lookback bars for correlation calculation (40+ recommended for statistical significance)
Target Sine Period: Expected dominant cycle in bars (e.g., 20 for monthly cycles on daily charts)
RSI Length Min/Max: Bounds for adaptive calculation (5-50 standard range)
Nonlinearity (Power): Response curve shape—>1.0 emphasizes strong cycles, <1.0 creates more gradual transitions
Invert Mapping: Reverses logic (strong cycles → longer RSI) for contrarian strategies
Post Smoothing: EMA period applied to raw RSI output (1 = no smoothing)
Visual Interpretation
▼ Red Markers: RSI above 70 (potential overbought)
▲ Green Markers: RSI below 30 (potential oversold)
Diagnostics Table: Top-right display showing:
Current RSI value
Correlation magnitude (higher % = stronger cyclical structure)
Current adaptive length
Best detected period (base or harmonic)
Monitor the correlation magnitude in the diagnostics table to gauge indicator confidence—values above 60% indicate strong cyclical behavior where the adaptive length is optimized for current market conditions. Values below 30% suggest the market is in a non-cyclical state (trending or chaotic), triggering longer, smoother RSI periods.
Indicator
