Minervini Ultimate +VCPMinervini Ultimate Suite (SEPA Dashboard)
This indicator implements Mark Minervini's "Trend Template" criteria combined with a Volatility Contraction Pattern (VCP) detector and a custom Relative Strength rating. It is designed to help traders visualize the technical health of a stock based on stage analysis concepts.
This indicator serves as a complete Control System (Dashboard) for Mark Minervini's SEPA trading strategy. Instead of manually checking five different metrics on every chart, this indicator performs the mathematical calculations and presents the "bottom line" in a single, organized table.
1. What This Indicator Does
The goal is to ensure you never enter a trade blindly. It verifies the stock against Minervini's strict requirements:
Trend: Is the stock in a healthy Stage 2 Uptrend?
Relative Strength: Is it stronger than the general market?
Buy Risk: Is it the right time to buy, or is the price extended?
Pressure: Are institutions accumulating or distributing?
VCP: Is there a breakout opportunity (volatility contraction) right now?
2. Key Benefits
Time-Saving: Instead of drawing lines and calculating percentages manually, you get immediate visual feedback (Green/Red).
Discipline: The indicator will flag "Extended" (Red) if you attempt to buy a stock that has run up too much, saving you from late entries and unnecessary losses.
Precision Timing: The VCP feature (Blue Dots) helps you identify the "calm before the storm"—the exact moment volatility contracts, which often precedes a major breakout.
3. Indicator Parameters & Features
A. Minervini Pressure (Buying vs. Selling)
What it checks: Money flow over the last 20 days.
Calculation: Sums up volume on "Up Days" (Green) versus volume on "Down Days" (Red).
Meaning:
🟢 Buying: More money is entering than leaving. A sign of institutional accumulation.
🔴 Selling: Selling pressure dominates. The price may be rising, but without strong volume backing.
B. Buy Risk (Price Extension)
What it checks: The distance of the current price from the 50-Day Moving Average. Minervini strictly warns against "chasing" stocks.
Signals:
🟢 Low Risk: Price is within 0% – 15% of the 50MA. This is the ideal "Buy Zone".
🟡 Caution: Price is 15% – 25% away. Buy with increased caution.
🔴 Extended: Price is >25% from the MA. Do not buy. The probability of a pullback is high.
⚪ Broken: Price is below the 50MA. The short-term trend is damaged.
C. TPR - Trend Template (Trend Power Rating)
What it checks: Is the stock in a Stage 2 Uptrend?
Strict Rules (All must be true for a PASS):
Price > 50MA > 150MA > 200MA.
The 200MA is trending UP (positive slope).
Price is near the 52-Week High (within 25%).
Price is above the 52-Week Low (at least 25%).
Meaning:
🟢 PASSED: Technically healthy and ready to move.
🔴 FAILED: The trend structure is broken (e.g., MAs are entangled).
D. RPR Score (Relative Performance Rating)
What it checks: How strong the stock is compared to the general market (S&P 500 / SPY).
Calculation: Weighted performance over 3, 6, 9, and 12 months vs. the SPY. The score ranges from 1 to 99.
Meaning:
🟢 80-99: Market Leader. These are the stocks Minervini targets.
🟡 70-80: Good, but not elite.
⚪ Below 70: Laggard (weaker than the market).
E. VCP Action (Volatility Contraction Pattern)
What it checks: Monitors price tightness. It calculates the range between the highest close and lowest close over the last 5 days.
Meaning:
🔵 SQUEEZE (Blue Text + Blue Dot on Chart): The price range has contracted to less than 2.5%.
Why it matters: When a stock stops moving wildly and trades in a tight range ("Flat Line"), it indicates supply has dried up. A high-volume breakout often follows immediately.
Volatilità
Adaptive Quant RSI [ML + MTF]This is an advanced momentum indicator that integrates Machine Learning (K-Means Clustering) with Multi-Timeframe (MTF) analysis. Unlike traditional RSI which uses fixed 70/30 levels, this script dynamically calculates support and resistance zones based on real-time historical data distribution.
Key Features:
🤖 ML Dynamic Thresholds: Uses K-Means clustering to segment RSI data into clusters, automatically plotting dynamic long/short thresholds that adapt to market volatility.
⏳ MTF Trend Background: The background color changes based on a Higher Timeframe (e.g., 5-min) RSI trend, helping you align with the broader market direction.
📊 Extreme Statistics: Incorporates percentile analysis (95th/5th) and historical pivots to identify extreme overbought/oversold conditions with high reversal probability.
📈 Probability Analysis: Displays the statistical probability of the current RSI value being at the top or bottom of its historical range.
Usage: Look for confluence between the dynamic ML thresholds and the MTF background color to identify high-probability reversal setups.
IV Rank & Percentile Suite V1.0What This Indicator Does
The IV Rank & Percentile Suite provides the volatility context options traders need to time entries. It calculates two complementary metrics—IV Rank and IV Percentile—using historical volatility as a proxy, then displays clear visual zones to identify favorable conditions for premium selling strategies.
Stop guessing if volatility is "high" or "low." This indicator tells you exactly where current volatility sits relative to recent history.
The Two Metrics Explained
IV Rank (0-100) Measures where current volatility sits within its 52-week high-low range.
IV Rank = (Current HV - 52w Low) / (52w High - 52w Low) × 100
70 means current volatility is 70% of the way between the yearly low and high
Sensitive to extreme spikes (a single high reading affects the range)
IV Percentile (0-100) Measures what percentage of days in the lookback period had lower volatility than today.
IV Percentile = (Days with lower HV / Total days) × 100
70 means volatility was lower than today on 70% of days in the past year
More stable, less affected by outlier spikes
Why Both?
IV Rank reacts faster to volatility changes. IV Percentile is more stable and statistically robust. When both agree (e.g., both above 50), you have stronger confirmation. Divergence between them can signal transitional periods.
Zone System
The indicator divides readings into three zones:
Zone ------- Default Range ---- Meaning ------------------ Premium Selling
🟢 High ≥ 50 Elevated volatility Favorable
🟡 Neutral 25-50 Normal volatility Selective
🔴 Low ≤ 25 Compressed volatility Avoid
An additional Extreme threshold (default 75) highlights prime conditions when volatility is significantly elevated.
Zone thresholds are fully customizable in settings.
How to Use It
For Premium Sellers (Iron Condors, Credit Spreads, Strangles)
Wait for IV Rank to enter the green zone (≥50)
Confirm IV Percentile agrees (also elevated)
Enter premium selling positions when both metrics align
Avoid initiating new positions when in the red zone
For Premium Buyers (Long Options, Debit Spreads)
Low IV Rank/Percentile means cheaper options
Red zone can favor directional debit strategies
Avoid buying premium when both metrics are in the green zone
General Principle:
Sell premium when volatility is high (it tends to revert to mean). Buy premium when volatility is low (if you have a directional thesis).
Inputs
Volatility Calculation
HV Period — Lookback for historical volatility calculation (default: 20)
Trading Days/Year — 252 for stocks, 365 for crypto
Lookback Periods
IV Rank Lookback — Period for high/low range (default: 252 = 1 year)
IV Percentile Lookback — Period for percentile calculation (default: 252)
Zone Thresholds
High IV Zone — Readings above this are highlighted green (default: 50)
Low IV Zone — Readings below this are highlighted red (default: 25)
Extreme High — Threshold for "prime" conditions alert (default: 75)
Display Options
Toggle IV Rank, IV Percentile, and raw HV display
Show/hide zone backgrounds
Show/hide info panel
Panel position selection
Info Panel
The panel displays:
Field ------- Description
IV Rank ------- Current reading with color coding
IV Pctl ------- Current percentile with color coding
HV 20d ------- Raw historical volatility percentage
52w Range ------- Lowest to highest HV in lookback period
Zone ------- Current zone status
Premium ------- Signal quality for premium selling
Lookback ------- Days used for calculations
R/P Spread ------- Difference between Rank and Percentile
Alerts
Six alerts are available:
Zone Transitions
IV Entered High Zone — Favorable for premium selling
IV Reached Extreme Levels — Prime conditions
IV Dropped to Low Zone — Caution for premium sellers
Threshold Crosses
IV Rank Crossed Above High Threshold
IV Rank Crossed Below Low Threshold
IV Percentile Above 75
IV Percentile Below 25
Set up alerts to get notified when conditions change without watching charts.
Technical Notes
Volatility Calculation Method
This indicator uses close-to-close historical volatility as an IV proxy:
Calculate log returns: ln(Close / Previous Close)
Take standard deviation over HV Period
Annualize: multiply by √(Trading Days)
This method correlates well with implied volatility for most liquid instruments. On highly liquid options underlyings (SPY, QQQ, major stocks), HV and IV tend to move together, making this a reliable proxy for IV Rank analysis.
Non-Repainting
All calculations use confirmed bar data. Values are fixed once a bar closes.
Lookback Requirement
The indicator needs sufficient history to calculate accurately. For a 252-day lookback, ensure your chart has at least 300+ bars of data.
Best Used On
ETFs: SPY, QQQ, IWM, DIA
Indices: SPX, NDX
High-volume stocks: AAPL, TSLA, NVDA, AMD, META
Timeframe: Daily (recommended), Weekly for longer-term view
The indicator works on any instrument but is most meaningful on underlyings with active options markets.
Important Notes
⚠️ This indicator uses historical volatility as a proxy for implied volatility. While HV and IV are correlated, they are not identical. For precise IV data, consult your options broker's platform.
⚠️ High IV Rank does not guarantee profitable premium selling. It indicates favorable conditions, not guaranteed outcomes. Position sizing and risk management remain essential.
⚠️ Past volatility patterns do not guarantee future behavior. Volatility regimes can shift, and historical ranges may not predict future ranges.
Suggested Workflow
Add to daily chart of your preferred underlying
Set up alert for "IV Entered High Zone"
When alerted, check both IV Rank and IV Percentile
If both elevated, evaluate premium selling opportunities
Use your broker's actual IV data for final entry decisions
Questions? Leave a comment below.
Apex Adaptive Trend Navigator [Pineify]Apex Adaptive Trend Navigator
The Apex Adaptive Trend Navigator is a comprehensive trend-following indicator that combines adaptive moving average technology, dynamic volatility bands, and market structure analysis into a single, cohesive trading tool. Designed for traders who want to identify trend direction with precision while filtering out market noise, this indicator adapts its sensitivity based on real-time market efficiency calculations.
Key Features
Adaptive Moving Average with efficiency-based smoothing factor
Dynamic ATR-based volatility bands that expand and contract with market conditions
Market Structure detection including BOS (Break of Structure) and CHoCH (Change of Character)
Real-time performance dashboard displaying trend status and efficiency metrics
Color-coded cloud visualization for intuitive trend identification
How It Works
The core of this indicator is built on an Adaptive Moving Average that uses a unique efficiency-based calculation method inspired by the Kaufman Adaptive Moving Average (KAMA) and TRAMA concepts. The efficiency ratio measures the directional movement of price relative to total price movement over the lookback period:
Efficiency = |Price Change over N periods| / Sum of |Individual Bar Changes|
This ratio ranges from 0 to 1, where values closer to 1 indicate a strong trending market with minimal noise, and values closer to 0 indicate choppy, sideways conditions. The smoothing factor is then squared to penalize noisy markets more aggressively, causing the adaptive line to flatten during consolidation and respond quickly during strong trends.
The Dynamic Volatility Bands are calculated using the Average True Range (ATR) multiplied by a user-defined factor. These bands create a channel around the adaptive moving average, helping traders visualize the current volatility regime and potential support/resistance zones.
Trading Ideas and Insights
When price stays above the adaptive line with the bullish cloud forming, consider this a confirmation of uptrend strength
The efficiency percentage in the dashboard indicates trend quality - higher values suggest more reliable trends
Watch for price interactions with the upper and lower bands as potential reversal or continuation zones
A flat adaptive line indicates consolidation - wait for a clear directional break before entering trades
How Multiple Indicators Work Together
This indicator integrates three complementary analytical approaches:
The Adaptive Moving Average serves as the trend backbone, providing a dynamic centerline that automatically adjusts to market conditions. Unlike fixed-period moving averages, it reduces lag during trends while minimizing whipsaws during ranging markets.
The ATR Volatility Bands work in conjunction with the adaptive MA to create a volatility envelope. When the adaptive line is trending and price remains within the cloud (between the MA and outer band), this confirms trend strength. Price breaking through the opposite band may signal exhaustion or reversal.
The Market Structure Analysis using swing point detection adds a Smart Money Concepts (SMC) layer. BOS signals indicate trend continuation when price breaks previous swing highs in uptrends or swing lows in downtrends. CHoCH signals warn of potential reversals when the structure shifts against the prevailing trend.
Unique Aspects
The squared efficiency factor creates a non-linear response that dramatically reduces noise sensitivity
Cloud fills only appear on the trend side, providing clear visual distinction between bullish and bearish regimes
The integrated dashboard eliminates the need to switch between multiple indicators for trend assessment
Pivot-based swing detection ensures accurate market structure identification
How to Use
Add the indicator to your chart and adjust the Lookback Period based on your trading timeframe (shorter for scalping, longer for swing trading)
Monitor the cloud color - green clouds indicate bullish conditions, red clouds indicate bearish conditions
Use the efficiency reading in the dashboard to gauge trend reliability before entering positions
Consider entries when price pulls back to the adaptive line during strong trends (high efficiency)
Use the volatility bands as dynamic take-profit or stop-loss reference levels
Customization
Lookback Period : Controls the sensitivity of trend detection and swing point identification (default: 20)
Volatility Multiplier : Adjusts the width of the ATR bands (default: 2.0)
Show Market Structure : Toggle visibility of BOS and CHoCH labels
Show Performance Dashboard : Toggle the trend status table
Color Settings : Customize bullish, bearish, and neutral colors to match your chart theme
Conclusion
The Apex Adaptive Trend Navigator offers traders a sophisticated yet intuitive approach to trend analysis. By combining adaptive smoothing technology with volatility measurement and market structure concepts, it provides multiple layers of confirmation for trading decisions. Whether you are a day trader seeking quick trend identification or a swing trader looking for reliable trend-following signals, this indicator adapts to your market conditions and trading style. The efficiency-based calculations ensure you always know not just the trend direction, but also the quality and reliability of that trend.
Liquidation Bubbles [OmegaTools]🔴🟢 Liquidation Bubbles — Advanced Volume & Price Stress Detector
Liquidation Bubbles is a professional-grade analytical tool designed to identify forced positioning events, stop-runs, and liquidation clusters by combining price displacement and volume imbalance into a single, statistically normalized framework.
This indicator is not a repainting signal tool and not a simple volume spike detector. It is a contextual market stress mapper, built to highlight areas where one-sided positioning becomes unstable and the probability of forced order execution (liquidations, stops, margin calls) materially increases.
---
## 🔬 Core Concept
Market liquidations do not occur randomly.
They emerge when price deviates aggressively from its volume-weighted equilibrium while volume itself becomes abnormal.
Liquidation Bubbles detects exactly this condition by:
* Estimating a **dynamic equilibrium price** using an *inverted volume-weighted moving average*
* Measuring **directional price stress** relative to that equilibrium
* Measuring **volume stress** relative to its own adaptive baseline
* Normalizing both into **Z-score–like metrics**
* Highlighting only **statistically extreme, asymmetric events**
The result is a clear visual map of stress points where market participants are most vulnerable.
---
⚙️ Methodology (How It Works)
1️⃣ Advanced Inverted VWMA (Equilibrium Engine)
The script uses a custom Advanced VWMA, where:
* High volume bars receive less weight
* Low volume bars receive more weight
This produces a **robust equilibrium level**, resistant to manipulation and volume bursts.
This equilibrium is used for **both price and volume normalization**, creating a consistent statistical framework.
---
2️⃣ Price Stress (Directional)
Price stress is calculated as:
* The **maximum deviation** between high/low and equilibrium
* Directionally signed (upside vs downside)
* Normalized by its own historical volatility
This allows the script to distinguish:
* Aggressive upside exhaustion
* Aggressive downside capitulation
---
3️⃣ Volume Stress
Volume stress is measured as:
* Deviation from volume equilibrium
* Normalized by historical volume dispersion
This filters out:
* Normal high-volume sessions
* Illiquid noise
And isolates abnormal participation imbalance.
---
4️⃣ Liquidation Logic
A liquidation event is flagged when:
* Both price stress and volume stress exceed adaptive thresholds
* The imbalance is directional and statistically extreme
Optional Combined Score Mode allows aggregation of price & volume stress into a single composite metric for smoother signals.
---
🔵 Bubble System (Signal Hierarchy)
The indicator plots **two tiers of bubbles**:
🟢🔴 Small Bubbles
* Early warning stress points
* Localized stop-runs
* Micro-liquidations
* Often precede reactions or short-term reversals
🟢🔴 Big Bubbles
* Full liquidation clusters
* Forced unwinds
* High probability exhaustion zones
* Frequently align with:
* Intraday extremes
* Range boundaries
* Reversal pivots
* Volatility expansions
Bubble color:
* **Green** → Downside liquidation (sell-side exhaustion)
* **Red** → Upside liquidation (buy-side exhaustion)
Bubble placement is **ATR-adjusted**, ensuring visual clarity without overlapping price.
---
🔄 Cross-Market Volume Analysis
The script allows optional **external volume sourcing**, enabling:
* Futures volume applied to CFDs
* Index volume applied to ETFs
* Spot volume applied to derivatives
This is critical when:
* Your traded instrument has unreliable volume
* You want **institutional-grade confirmation**
---
🧠 How to Use Liquidation Bubbles
This indicator is **not meant to be traded alone**.
Best use cases:
* 🔹 Confluence with support & resistance
* 🔹 Contextual confirmation for reversals
* 🔹 Identifying fake breakouts
* 🔹 Liquidity sweep detection
* 🔹 Risk management (avoid entering into liquidation zones)
Ideal for:
* Futures
* Indices
* Crypto
* High-liquidity FX pairs
* Intraday & swing trading
---
🎯 Who This Tool Is For
Liquidation Bubbles is designed for:
* Advanced discretionary traders
* Order-flow & liquidity-based traders
* Macro & index traders
* Professionals seeking **context**, not signals
If you want **where the market is fragile**, not just where price moved — this tool was built for you.
---
📌 Key Characteristics
✔ Non-repainting
✔ Statistically normalized
✔ Adaptive to volatility
✔ Works on all timeframes
✔ Futures & crypto ready
✔ No lagging indicators
✔ No moving average crosses
---
Liquidation Bubbles does not predict the future.
It shows you where the market is most likely to break.
— OmegaTools
Zenith MACD Evolution [JOAT]
Zenith MACD Evolution - Volatility-Normalized Momentum Oscillator
Introduction and Purpose
Zenith MACD Evolution is an open-source oscillator indicator that takes the classic MACD and normalizes it by ATR (Average True Range) to create consistent overbought/oversold levels across different market conditions. The core problem this indicator solves is that traditional MACD values are incomparable across different volatility regimes. A MACD reading of 50 might be extreme in a quiet market but normal in a volatile one.
This indicator addresses that by dividing MACD by ATR and scaling to a consistent range, allowing traders to use fixed overbought/oversold levels that work across all market conditions.
Why ATR Normalization Works
Traditional MACD problems:
- Values vary wildly based on price and volatility
- No consistent overbought/oversold levels
- Hard to compare across different instruments
- Extreme readings in one period may be normal in another
ATR-normalized MACD (Zenith) solves these:
- Values scaled to consistent range
- Fixed overbought/oversold levels work across all conditions
- Comparable across different instruments
- Extreme readings are truly extreme regardless of volatility
How the Normalization Works
// Classic MACD
= ta.macd(close, fastLength, slowLength, signalLength)
// ATR for normalization
float atrValue = ta.atr(atrNormLength)
// Volatility-Normalized MACD
float zenithMACD = atrValue != 0 ? (histLine / atrValue) * 100 : 0
float zenithSignal = ta.ema(zenithMACD, signalLength)
The result is a MACD that typically ranges from -200 to +200, with consistent levels:
- Above +150 = Overbought
- Below -150 = Oversold
- Above +200 = Extreme overbought
- Below -200 = Extreme oversold
Signal Types
Zero Cross Up/Down - Zenith crosses zero line (trend change)
Overbought/Oversold Entry - Zenith enters extreme zones
Overbought/Oversold Exit - Zenith leaves extreme zones (potential reversal)
Momentum Shift - Histogram direction changes (early warning)
Divergence - Price makes new high/low but Zenith does not
Histogram Coloring
The histogram uses four colors to show momentum state:
- Strong Bull (Teal) - Positive and rising
- Weak Bull (Light Teal) - Positive but falling
- Strong Bear (Red) - Negative and falling
- Weak Bear (Light Red) - Negative but rising
This helps identify momentum shifts before crossovers occur.
Dashboard Information
Zenith - Current normalized MACD value with signal line
Zone - Current zone (EXTREME OB/OVERBOUGHT/NORMAL/OVERSOLD/EXTREME OS)
Momentum - Direction (RISING/FALLING/FLAT)
Histogram - Current histogram value
ATR Norm - Current ATR value used for normalization
Classic - Traditional MACD value for reference
How to Use This Indicator
For Mean-Reversion:
1. Wait for Zenith to reach extreme zones (+200/-200)
2. Look for momentum shift (histogram color change)
3. Enter counter-trend when exiting extreme zone
For Trend Following:
1. Enter long on zero cross up
2. Enter short on zero cross down
3. Use histogram color to gauge momentum strength
For Divergence Trading:
1. Watch for DIV labels (price vs Zenith divergence)
2. Bullish divergence at support = potential long
3. Bearish divergence at resistance = potential short
Input Parameters
Fast/Slow/Signal Length (12/26/9) - Standard MACD parameters
ATR Normalization Period (26) - Period for ATR calculation
Overbought/Oversold Zone (150/-150) - Zone thresholds
Extreme Level (200) - Extreme threshold
Show Classic MACD Lines (false) - Toggle traditional lines
Show Divergence Detection (true) - Toggle divergence signals
Divergence Lookback (14) - Bars to scan for divergence
Timeframe Recommendations
All timeframes work due to normalization
Higher timeframes provide smoother signals
Normalization makes cross-timeframe comparison meaningful
Limitations
ATR normalization adds slight lag
Divergence detection is simplified
Extreme zones can persist in strong trends
Works best when combined with price action analysis
Open-Source and Disclaimer
This script is published as open-source under the Mozilla Public License 2.0 for educational purposes.
This indicator does not constitute financial advice. Momentum analysis does not guarantee profitable trades. Always use proper risk management.
- Made with passion by officialjackofalltrades
Strength Relative to XXX [Hysteresis Smoothed]Strength Relative to XXX
█ OVERVIEW
This versatile indicator measures the relative strength of the current charted asset against any user-selected benchmark symbol (e.g., BTC, ETH, SP:SPX, TVC:GOLD, or any other asset). Green fill = Current asset outperforming the benchmark (bullish relative strength).
Red fill = Current asset underperforming the benchmark (bearish relative weakness). Perfect for rotation strategies across crypto, stocks, forex, and commodities — quickly identify assets gaining momentum edge over a chosen benchmark.
█ HOW IT WORKS
• Relative Ratio : Calculates current close / benchmark close for normalized comparison.
• Smoothing : Applies a Simple Moving Average (SMA) to the ratio (adjustable length).
• Oscillator : Plots deviation from the SMA, centered around zero.
• Hysteresis Enhancement : Adds a small relative threshold (~0.03% default) to prevent rapid color flips from minor noise. Color persists until a convincing cross — stable blocks without lag.
█ FEATURES & INPUTS
• Compare to : Symbol input for any benchmark (match exchange for accuracy).
• MA Length : Smoothing period (default 10).
• Relative Hysteresis Threshold : Noise filter strength (default 0.0003; tweak for responsiveness vs. stability).
█ USAGE TIPS
• Apply to ALT/BTC pairs for crypto rotations, stocks vs. SP:SPX for sector strength, or any custom comparison.
• Works on all timeframes — ideal for short-term scans on 4H/daily.
• Green zones = potential outperformance; red = caution.
• Combine with volume or momentum for confluence.
This refined relative strength oscillator delivers clean, reliable visuals in volatile markets.
Volume-Weighted RSI [VWRSI 2D Pro]A modular, volume-weighted RSI indicator built for clarity and control.
✅ Profile-based auto modes (Scalping → Macro)
✅ Toggleable Buy/Sell signals with strict mode
✅ RSI MA overlays for smoother entries
Buy Signal
RSI crosses above RSI MA
RSI > 50 (or > 55 in strict mode)
Sell Signal
RSI crosses below RSI MA
RSI < 50 (or < 45 in strict mode)
Strict mode filters out weak signals for higher conviction entries.
Volatility-Adaptive RSI Thresholds:
Traditional RSI uses static levels (70/30).
VWRSI Pro replaces these with dynamic bands:
🔹dynHigh = mean + mult × deviation
🔹 dynLow = mean − mult × deviation
Technical write-up can be found here: github.com
Adaptive Market Wave TheoryAdaptive Market Wave Theory
🌊 CORE INNOVATION: PROBABILISTIC PHASE DETECTION WITH MULTI-AGENT CONSENSUS
Adaptive Market Wave Theory (AMWT) represents a fundamental paradigm shift in how traders approach market phase identification. Rather than counting waves subjectively or drawing static breakout levels, AMWT treats the market as a hidden state machine —using Hidden Markov Models, multi-agent consensus systems, and reinforcement learning algorithms to quantify what traditional methods leave to interpretation.
The Wave Analysis Problem:
Traditional wave counting methodologies (Elliott Wave, harmonic patterns, ABC corrections) share fatal weaknesses that AMWT directly addresses:
1. Non-Falsifiability : Invalid wave counts can always be "recounted" or "adjusted." If your Wave 3 fails, it becomes "Wave 3 of a larger degree" or "actually Wave C." There's no objective failure condition.
2. Observer Bias : Two expert wave analysts examining the same chart routinely reach different conclusions. This isn't a feature—it's a fundamental methodology flaw.
3. No Confidence Measure : Traditional analysis says "This IS Wave 3." But with what probability? 51%? 95%? The binary nature prevents proper position sizing and risk management.
4. Static Rules : Fixed Fibonacci ratios and wave guidelines cannot adapt to changing market regimes. What worked in 2019 may fail in 2024.
5. No Accountability : Wave methodologies rarely track their own performance. There's no feedback loop to improve.
The AMWT Solution:
AMWT addresses each limitation through rigorous mathematical frameworks borrowed from speech recognition, machine learning, and reinforcement learning:
• Non-Falsifiability → Hard Invalidation : Wave hypotheses die permanently when price violates calculated invalidation levels. No recounting allowed.
• Observer Bias → Multi-Agent Consensus : Three independent analytical agents must agree. Single-methodology bias is eliminated.
• No Confidence → Probabilistic States : Every market state has a calculated probability from Hidden Markov Model inference. "72% probability of impulse state" replaces "This is Wave 3."
• Static Rules → Adaptive Learning : Thompson Sampling multi-armed bandits learn which agents perform best in current conditions. The system adapts in real-time.
• No Accountability → Performance Tracking : Comprehensive statistics track every signal's outcome. The system knows its own performance.
The Core Insight:
"Traditional wave analysis asks 'What count is this?' AMWT asks 'What is the probability we are in an impulsive state, with what confidence, confirmed by how many independent methodologies, and anchored to what liquidity event?'"
🔬 THEORETICAL FOUNDATION: HIDDEN MARKOV MODELS
Why Hidden Markov Models?
Markets exist in hidden states that we cannot directly observe—only their effects on price are visible. When the market is in an "impulse up" state, we see rising prices, expanding volume, and trending indicators. But we don't observe the state itself—we infer it from observables.
This is precisely the problem Hidden Markov Models (HMMs) solve. Originally developed for speech recognition (inferring words from sound waves), HMMs excel at estimating hidden states from noisy observations.
HMM Components:
1. Hidden States (S) : The unobservable market conditions
2. Observations (O) : What we can measure (price, volume, indicators)
3. Transition Matrix (A) : Probability of moving between states
4. Emission Matrix (B) : Probability of observations given each state
5. Initial Distribution (π) : Starting state probabilities
AMWT's Six Market States:
State 0: IMPULSE_UP
• Definition: Strong bullish momentum with high participation
• Observable Signatures: Rising prices, expanding volume, RSI >60, price above upper Bollinger Band, MACD histogram positive and rising
• Typical Duration: 5-20 bars depending on timeframe
• What It Means: Institutional buying pressure, trend acceleration phase
State 1: IMPULSE_DN
• Definition: Strong bearish momentum with high participation
• Observable Signatures: Falling prices, expanding volume, RSI <40, price below lower Bollinger Band, MACD histogram negative and falling
• Typical Duration: 5-20 bars (often shorter than bullish impulses—markets fall faster)
• What It Means: Institutional selling pressure, panic or distribution acceleration
State 2: CORRECTION
• Definition: Counter-trend consolidation with declining momentum
• Observable Signatures: Sideways or mild counter-trend movement, contracting volume, RSI returning toward 50, Bollinger Bands narrowing
• Typical Duration: 8-30 bars
• What It Means: Profit-taking, digestion of prior move, potential accumulation for next leg
State 3: ACCUMULATION
• Definition: Base-building near lows where informed participants absorb supply
• Observable Signatures: Price near recent lows but not making new lows, volume spikes on up bars, RSI showing positive divergence, tight range
• Typical Duration: 15-50 bars
• What It Means: Smart money buying from weak hands, preparing for markup phase
State 4: DISTRIBUTION
• Definition: Top-forming near highs where informed participants distribute holdings
• Observable Signatures: Price near recent highs but struggling to advance, volume spikes on down bars, RSI showing negative divergence, widening range
• Typical Duration: 15-50 bars
• What It Means: Smart money selling to late buyers, preparing for markdown phase
State 5: TRANSITION
• Definition: Regime change period with mixed signals and elevated uncertainty
• Observable Signatures: Conflicting indicators, whipsaw price action, no clear momentum, high volatility without direction
• Typical Duration: 5-15 bars
• What It Means: Market deciding next direction, dangerous for directional trades
The Transition Matrix:
The transition matrix A captures the probability of moving from one state to another. AMWT initializes with empirically-derived values then updates online:
From/To IMP_UP IMP_DN CORR ACCUM DIST TRANS
IMP_UP 0.70 0.02 0.20 0.02 0.04 0.02
IMP_DN 0.02 0.70 0.20 0.04 0.02 0.02
CORR 0.15 0.15 0.50 0.10 0.10 0.00
ACCUM 0.30 0.05 0.15 0.40 0.05 0.05
DIST 0.05 0.30 0.15 0.05 0.40 0.05
TRANS 0.20 0.20 0.20 0.15 0.15 0.10
Key Insights from Transition Probabilities:
• Impulse states are sticky (70% self-transition): Once trending, markets tend to continue
• Corrections can transition to either impulse direction (15% each): The next move after correction is uncertain
• Accumulation strongly favors IMP_UP transition (30%): Base-building leads to rallies
• Distribution strongly favors IMP_DN transition (30%): Topping leads to declines
The Viterbi Algorithm:
Given a sequence of observations, how do we find the most likely state sequence? This is the Viterbi algorithm—dynamic programming to find the optimal path through the state space.
Mathematical Formulation:
δ_t(j) = max_i × B_j(O_t)
Where:
δ_t(j) = probability of most likely path ending in state j at time t
A_ij = transition probability from state i to state j
B_j(O_t) = emission probability of observation O_t given state j
AMWT Implementation:
AMWT runs Viterbi over a rolling window (default 50 bars), computing the most likely state sequence and extracting:
• Current state estimate
• State confidence (probability of current state vs alternatives)
• State sequence for pattern detection
Online Learning (Baum-Welch Adaptation):
Unlike static HMMs, AMWT continuously updates its transition and emission matrices based on observed market behavior:
f_onlineUpdateHMM(prev_state, curr_state, observation, decay) =>
// Update transition matrix
A *= decay
A += (1.0 - decay)
// Renormalize row
// Update emission matrix
B *= decay
B += (1.0 - decay)
// Renormalize row
The decay parameter (default 0.85) controls adaptation speed:
• Higher decay (0.95): Slower adaptation, more stable, better for consistent markets
• Lower decay (0.80): Faster adaptation, more reactive, better for regime changes
Why This Matters for Trading:
Traditional indicators give you a number (RSI = 72). AMWT gives you a probabilistic state assessment :
"There is a 78% probability we are in IMPULSE_UP state, with 15% probability of CORRECTION and 7% distributed among other states. The transition matrix suggests 70% chance of remaining in IMPULSE_UP next bar, 20% chance of transitioning to CORRECTION."
This enables:
• Position sizing by confidence : 90% confidence = full size; 60% confidence = half size
• Risk management by transition probability : High correction probability = tighten stops
• Strategy selection by state : IMPULSE = trend-follow; CORRECTION = wait; ACCUMULATION = scale in
🎰 THE 3-BANDIT CONSENSUS SYSTEM
The Multi-Agent Philosophy:
No single analytical methodology works in all market conditions. Trend-following excels in trending markets but gets chopped in ranges. Mean-reversion excels in ranges but gets crushed in trends. Structure-based analysis works when structure is clear but fails in chaotic markets.
AMWT's solution: employ three independent agents , each analyzing the market from a different perspective, then use Thompson Sampling to learn which agents perform best in current conditions.
Agent 1: TREND AGENT
Philosophy : Markets trend. Follow the trend until it ends.
Analytical Components:
• EMA Alignment: EMA8 > EMA21 > EMA50 (bullish) or inverse (bearish)
• MACD Histogram: Direction and rate of change
• Price Momentum: Close relative to ATR-normalized movement
• VWAP Position: Price above/below volume-weighted average price
Signal Generation:
Strong Bull: EMA aligned bull AND MACD histogram > 0 AND momentum > 0.3 AND close > VWAP
→ Signal: +1 (Long), Confidence: 0.75 + |momentum| × 0.4
Moderate Bull: EMA stack bull AND MACD rising AND momentum > 0.1
→ Signal: +1 (Long), Confidence: 0.65 + |momentum| × 0.3
Strong Bear: EMA aligned bear AND MACD histogram < 0 AND momentum < -0.3 AND close < VWAP
→ Signal: -1 (Short), Confidence: 0.75 + |momentum| × 0.4
Moderate Bear: EMA stack bear AND MACD falling AND momentum < -0.1
→ Signal: -1 (Short), Confidence: 0.65 + |momentum| × 0.3
When Trend Agent Excels:
• Trend days (IB extension >1.5x)
• Post-breakout continuation
• Institutional accumulation/distribution phases
When Trend Agent Fails:
• Range-bound markets (ADX <20)
• Chop zones after volatility spikes
• Reversal days at major levels
Agent 2: REVERSION AGENT
Philosophy: Markets revert to mean. Extreme readings reverse.
Analytical Components:
• Bollinger Band Position: Distance from bands, percent B
• RSI Extremes: Overbought (>70) and oversold (<30)
• Stochastic: %K/%D crossovers at extremes
• Band Squeeze: Bollinger Band width contraction
Signal Generation:
Oversold Bounce: BB %B < 0.20 AND RSI < 35 AND Stochastic < 25
→ Signal: +1 (Long), Confidence: 0.70 + (30 - RSI) × 0.01
Overbought Fade: BB %B > 0.80 AND RSI > 65 AND Stochastic > 75
→ Signal: -1 (Short), Confidence: 0.70 + (RSI - 70) × 0.01
Squeeze Fire Bull: Band squeeze ending AND close > upper band
→ Signal: +1 (Long), Confidence: 0.65
Squeeze Fire Bear: Band squeeze ending AND close < lower band
→ Signal: -1 (Short), Confidence: 0.65
When Reversion Agent Excels:
• Rotation days (price stays within IB)
• Range-bound consolidation
• After extended moves without pullback
When Reversion Agent Fails:
• Strong trend days (RSI can stay overbought for days)
• Breakout moves
• News-driven directional moves
Agent 3: STRUCTURE AGENT
Philosophy: Market structure reveals institutional intent. Follow the smart money.
Analytical Components:
• Break of Structure (BOS): Price breaks prior swing high/low
• Change of Character (CHOCH): First break against prevailing trend
• Higher Highs/Higher Lows: Bullish structure
• Lower Highs/Lower Lows: Bearish structure
• Liquidity Sweeps: Stop runs that reverse
Signal Generation:
BOS Bull: Price breaks above prior swing high with momentum
→ Signal: +1 (Long), Confidence: 0.70 + structure_strength × 0.2
CHOCH Bull: First higher low after downtrend, breaking structure
→ Signal: +1 (Long), Confidence: 0.75
BOS Bear: Price breaks below prior swing low with momentum
→ Signal: -1 (Short), Confidence: 0.70 + structure_strength × 0.2
CHOCH Bear: First lower high after uptrend, breaking structure
→ Signal: -1 (Short), Confidence: 0.75
Liquidity Sweep Long: Price sweeps below swing low then reverses strongly
→ Signal: +1 (Long), Confidence: 0.80
Liquidity Sweep Short: Price sweeps above swing high then reverses strongly
→ Signal: -1 (Short), Confidence: 0.80
When Structure Agent Excels:
• After liquidity grabs (stop runs)
• At major swing points
• During institutional accumulation/distribution
When Structure Agent Fails:
• Choppy, structureless markets
• During news events (structure becomes noise)
• Very low timeframes (noise overwhelms structure)
Thompson Sampling: The Bandit Algorithm
With three agents giving potentially different signals, how do we decide which to trust? This is the multi-armed bandit problem —balancing exploitation (using what works) with exploration (testing alternatives).
Thompson Sampling Solution:
Each agent maintains a Beta distribution representing its success/failure history:
Agent success rate modeled as Beta(α, β)
Where:
α = number of successful signals + 1
β = number of failed signals + 1
On Each Bar:
1. Sample from each agent's Beta distribution
2. Weight agent signals by sampled probabilities
3. Combine weighted signals into consensus
4. Update α/β based on trade outcomes
Mathematical Implementation:
// Beta sampling via Gamma ratio method
f_beta_sample(alpha, beta) =>
g1 = f_gamma_sample(alpha)
g2 = f_gamma_sample(beta)
g1 / (g1 + g2)
// Thompson Sampling selection
for each agent:
sampled_prob = f_beta_sample(agent.alpha, agent.beta)
weight = sampled_prob / sum(all_sampled_probs)
consensus += agent.signal × agent.confidence × weight
Why Thompson Sampling?
• Automatic Exploration : Agents with few samples get occasional chances (high variance in Beta distribution)
• Bayesian Optimal : Mathematically proven optimal solution to exploration-exploitation tradeoff
• Uncertainty-Aware : Small sample size = more exploration; large sample size = more exploitation
• Self-Correcting : Poor performers naturally get lower weights over time
Example Evolution:
Day 1 (Initial):
Trend Agent: Beta(1,1) → samples ~0.50 (high uncertainty)
Reversion Agent: Beta(1,1) → samples ~0.50 (high uncertainty)
Structure Agent: Beta(1,1) → samples ~0.50 (high uncertainty)
After 50 Signals:
Trend Agent: Beta(28,23) → samples ~0.55 (moderate confidence)
Reversion Agent: Beta(18,33) → samples ~0.35 (underperforming)
Structure Agent: Beta(32,19) → samples ~0.63 (outperforming)
Result: Structure Agent now receives highest weight in consensus
Consensus Requirements by Mode:
Aggressive Mode:
• Minimum 1/3 agents agreeing
• Consensus threshold: 45%
• Use case: More signals, higher risk tolerance
Balanced Mode:
• Minimum 2/3 agents agreeing
• Consensus threshold: 55%
• Use case: Standard trading
Conservative Mode:
• Minimum 2/3 agents agreeing
• Consensus threshold: 65%
• Use case: Higher quality, fewer signals
Institutional Mode:
• Minimum 2/3 agents agreeing
• Consensus threshold: 75%
• Additional: Session quality >0.65, mode adjustment +0.10
• Use case: Highest quality signals only
🌀 INTELLIGENT CHOP DETECTION ENGINE
The Chop Problem:
Most trading losses occur not from being wrong about direction, but from trading in conditions where direction doesn't exist . Choppy, range-bound markets generate false signals from every methodology—trend-following, mean-reversion, and structure-based alike.
AMWT's chop detection engine identifies these low-probability environments before signals fire, preventing the most damaging trades.
Five-Factor Chop Analysis:
Factor 1: ADX Component (25% weight)
ADX (Average Directional Index) measures trend strength regardless of direction.
ADX < 15: Very weak trend (high chop score)
ADX 15-20: Weak trend (moderate chop score)
ADX 20-25: Developing trend (low chop score)
ADX > 25: Strong trend (minimal chop score)
adx_chop = (i_adxThreshold - adx_val) / i_adxThreshold × 100
Why ADX Works: ADX synthesizes +DI and -DI movements. Low ADX means price is moving but not directionally—the definition of chop.
Factor 2: Choppiness Index (25% weight)
The Choppiness Index measures price efficiency using the ratio of ATR sum to price range:
CI = 100 × LOG10(SUM(ATR, n) / (Highest - Lowest)) / LOG10(n)
CI > 61.8: Choppy (range-bound, inefficient movement)
CI < 38.2: Trending (directional, efficient movement)
CI 38.2-61.8: Transitional
chop_idx_score = (ci_val - 38.2) / (61.8 - 38.2) × 100
Why Choppiness Index Works: In trending markets, price covers distance efficiently (low ATR sum relative to range). In choppy markets, price oscillates wildly but goes nowhere (high ATR sum relative to range).
Factor 3: Range Compression (20% weight)
Compares recent range to longer-term range, detecting volatility squeezes:
recent_range = Highest(20) - Lowest(20)
longer_range = Highest(50) - Lowest(50)
compression = 1 - (recent_range / longer_range)
compression > 0.5: Strong squeeze (potential breakout imminent)
compression < 0.2: No compression (normal volatility)
range_compression_score = compression × 100
Why Range Compression Matters: Compression precedes expansion. High compression = market coiling, preparing for move. Signals during compression often fail because the breakout hasn't occurred yet.
Factor 4: Channel Position (15% weight)
Tracks price position within the macro channel:
channel_position = (close - channel_low) / (channel_high - channel_low)
position 0.4-0.6: Center of channel (indecision zone)
position <0.2 or >0.8: Near extremes (potential reversal or breakout)
channel_chop = abs(0.5 - channel_position) < 0.15 ? high_score : low_score
Why Channel Position Matters: Price in the middle of a range is in "no man's land"—equally likely to go either direction. Signals in the channel center have lower probability.
Factor 5: Volume Quality (15% weight)
Assesses volume relative to average:
vol_ratio = volume / SMA(volume, 20)
vol_ratio < 0.7: Low volume (lack of conviction)
vol_ratio 0.7-1.3: Normal volume
vol_ratio > 1.3: High volume (conviction present)
volume_chop = vol_ratio < 0.8 ? (1 - vol_ratio) × 100 : 0
Why Volume Quality Matters: Low volume moves lack institutional participation. These moves are more likely to reverse or stall.
Combined Chop Intensity:
chopIntensity = (adx_chop × 0.25) + (chop_idx_score × 0.25) +
(range_compression_score × 0.20) + (channel_chop × 0.15) +
(volume_chop × i_volumeChopWeight × 0.15)
Regime Classifications:
Based on chop intensity and component analysis:
• Strong Trend (0-20%): ADX >30, clear directional momentum, trade aggressively
• Trending (20-35%): ADX >20, moderate directional bias, trade normally
• Transitioning (35-50%): Mixed signals, regime change possible, reduce size
• Mid-Range (50-60%): Price trapped in channel center, avoid new positions
• Ranging (60-70%): Low ADX, price oscillating within bounds, fade extremes only
• Compression (70-80%): Volatility squeeze, expansion imminent, wait for breakout
• Strong Chop (80-100%): Multiple chop factors aligned, avoid trading entirely
Signal Suppression:
When chop intensity exceeds the configurable threshold (default 80%), signals are suppressed entirely. The dashboard displays "⚠️ CHOP ZONE" with the current regime classification.
Chop Box Visualization:
When chop is detected, AMWT draws a semi-transparent box on the chart showing the chop zone. This visual reminder helps traders avoid entering positions during unfavorable conditions.
💧 LIQUIDITY ANCHORING SYSTEM
The Liquidity Concept:
Markets move from liquidity pool to liquidity pool. Stop losses cluster at predictable locations—below swing lows (buy stops become sell orders when triggered) and above swing highs (sell stops become buy orders when triggered). Institutions know where these clusters are and often engineer moves to trigger them before reversing.
AMWT identifies and tracks these liquidity events, using them as anchors for signal confidence.
Liquidity Event Types:
Type 1: Volume Spikes
Definition: Volume > SMA(volume, 20) × i_volThreshold (default 2.8x)
Interpretation: Sudden volume surge indicates institutional activity
• Near swing low + reversal: Likely accumulation
• Near swing high + reversal: Likely distribution
• With continuation: Institutional conviction in direction
Type 2: Stop Runs (Liquidity Sweeps)
Definition: Price briefly exceeds swing high/low then reverses within N bars
Detection:
• Price breaks above recent swing high (triggering buy stops)
• Then closes back below that high within 3 bars
• Signal: Bullish stop run complete, reversal likely
Or inverse for bearish:
• Price breaks below recent swing low (triggering sell stops)
• Then closes back above that low within 3 bars
• Signal: Bearish stop run complete, reversal likely
Type 3: Absorption Events
Definition: High volume with small candle body
Detection:
• Volume > 2x average
• Candle body < 30% of candle range
• Interpretation: Large orders being filled without moving price
• Implication: Accumulation (at lows) or distribution (at highs)
Type 4: BSL/SSL Pools (Buy-Side/Sell-Side Liquidity)
BSL (Buy-Side Liquidity):
• Cluster of swing highs within ATR proximity
• Stop losses from shorts sit above these highs
• Breaking BSL triggers short covering (fuel for rally)
SSL (Sell-Side Liquidity):
• Cluster of swing lows within ATR proximity
• Stop losses from longs sit below these lows
• Breaking SSL triggers long liquidation (fuel for decline)
Liquidity Pool Mapping:
AMWT continuously scans for and maps liquidity pools:
// Detect swing highs/lows using pivot function
swing_high = ta.pivothigh(high, 5, 5)
swing_low = ta.pivotlow(low, 5, 5)
// Track recent swing points
if not na(swing_high)
bsl_levels.push(swing_high)
if not na(swing_low)
ssl_levels.push(swing_low)
// Display on chart with labels
Confluence Scoring Integration:
When signals fire near identified liquidity events, confluence scoring increases:
• Signal near volume spike: +10% confidence
• Signal after liquidity sweep: +15% confidence
• Signal at BSL/SSL pool: +10% confidence
• Signal aligned with absorption zone: +10% confidence
Why Liquidity Anchoring Matters:
Signals "in a vacuum" have lower probability than signals anchored to institutional activity. A long signal after a liquidity sweep below swing lows has trapped shorts providing fuel. A long signal in the middle of nowhere has no such catalyst.
📊 SIGNAL GRADING SYSTEM
The Quality Problem:
Not all signals are created equal. A signal with 6/6 factors aligned is fundamentally different from a signal with 3/6 factors aligned. Traditional indicators treat them the same. AMWT grades every signal based on confluence.
Confluence Components (100 points total):
1. Bandit Consensus Strength (25 points)
consensus_str = weighted average of agent confidences
score = consensus_str × 25
Example:
Trend Agent: +1 signal, 0.80 confidence, 0.35 weight
Reversion Agent: 0 signal, 0.50 confidence, 0.25 weight
Structure Agent: +1 signal, 0.75 confidence, 0.40 weight
Weighted consensus = (0.80×0.35 + 0×0.25 + 0.75×0.40) / (0.35 + 0.40) = 0.77
Score = 0.77 × 25 = 19.25 points
2. HMM State Confidence (15 points)
score = hmm_confidence × 15
Example:
HMM reports 82% probability of IMPULSE_UP
Score = 0.82 × 15 = 12.3 points
3. Session Quality (15 points)
Session quality varies by time:
• London/NY Overlap: 1.0 (15 points)
• New York Session: 0.95 (14.25 points)
• London Session: 0.70 (10.5 points)
• Asian Session: 0.40 (6 points)
• Off-Hours: 0.30 (4.5 points)
• Weekend: 0.10 (1.5 points)
4. Energy/Participation (10 points)
energy = (realized_vol / avg_vol) × 0.4 + (range / ATR) × 0.35 + (volume / avg_volume) × 0.25
score = min(energy, 1.0) × 10
5. Volume Confirmation (10 points)
if volume > SMA(volume, 20) × 1.5:
score = 10
else if volume > SMA(volume, 20):
score = 5
else:
score = 0
6. Structure Alignment (10 points)
For long signals:
• Bullish structure (HH + HL): 10 points
• Higher low only: 6 points
• Neutral structure: 3 points
• Bearish structure: 0 points
Inverse for short signals
7. Trend Alignment (10 points)
For long signals:
• Price > EMA21 > EMA50: 10 points
• Price > EMA21: 6 points
• Neutral: 3 points
• Against trend: 0 points
8. Entry Trigger Quality (5 points)
• Strong trigger (multiple confirmations): 5 points
• Moderate trigger (single confirmation): 3 points
• Weak trigger (marginal): 1 point
Grade Scale:
Total Score → Grade
85-100 → A+ (Exceptional—all factors aligned)
70-84 → A (Strong—high probability)
55-69 → B (Acceptable—proceed with caution)
Below 55 → C (Marginal—filtered by default)
Grade-Based Signal Brightness:
Signal arrows on the chart have transparency based on grade:
• A+: Full brightness (alpha = 0)
• A: Slight fade (alpha = 15)
• B: Moderate fade (alpha = 35)
• C: Significant fade (alpha = 55)
This visual hierarchy helps traders instantly identify signal quality.
Minimum Grade Filter:
Configurable filter (default: C) sets the minimum grade for signal display:
• Set to "A" for only highest-quality signals
• Set to "B" for moderate selectivity
• Set to "C" for all signals (maximum quantity)
🕐 SESSION INTELLIGENCE
Why Sessions Matter:
Markets behave differently at different times. The London open is fundamentally different from the Asian lunch hour. AMWT incorporates session-aware logic to optimize signal quality.
Session Definitions:
Asian Session (18:00-03:00 ET)
• Characteristics: Lower volatility, range-bound tendency, fewer institutional participants
• Quality Score: 0.40 (40% of peak quality)
• Strategy Implications: Fade extremes, expect ranges, smaller position sizes
• Best For: Mean-reversion setups, accumulation/distribution identification
London Session (03:00-12:00 ET)
• Characteristics: European institutional activity, volatility pickup, trend initiation
• Quality Score: 0.70 (70% of peak quality)
• Strategy Implications: Watch for trend development, breakouts more reliable
• Best For: Initial trend identification, structure breaks
New York Session (08:00-17:00 ET)
• Characteristics: Highest liquidity, US institutional activity, major moves
• Quality Score: 0.95 (95% of peak quality)
• Strategy Implications: Best environment for directional trades
• Best For: Trend continuation, momentum plays
London/NY Overlap (08:00-12:00 ET)
• Characteristics: Peak liquidity, both European and US participants active
• Quality Score: 1.0 (100%—maximum quality)
• Strategy Implications: Highest probability for successful breakouts and trends
• Best For: All signal types—this is prime time
Off-Hours
• Characteristics: Thin liquidity, erratic price action, gaps possible
• Quality Score: 0.30 (30% of peak quality)
• Strategy Implications: Avoid new positions, wider stops if holding
• Best For: Waiting
Smart Weekend Detection:
AMWT properly handles the Sunday evening futures open:
// Traditional (broken):
isWeekend = dayofweek == saturday OR dayofweek == sunday
// AMWT (correct):
anySessionActive = not na(asianTime) or not na(londonTime) or not na(nyTime)
isWeekend = calendarWeekend AND NOT anySessionActive
This ensures Sunday 6pm ET (when futures open) correctly shows "Asian Session" rather than "Weekend."
Session Transition Boosts:
Certain session transitions create trading opportunities:
• Asian → London transition: +15% confidence boost (volatility expansion likely)
• London → Overlap transition: +20% confidence boost (peak liquidity approaching)
• Overlap → NY-only transition: -10% confidence adjustment (liquidity declining)
• Any → Off-Hours transition: Signal suppression recommended
📈 TRADE MANAGEMENT SYSTEM
The Signal Spam Problem:
Many indicators generate signal after signal, creating confusion and overtrading. AMWT implements a complete trade lifecycle management system that prevents signal spam and tracks performance.
Trade Lock Mechanism:
Once a signal fires, the system enters a "trade lock" state:
Trade Lock Duration: Configurable (default 30 bars)
Early Exit Conditions:
• TP3 hit (full target reached)
• Stop Loss hit (trade failed)
• Lock expiration (time-based exit)
During lock:
• No new signals of same type displayed
• Opposite signals can override (reversal)
• Trade status tracked in dashboard
Target Levels:
Each signal generates three profit targets based on ATR:
TP1 (Conservative Target)
• Default: 1.0 × ATR
• Purpose: Quick partial profit, reduce risk
• Action: Take 30-40% off position, move stop to breakeven
TP2 (Standard Target)
• Default: 2.5 × ATR
• Purpose: Main profit target
• Action: Take 40-50% off position, trail stop
TP3 (Extended Target)
• Default: 5.0 × ATR
• Purpose: Runner target for trend days
• Action: Close remaining position or continue trailing
Stop Loss:
• Default: 1.9 × ATR from entry
• Purpose: Define maximum risk
• Placement: Below recent swing low (longs) or above recent swing high (shorts)
Invalidation Level:
Beyond stop loss, AMWT calculates an "invalidation" level where the wave hypothesis dies:
invalidation = entry - (ATR × INVALIDATION_MULT × 1.5)
If price reaches invalidation, the current market interpretation is wrong—not just the trade.
Visual Trade Management:
During active trades, AMWT displays:
• Entry arrow with grade label (▲A+, ▼B, etc.)
• TP1, TP2, TP3 horizontal lines in green
• Stop Loss line in red
• Invalidation line in orange (dashed)
• Progress indicator in dashboard
Persistent Execution Markers:
When targets or stops are hit, permanent markers appear:
• TP hit: Green dot with "TP1"/"TP2"/"TP3" label
• SL hit: Red dot with "SL" label
These persist on the chart for review and statistics.
💰 PERFORMANCE TRACKING & STATISTICS
Tracked Metrics:
• Total Trades: Count of all signals that entered trade lock
• Winning Trades: Signals where at least TP1 was reached before SL
• Losing Trades: Signals where SL was hit before any TP
• Win Rate: Winning / Total × 100%
• Total R Profit: Sum of R-multiples from winning trades
• Total R Loss: Sum of R-multiples from losing trades
• Net R: Total R Profit - Total R Loss
Currency Conversion System:
AMWT can display P&L in multiple formats:
R-Multiple (Default)
• Shows risk-normalized returns
• "Net P&L: +4.2R | 78 trades" means 4.2 times initial risk gained over 78 trades
• Best for comparing across different position sizes
Currency Conversion (USD/EUR/GBP/JPY/INR)
• Converts R-multiples to currency based on:
- Dollar Risk Per Trade (user input)
- Tick Value (user input)
- Selected currency
Example Configuration:
Dollar Risk Per Trade: $100
Display Currency: USD
If Net R = +4.2R
Display: Net P&L: +$420.00 | 78 trades
Ticks
• For futures traders who think in ticks
• Converts based on tick value input
Statistics Reset:
Two reset methods:
1. Toggle Reset
• Turn "Reset Statistics" toggle ON then OFF
• Clears all statistics immediately
2. Date-Based Reset
• Set "Reset After Date" (YYYY-MM-DD format)
• Only trades after this date are counted
• Useful for isolating recent performance
🎨 VISUAL FEATURES
Macro Channel:
Dynamic regression-based channel showing market boundaries:
• Upper/lower bounds calculated from swing pivot linear regression
• Adapts to current market structure
• Shows overall trend direction and potential reversal zones
Chop Boxes:
Semi-transparent overlay during high-chop periods:
• Purple/orange coloring indicates dangerous conditions
• Visual reminder to avoid new positions
Confluence Heat Zones:
Background shading indicating setup quality:
• Darker shading = higher confluence
• Lighter shading = lower confluence
• Helps identify optimal entry timing
EMA Ribbon:
Trend visualization via moving average fill:
• EMA 8/21/50 with gradient fill between
• Green fill when bullish aligned
• Red fill when bearish aligned
• Gray when neutral
Absorption Zone Boxes:
Marks potential accumulation/distribution areas:
• High volume + small body = absorption
• Boxes drawn at these levels
• Often act as support/resistance
Liquidity Pool Lines:
BSL/SSL levels with labels:
• Dashed lines at liquidity clusters
• "BSL" label above swing high clusters
• "SSL" label below swing low clusters
Six Professional Themes:
• Quantum: Deep purples and cyans (default)
• Cyberpunk: Neon pinks and blues
• Professional: Muted grays and greens
• Ocean: Blues and teals
• Matrix: Greens and blacks
• Ember: Oranges and reds
🎓 PROFESSIONAL USAGE PROTOCOL
Phase 1: Learning the System (Week 1)
Goal: Understand AMWT concepts and dashboard interpretation
Setup:
• Signal Mode: Balanced
• Display: All features enabled
• Grade Filter: C (see all signals)
Actions:
• Paper trade ONLY—no real money
• Observe HMM state transitions throughout the day
• Note when agents agree vs disagree
• Watch chop detection engage and disengage
• Track which grades produce winners vs losers
Key Learning Questions:
• How often do A+ signals win vs B signals? (Should see clear difference)
• Which agent tends to be right in current market? (Check dashboard)
• When does chop detection save you from bad trades?
• How do signals near liquidity events perform vs signals in vacuum?
Phase 2: Parameter Optimization (Week 2)
Goal: Tune system to your instrument and timeframe
Signal Mode Testing:
• Run 5 days on Aggressive mode (more signals)
• Run 5 days on Conservative mode (fewer signals)
• Compare: Which produces better risk-adjusted returns?
Grade Filter Testing:
• Track A+ only for 20 signals
• Track A and above for 20 signals
• Track B and above for 20 signals
• Compare win rates and expectancy
Chop Threshold Testing:
• Default (80%): Standard filtering
• Try 70%: More aggressive filtering
• Try 90%: Less filtering
• Which produces best results for your instrument?
Phase 3: Strategy Development (Weeks 3-4)
Goal: Develop personal trading rules based on system signals
Position Sizing by Grade:
• A+ grade: 100% position size
• A grade: 75% position size
• B grade: 50% position size
• C grade: 25% position size (or skip)
Session-Based Rules:
• London/NY Overlap: Take all A/A+ signals
• NY Session: Take all A+ signals, selective on A
• Asian Session: Only A+ signals with extra confirmation
• Off-Hours: No new positions
Chop Zone Rules:
• Chop >70%: Reduce position size 50%
• Chop >80%: No new positions
• Chop <50%: Full position size allowed
Phase 4: Live Micro-Sizing (Month 2)
Goal: Validate paper trading results with minimal risk
Setup:
• 10-20% of intended full position size
• Take ONLY A+ signals initially
• Follow trade management religiously
Tracking:
• Log every trade: Entry, Exit, Grade, HMM State, Chop Level, Agent Consensus
• Calculate: Win rate by grade, by session, by chop level
• Compare to paper trading (should be within 15%)
Red Flags:
• Win rate diverges significantly from paper trading: Execution issues
• Consistent losses during certain sessions: Adjust session rules
• Losses cluster when specific agent dominates: Review that agent's logic
Phase 5: Scaling Up (Months 3-6)
Goal: Gradually increase to full position size
Progression:
• Month 3: 25-40% size (if micro-sizing profitable)
• Month 4: 40-60% size
• Month 5: 60-80% size
• Month 6: 80-100% size
Scale-Up Requirements:
• Minimum 30 trades at current size
• Win rate ≥50%
• Net R positive
• No revenge trading incidents
• Emotional control maintained
💡 DEVELOPMENT INSIGHTS
Why HMM Over Simple Indicators:
Early versions used standard indicators (RSI >70 = overbought, etc.). Win rates hovered at 52-55%. The problem: indicators don't capture state. RSI can stay "overbought" for weeks in a strong trend.
The insight: markets exist in states, and state persistence matters more than indicator levels. Implementing HMM with state transition probabilities increased signal quality significantly. The system now knows not just "RSI is high" but "we're in IMPULSE_UP state with 70% probability of staying in IMPULSE_UP."
The Multi-Agent Evolution:
Original version used a single analytical methodology—trend-following. Performance was inconsistent: great in trends, destroyed in ranges. Added mean-reversion agent: now it was inconsistent the other way.
The breakthrough: use multiple agents and let the system learn which works . Thompson Sampling wasn't the first attempt—tried simple averaging, voting, even hard-coded regime switching. Thompson Sampling won because it's mathematically optimal and automatically adapts without manual regime detection.
Chop Detection Revelation:
Chop detection was added almost as an afterthought. "Let's filter out obviously bad conditions." Testing revealed it was the most impactful single feature. Filtering chop zones reduced losing trades by 35% while only reducing total signals by 20%. The insight: avoiding bad trades matters more than finding good ones.
Liquidity Anchoring Discovery:
Watched hundreds of trades. Noticed pattern: signals that fired after liquidity events (stop runs, volume spikes) had significantly higher win rates than signals in quiet markets. Implemented liquidity detection and anchoring. Win rate on liquidity-anchored signals: 68% vs 52% on non-anchored signals.
The Grade System Impact:
Early system had binary signals (fire or don't fire). Adding grading transformed it. Traders could finally match position size to signal quality. A+ signals deserved full size; C signals deserved caution. Just implementing grade-based sizing improved portfolio Sharpe ratio by 0.3.
🚨 LIMITATIONS & CRITICAL ASSUMPTIONS
What AMWT Is NOT:
• NOT a Holy Grail : No system wins every trade. AMWT improves probability, not certainty.
• NOT Fully Automated : AMWT provides signals and analysis; execution requires human judgment.
• NOT News-Proof : Exogenous shocks (FOMC surprises, geopolitical events) invalidate all technical analysis.
• NOT for Scalping : HMM state estimation needs time to develop. Sub-minute timeframes are not appropriate.
Core Assumptions:
1. Markets Have States : Assumes markets transition between identifiable regimes. Violation: Random walk markets with no regime structure.
2. States Are Inferable : Assumes observable indicators reveal hidden states. Violation: Market manipulation creating false signals.
3. History Informs Future : Assumes past agent performance predicts future performance. Violation: Regime changes that invalidate historical patterns.
4. Liquidity Events Matter : Assumes institutional activity creates predictable patterns. Violation: Markets with no institutional participation.
Performs Best On:
• Liquid Futures : ES, NQ, MNQ, MES, CL, GC
• Major Forex Pairs : EUR/USD, GBP/USD, USD/JPY
• Large-Cap Stocks : AAPL, MSFT, TSLA, NVDA (>$5B market cap)
• Liquid Crypto : BTC, ETH on major exchanges
Performs Poorly On:
• Illiquid Instruments : Low volume stocks, exotic pairs
• Very Low Timeframes : Sub-5-minute charts (noise overwhelms signal)
• Binary Event Days : Earnings, FDA approvals, court rulings
• Manipulated Markets : Penny stocks, low-cap altcoins
Known Weaknesses:
• Warmup Period : HMM needs ~50 bars to initialize properly. Early signals may be unreliable.
• Regime Change Lag : Thompson Sampling adapts over time, not instantly. Sudden regime changes may cause short-term underperformance.
• Complexity : More parameters than simple indicators. Requires understanding to use effectively.
⚠️ RISK DISCLOSURE
Trading futures, stocks, options, forex, and cryptocurrencies involves substantial risk of loss and is not suitable for all investors. Adaptive Market Wave Theory, while based on rigorous mathematical frameworks including Hidden Markov Models and multi-armed bandit algorithms, does not guarantee profits and can result in significant losses.
AMWT's methodologies—HMM state estimation, Thompson Sampling agent selection, and confluence-based grading—have theoretical foundations but past performance is not indicative of future results.
Hidden Markov Model assumptions may not hold during:
• Major news events disrupting normal market behavior
• Flash crashes or circuit breaker events
• Low liquidity periods with erratic price action
• Algorithmic manipulation or spoofing
Multi-agent consensus assumes independent analytical perspectives provide edge. Market conditions change. Edges that existed historically can diminish or disappear.
Users must independently validate system performance on their specific instruments, timeframes, and broker execution environment. Paper trade extensively before risking capital. Start with micro position sizing.
Never risk more than you can afford to lose completely. Use proper position sizing. Implement stop losses without exception.
By using this indicator, you acknowledge these risks and accept full responsibility for all trading decisions and outcomes.
"Elliott Wave was a first-order approximation of market phase behavior. AMWT is the second—probabilistic, adaptive, and accountable."
Initial Public Release
Core Engine:
• True Hidden Markov Model with online Baum-Welch learning
• Viterbi algorithm for optimal state sequence decoding
• 6-state market regime classification
Agent System:
• 3-Bandit consensus (Trend, Reversion, Structure)
• Thompson Sampling with true Beta distribution sampling
• Adaptive weight learning based on performance
Signal Generation:
• Quality-based confluence grading (A+/A/B/C)
• Four signal modes (Aggressive/Balanced/Conservative/Institutional)
• Grade-based visual brightness
Chop Detection:
• 5-factor analysis (ADX, Choppiness Index, Range Compression, Channel Position, Volume)
• 7 regime classifications
• Configurable signal suppression threshold
Liquidity:
• Volume spike detection
• Stop run (liquidity sweep) identification
• BSL/SSL pool mapping
• Absorption zone detection
Trade Management:
• Trade lock with configurable duration
• TP1/TP2/TP3 targets
• ATR-based stop loss
• Persistent execution markers
Session Intelligence:
• Asian/London/NY/Overlap detection
• Smart weekend handling (Sunday futures open)
• Session quality scoring
Performance:
• Statistics tracking with reset functionality
• 7 currency display modes
• Win rate and Net R calculation
Visuals:
• Macro channel with linear regression
• Chop boxes
• EMA ribbon
• Liquidity pool lines
• 6 professional themes
Dashboards:
• Main Dashboard: Market State, Consensus, Trade Status, Statistics
📋 AMWT vs AMWT-PRO:
This version includes all core AMWT functionality:
✓ Full Hidden Markov Model state estimation
✓ 3-Bandit Thompson Sampling consensus system
✓ Complete 5-factor chop detection engine
✓ All four signal modes
✓ Full trade management with TP/SL tracking
✓ Main dashboard with complete statistics
✓ All visual features (channels, zones, pools)
✓ Identical signal generation to PRO
✓ Six professional themes
✓ Full alert system
The PRO version adds the AMWT Advisor panel—a secondary dashboard providing:
• Real-time Market Pulse situation assessment
• Agent Matrix visualization (individual agent votes)
• Structure analysis breakdown
• "Watch For" upcoming setups
• Action Command coaching
Both versions generate identical signals . The Advisor provides additional guidance for interpreting those signals.
Taking you to school. - Dskyz, Trade with probability. Trade with consensus. Trade with AMWT.
TrintityTrendIntroducing TrinityTrend
A multi-signal indicator combining:
Candle TrendStrength
SuperTrend logic
TTM Squeeze detection
Built for clarity, momentum, and volatility awareness—across any timeframe.
TrendStrength Mode
Candle coloring reflects directional conviction.
Strong uptrend
Strong downtrend
Neutral or indecisive
Helps traders stay with momentum and avoid chop.
SuperTrend Overlay
SuperTrend Logic Dynamic trailing stop based on volatility.
🟩 Price above = bullish bias
🟥 Price below = bearish bias
Great for swing entries and exits.
TTM Squeeze Detection
TTM Squeeze Mode Detects compression zones before breakout.
Squeeze on = buildup (You can change the color of this)
Pairs well with TrendStrength for timing entries.
Multi-Timeframe Versatility
Multi-Timeframe Ready:
Intraday scalping
Daily swing setups
Weekly macro bias
Toggle modes to match your strategy
ATR Price ZoneThe ATR Price Zone is an indicator which takes the Daily Average True Range of a stock and shows how high and low the price of the stock could possibly go from the opening price.
Key features:
The ATR Price Zone is an indicator which takes the Daily Average True Range of a stock and shows how high and low the priced the stock could possibly go from the opening price.
Key features:
ATR Price Zone uses zones looking forward to help strategize possible movements in price.
This indicator is customizable with zones, horizontal lines, a quick reference chart and colors.
The indicator continues to move forward with the chart.
It references the Daily True Average Range regardless of which Time Frame you are using.
It also references the opening candle with a blue arrow when using less than daily time frames.
Create by BothwellTrader
NICHI (NuwenPham's Ichimoku)NICHI (NuwenPham’s Ichimoku)
NICHI is a dual-engine Ichimoku indicator designed for modern, high-volatility markets.
It preserves a faithful traditional Ichimoku while introducing an advanced, filter-driven Ichimoku framework for research, visualization, and discretionary trading.
The goal of NICHI is not to replace Ichimoku — but to extend it.
Overview
NICHI includes two independent Ichimoku systems that can be enabled separately or together.
1. Standard Ichimoku
A clean, traditional Hosoda Ichimoku using Donchian midpoints:
Tenkan-sen (short period)
Kijun-sen (medium period)
Senkou Span A & B (forward displaced)
Chikou Span (lagging)
Design choice:
The Standard Ichimoku is intentionally plotted in a separate pane to avoid cluttering the price chart.
It serves as a reference / regime baseline, not a visual overlay.
2. Advanced Ichimoku
The Advanced system keeps the Ichimoku structure intact but replaces the Donchian calculations with selectable smoothing filters.
Each Ichimoku component (Tenkan, Kijun, Senkou B, Chikou) can be calculated using modern filters designed to handle volatility, noise, and regime shifts.
Supported filters include:
McGinley Dynamic (MD)
VWMA (exchange or tick-derived volume)
EMA / DEMA / SMA / SMMA / WMA
ALMA / LSMA / Hull MA
COVWMA / FRAMA / KAMA
50th Percentile
Moving Median
This allows Ichimoku to behave as:
A smoother trend system
A volatility-adaptive framework
A momentum-responsive overlay
Enhanced Cloud (Kumo) Modeling
Advanced Kumo logic includes:
Independent forward offsets for Span A and Span B
Bull / bear regime classification aligned with how the cloud is actually drawn
Adaptive cloud coloring
Neutral cloud state when spans disagree
This avoids misleading regime signals when different offsets are used.
Directional Persistence Tracking
NICHI tracks directional streaks for key components:
Tenkan direction
Kijun direction
Span A direction
Span B direction
These persistence counters stabilize coloring, reduce flicker, and improve visual clarity during transitions.
Bar Coloring Modes (Advanced)
Three bar-coloring frameworks are included.
Kumo-Based
Above cloud → bullish
Below cloud → bearish
Inside cloud → neutral
Tenkan / Kijun-Based
Above both → bullish
Below both → bearish
Chikou-Based
Chikou above past price → bullish
Chikou below past price → bearish
Each mode is intentionally distinct and serves a different trading style.
Moving Average Overlays
NICHI includes four optional moving average overlays (MA1–MA4):
Configurable type, length, width, and source
Intended for bias, confluence, or higher-timeframe context
Controlled as code-level constants by design
What Changed Since BETA
This release promotes NICHI from beta to stable with the following key improvements:
Chikou regime logic fixed:
Chikou comparisons now reference historical price only, eliminating any future lookahead behavior.
Kumo bull/bear alignment clarified:
Cloud regime classification now matches how the cloud is visually drawn when Span A and Span B use different forward offsets.
Kijun direction tracking corrected:
Kijun coloring now reflects Kijun movement, not Tenkan movement.
Bar coloring gated:
Bar coloring is applied only when Advanced Ichimoku is enabled, preventing unintended behavior when using Standard mode alone.
General stability and cleanup:
Minor bug fixes, consistency improvements, and documentation clarity.
Notes
Advanced Ichimoku is intended for research and visualization, not as a turnkey strategy.
Standard Ichimoku remains a faithful baseline.
If reporting issues, please include symbol, timeframe, and a screenshot.
BE-QuantFlow: Adaptive Momentum Trading█ Overview: QuantFlow: Adaptive Momentum Trading
QuantFlow is a sophisticated algorithmic momentum trading method designed specifically for indices and high-beta stocks. However, its logic is universal; with appropriate parameter tuning, it adapts to various asset classes and timeframes.
While the standard momentum indicators (like RSI or MACD) simply measure how fast price is moving (Velocity), QuantFlow analyzes the quality and conviction of the trend . Features like Dynamic Volatility Filtering and Trend Shielding, combined with volatility weighting and a "Dual-Line" approach to distinguish between a sustainable institutional trend and a temporary retail spike, make the indicator unique and more powerful.
█ Why QuantFlow ?
Quant (The Engine): This replaces subjective guessing with objective math.
Instead of just seeing that the price is "up," we measure "how it got there". For example, a stock that rises 1 currency value every day for 10 days (smooth trend) gets a much higher score than a stock that jumps 10 currency value in one minute and does nothing else (erratic noise). This mathematical rigor provides the structure.
█ Core Logic & Philosophy
To understand how QuantFlow calculates momentum, imagine a "Tug-of-War" between Buyers (Bulls) and Sellers (Bears). Most indicators (like RSI) use a single line. If RSI is at 50, it means "Neutral." But "Neutral" can mean two very different things:
Peace: Nothing is happening. No one is buying or selling.
War: Buyers are pushing hard, but Sellers are pushing back equally hard. Volatility is massive.
A single line hides this reality. QuantFlow splits the market into two separate scores:
Bull Score (Green Line): How hard are the buyers pushing?
Bear Score (Red Line): How hard are the sellers pushing?
The Layman's Advantage:
If both lines are low = Sleepy Market (Avoid).
If Green is high and Red is low = Clean Uptrend (Buy).
If Red is high and Green is low = Clean Downtrend (Sell).
If both lines are high = Chaos/War Zone (Wait).
█ How it Weight "Sustenance" (The Critical Quality Check)
This is the most unique aspect of QuantFlow: Trend direction alone is not enough; Sustenance is weighed equally . Standard indicators treat every 10 currency value movements the same way with no distinction. However, QuantFlow asks, "Did you hold the ground you gained?"
Scenario A (High Sustenance) : A stock opens at 100, marches to 110, and closes at 110.
Verdict : Buyers pushed up and sustained the price.
QuantFlow Weight : 100%. This is a high-quality move.
Scenario B (Low Sustenance) : A stock opens at 100, spikes to 110, but gets sold off to close at 102.
Verdict : Buyers pushed up (Trend is Up), but failed to sustain it (Long Wick).
QuantFlow Weight : 20%. This is treated as "Noise" or a trap.
By mathematically weighing the Close Location Value (where the candle closes relative to its high/low), QuantFlow filters out "Gap-and-Fade" traps and exhaustion spikes that fool traditional indicators.
Comparisons: QuantFlow vs. The Rest
Calculation Logic : Standard RSI/MACD measures simple price change over time. QuantFlow measures Price Change 'times (x)' Conviction (Sustenance Weighting).
Visual Output : Standard tools show a single line (0-100), often hiding market conflict. QuantFlow displays Dual Lines (Bull vs Bear Intensity) to reveal the true state of the battle.
Trap Handling : Standard indicators are often fooled by sharp spikes. QuantFlow ignores "Gap-and-Fade" moves with poor closing conviction.
Adaptability : Standard tools use static levels (e.g., Overbought > 70). QuantFlow uses Dynamic Bands that adjust automatically to recent volatility.
█ Dynamic Volatility Filtering
Unlike standard indicators that use fixed levels (e.g., "Buy if RSI > 50"), QuantFlow acknowledges that "50" means something different in a quiet market versus a crashing market. This section explains the statistical engine driving the signals.
The Problem with Static Levels : In a low-volatility environment, a momentum score of 55 might indicate a massive breakout. In a high-volatility environment, a score of 55 might just be random noise. A fixed threshold cannot handle both scenarios.
The Solution: Adaptive Statistics : The script maintains a memory of the Momentum Events. It doesn't just look at price; it looks at where the momentum occurred in the past and draws a "Noise Zone" (Grey Band). This logic acts as a "Smart Gatekeeper" for trade entries:
Scenario A: Inside the Noise (The Filter)
If a new momentum signal happens inside the Noise Zone, the script assumes it is likely chop or noise.
Action : It forces a wait period. The signal is delayed until the trend sustains itself for Confirm Bars; else the signal is cancelled. This filters out ~70% of false signals in sideways markets.
Scenario B: Outside the Noise (The Breakout)
If a new momentum signal happens outside the Noise Zone (or the momentum score smashes through the Upper Band), it is statistically significant (an outlier event).
Action: It triggers an Immediate Entry. No waiting is required because the move is powerful enough to escape the historical noise zone.
█ The ⚠️ "Warning" System (Heads-up for Smart Reversals)
While you are directional if there is potential reversal signal, it provides the heads-up warning for a better decision-making
█ Special Utility: Ghost Mode
For intraday traders, the biggest disruption to "Flow" is the mandatory broker square-off at 3:15 PM (considering Indian Market). Often, a trend continues overnight, and the trader misses the gap-up opening the next morning because their algo was flat.
Ghost Mode is a unique feature that runs silently in the background:
At Square-off: The strategy closes your official position to satisfy the broker.
In the Background: It keeps the trade "alive" virtually (Ghost).
Next Morning: If the market opens in the trend's favor, the strategy re-enters the trade automatically. This approach ensures you capture the full swing of the trend, even if you are forced to exit at the previous session.
█ Advice on this indicator:
Parameter Calibration: The default settings are optimized for BankNifty on 5-minute charts. If you trade stocks, crypto, commodities, or any higher timeframes (e.g., 15-min or hourly), you must adjust these.
Low Volatility Assets: Reduce Stop Multiplier to 2.0.
High Volatility Assets: Increase Momentum Lookback to 50 to filter noise.
Confluence (Additional Confirmation): While QuantFlow is a complete system, using it alongside Key Support/Resistance Levels or Volume Profile provides the highest probability setups.
Bandes de Bollinger - Couleurs DynamiquesDescription
This indicator is an enhanced version of the classic Bollinger Bands. It allows traders to instantly visualize market volatility states (expansion or compression) by coloring each band independently based on its own direction.
Unlike standard indicators that color the background or use a single condition for both lines, this script focuses on the slope of each individual band to provide a more precise reading of price dynamics.
How It Works
The script analyzes the position of each band relative to its previous value (n-1):
Upper Band: Turns GREEN when it moves up (expanding upwards) and RED when it moves down (contracting downwards).
Lower Band: Turns GREEN when it moves down (expanding downwards) and RED when it moves up (contracting upwards).
Signal Interpretation
This independent coloring helps identify three market phases at a glance:
Volatility Expansion (Blast off): Both bands are GREEN. This typically occurs during a breakout or a violent impulsive move where bands open up in opposite directions.
Compression (Squeeze): Both bands are RED. The upper band is sloping down and the lower band is sloping up. The market is consolidating, often signaling an impending explosive move.
Trend: Colors are mixed. For instance, during a strong uptrend, the Upper Band will be Green (rising), but the Lower Band will often be Red (rising as well to follow price, rather than expanding downwards).
Settings
Users retain standard Bollinger Bands configuration:
Length: Period for the Moving Average (Default: 20).
Multiplier: Standard Deviation multiplier (Default: 2.0).
Source: Price data used (Default: Close).
Note
This tool is purely visual and does not repaint. It is designed to assist traders who rely on volatility analysis, mean reversion, or breakout strategies.
ML-Inspired Adaptive Momentum Strategy (TradingView v6)This strategy demonstrates an adaptive momentum approach using volatility-normalized trend strength. It is designed for educational and analytical purposes and uses deterministic, fully transparent logic compatible with Pine Script v6.
ML-Inspired Concept (Educational Context)
Pine Script cannot train or execute real machine-learning models.
Instead, this strategy demonstrates ML-style thinking by:
Converting price data into features
Normalizing features to account for volatility differences
Producing a bounded confidence score
Applying thresholds for decision making
This is not predictive AI and does not claim forecasting capability.
Strategy Logic
EMA is used to measure directional bias
EMA slope represents momentum change
ATR normalizes the slope (feature scaling)
A clamped score between −1 and +1 is generated
Trades trigger only when the score exceeds defined thresholds
Risk & Execution
Position size capped at 5% equity
Commission and slippage included for realistic testing
Signals are calculated on closed bars only
Purpose
This script is intended to help traders explore adaptive momentum concepts and understand how feature normalization can be applied in systematic trading strategies.
Market Regime | NY Session Killzones Indicator [ApexLegion]Market Regime | NY Session Killzones Indicator
Introduction and Theoretical Background
The Market Regime | NY Session Killzones indicator is designed exclusively for New York market hours (07:00-16:00 ET). Unlike universal indicators that attempt to function across disparate global sessions, this tool employs session-specific calibration to target the distinct liquidity characteristics of the NY trading day: Pre-Market structural formation (08:00-09:30), the Morning breakout window (09:30-12:00), and the Afternoon Killzone (13:30-16:00)—periods when institutional order flow exhibits the highest concentration and most definable technical structure. By restricting its operational scope to these statistically significant time windows, the indicator focuses on signal relevance while filtering the noise inherent in lower-liquidity overnight or extended-hours trading environments.
I. TECHNICAL RATIONALE: THE PRINCIPLE OF CONTEXTUAL FUSION
1. The Limitation of Acontextual Indicators
Traditional technical indicators often fail because they treat every bar and every market session equally, applying static thresholds (e.g., RSI > 70) without regard for the underlying market structure or liquidity environment. However, institutional volume and market volatility are highly dependent on the time of day (session) and the prevailing long-term risk environment.
This indicator was developed to address this "contextual deficit" by fusing three distinct yet interdependent analytical layers:
• Time and Structure (Macro): Identifying high-probability trading windows (Killzones) and critical structural levels (Pre-Market Range, PDH/PDL).
• Volatility and Scoring (Engine): Normalizing intraday momentum against annual volatility data to create an objective, statistically grounded AI Score.
• Risk Management (Execution): Implementing dynamic, volatility-adjusted Stop Loss (SL) and Take Profit (TP) parameters based on the Average True Range (ATR).
2. The Mandate for 252-Day Normalization (Z-Score)
What makes this tool unique is its 252-day Z-Score normalization engine that transforms raw momentum readings into statistically grounded probability scores, allowing the same indicator to deliver consistent, context-aware signals across any timeframe—from 1-minute scalping to 1-hour swing trades—without manual recalibration.
THE PROBLEM OF SCALE INVARIANCE
A high Relative Strength Index (RSI) reading on a 1-minute chart has a completely different market implication than a high RSI reading on a Daily chart. Simple percentage-based thresholds (like 70 or 30) do not provide true contextual significance. A sudden spike in momentum may look extreme on a 5-minute chart, but if it is statistically insignificant compared to the overall volatility of the last year, it may be a poor signal.
THE SOLUTION: CROSS-TIMEFRAME Z-SCORE NORMALIZATION
This indicator utilizes the Pine Script function request.security to reference the Daily timeframe for calculating the mean (μ) and standard deviation (σ) of a momentum oscillator (RSI) over the past 252 trading days (one year).
The indicator then calculates the Z-Score (Z) for the current bar's raw momentum (x): Z = (x - μ) / σ
Core Implementation: float raw_rsi = ta.rsi(close, 14) // x
= request.security(syminfo.tickerid, "D",
, // σ (252 days)
lookahead=barmerge.lookahead_on)
float cur_rsi_norm = d_rsi_std != 0 ? (raw_rsi - d_rsi_mean) / d_rsi_std : 0.0 // Z
This score provides an objective measurement of current intraday momentum significance by evaluating its statistical extremity against the yearly baseline of daily momentum. This standardized approach provides the scoring engine with consistent, global contextual information, independent of the chart's current viewing timeframe.
II. CORE COMPONENTS AND TECHNICAL ANALYSIS BREAKDOWN
1. TIME AND SESSION ANALYSIS (KILLZONES AND BIAS)
The indicator visually segments the trading day based on New York (NY) trading sessions, aligning the analysis with periods of high institutional liquidity events.
Pre-Market (PRE)
• Function: Defines the range before the core market opens. This range establishes structural support and resistance levels (PMH/PML).
• Technical Implementation: Uses a dedicated Session input (ny_pre_sess). The High and Low values (pm_h_val/pm_l_val) within this session are stored and plotted for structural reference.
• Smart Extension Logic: PMH/PML lines are automatically extended until the next Pre-Market session begins, providing continuous support/resistance references overnight.
NY Killzones (AM/PM)
• Function: Highlights high-probability volatility windows where institutional liquidity is expected to be highest (e.g., NY open, lunch, NY close).
• Technical Implementation: Separate session inputs (kz_ny_am, kz_ny_pm) are utilized to draw translucent background fills, providing a clear visual cue for timing.
Market Regime Bias
• Function: Determines the initial directional premise for the trading day. The bias is confirmed when the price breaks either the Pre-Market High (PMH) or the Pre-Market Low (PML).
• Technical Implementation: Involves the comparison of the close price against the predefined structural levels (check_h for PMH, check_l for PML). The variable active_bias is set to Bullish or Bearish upon confirmed breakout.
Trend Bar Coloring
• Function: Applies a visual cue to the bars based on the established regime (Bullish=Cyan, Bearish=Red). This visual filter helps mitigate noise from counter-trend candles.
• Technical Implementation: The Pine Script barcolor() function is tied directly to the value of the determined active_bias.
2. VOLATILITY NORMALIZED SCORING ENGINE
The internal scoring mechanism accumulates points from multiple market factors to determine the strength and validity of a signal. The purpose is to apply a robust filtering mechanism before generating an entry.
The score accumulation logic is based on the following factors:
• Market Bias Alignment (+3 Points): Points are awarded for conformance with the determined active_bias (Bullish/Bearish).
• VWAP Alignment (+2 Points): Assesses the position of the current price relative to the Volume-Weighted Average Price (VWAP). Alignment suggests conformity with the average institutional transaction price.
• Volume Anomaly (+2 Points): Detects a price move accompanied by an abnormally high relative volume (odd_vol_spike). This suggests potential institutional participation or significant order flow.
• VIX Integration (+2 Points): A score derived from the CBOE VIX index, assessing overall market stability and stress. Stable VIX levels add points, while high VIX levels (stress regimes) remove points or prevent signal generation entirely.
• ML Probability Score (+3 Points): This is the core predictive engine. It utilizes a Log-Manhattan Distance Kernel to compare the current market state against historical volatility patterns. The script implements a Log-linear distance formula (log(1 + |Δ|) ). This approach mathematically dampens the impact of extreme volatility spikes (outliers), ensuring that the similarity score reflects true structural alignment rather than transient market noise.
Core Technical Logic (Z-Score Normalization)
float cur_rsi_norm = d_rsi_std != 0 ? (raw_rsi - d_rsi_mean) / d_rsi_std : 0.0
• Technical Purpose: This line calculates the Z-Score (cur_rsi_norm) of the current momentum oscillator reading (raw_rsi) by normalizing it against the mean (d_rsi_mean) and standard deviation (d_rsi_std) derived from 252 days of Daily momentum data. If the standard deviation is zero (market is perfectly flat), it safely returns 0.0 to prevent division by zero runtime errors. This allows the AI's probability score to be based on the current signal's significance within the context of the entire trading year.
3. EXECUTION AND RISK MANAGEMENT (ATR MODEL)
The indicator utilizes the Average True Range (ATR) volatility model. This helps risk management scale dynamically with market volatility by allowing users to define TP/SL distances independently based on the current ATR.
Stop Loss Multiplier (sl_mult)
• Function: Sets the Stop Loss (SL) distance as a configurable multiple of the current ATR (e.g., 1.5 × ATR).
• Technical Logic: The price level is calculated as: last_sl_price := close - (atr_val * sl_mult). The mathematical sign is reversed for short trades.
Take Profit Multiplier (tp_mult)
• Function: Sets the Take Profit (TP) distance as a configurable multiple of the current ATR (e.g., 3.0 × ATR).
• Technical Logic: The price level is calculated as: last_tp_price := close + (atr_val * tp_mult). The mathematical sign is reversed for short trades.
Structural SL Option
• Function: Provides an override to the ATR-based SL calculation. When enabled, it forces the Stop Loss to the Pre-Market High/Low (PMH/PML) level, aligning the stop with a key institutional structural boundary.
• Technical Logic: The indicator checks the use_struct_sl input. If true, the calculated last_sl_price is overridden with either pm_h_val or pm_l_val, dependent on the specific trade direction.
Trend Continuation Logic
• Function: Enables signal generation in established, strong trends (typically in the Afternoon session) based on follow-through momentum (a new high/low of the previous bar) combined with a high Signal Score, rather than exclusively relying on the initial PMH/PML breakout.
• Technical Logic: For a long signal, the is_cont_long logic specifically requires checks like active_bias == s_bull AND close > high , confirming follow-through momentum within the established regime.
Smart Snapping & Cleanup (16:00 Market Close)
• Function: To maintain chart cleanliness, all trade boxes (TP/SL), AI Prediction zones, Killzone overlays (NY AM/PM), and Liquidity lines (PDH/PDL) are automatically "snapped" and cut off precisely at 16:00 NY Time (Market Close).
• Technical Logic: When is_market_close condition is met (hour == 16 and minute == 0), the script executes cleanup logic that:
◦ Closes active trades and evaluates final P&L
◦ Snaps all TP/SL box widths to current bar
◦ Truncates AI Prediction ghost boxes at market close
◦ Cuts off NY AM/PM Killzone background fills
◦ Terminates PDH/PDL line extensions
◦ Prevents visual clutter from extending into post-market sessions
4. LIQUIDITY AND STRUCTURAL ANALYSIS
The indicator plots key structural levels that serve as high-probability magnet zones or areas of potential liquidity absorption.
• Pre-Market High/Low (PMH/PML): These are the high and low established during the configured pre-market session (ny_pre_sess). They define the primary structural breakout level for the day, often serving as the initial market inflection point or the key entry level for the morning session.
• PDH (Previous Day High): The high of the calendar day immediately preceding the current bar. This represents a key Liquidity Pool; large orders are often placed above this level, making it a frequent target for stop hunts or liquidity absorption by market makers.
• PDL (Previous Day Low): The low of the calendar day immediately preceding the current bar. This also represents a key Liquidity Pool and a high-probability reversal or accumulation point, particularly during the Killzones.
FIFO Array Management
The indicator uses FIFO (First-In-First-Out) array structures to manage liquidity lines and labels, automatically deleting the oldest objects when the count exceeds 500 to comply with drawing object limits.
5. AI PREDICTION BOX (PREDICTIVE MODEL)
Function: Analyzes AI scores and volatility to project predicted killzone ranges and duration with asymmetric directional bias.
A. DIRECTIONAL BIAS (ASYMMETRIC EXPANSION)
The prediction model calculates directional probability using the ML kernel's 252-day Normalized RSI (Z-Score) and Relative Volume (RVOL). The prediction box dynamically adjusts its range based on this probability to provide immediate visual feedback on high-probability direction.
Bullish Scenario (ml_prob > 1.0):
• Upper Range: Expands significantly (1.5x multiplier) to show the aggressive upside target
• Lower Range: Tightens (0.5x multiplier) to show the invalidation level
• Visual Intent: The box is visibly skewed upward, immediately communicating bullish bias without requiring numerical analysis.
Bearish Scenario (ml_prob < -1.0):
• Upper Range: Tightens (0.5x multiplier) to show the invalidation level
• Lower Range: Expands significantly (1.5x multiplier) to show the aggressive downside target
• Visual Intent: The box is visibly skewed downward, immediately communicating bearish bias.
Neutral Scenario (-1.0 < ml_prob < 1.0):
Both ranges use balanced multipliers, creating a symmetrical box that indicates uncertainty.
B. DYNAMIC VOLATILITY BOOSTER (SESSION-BASED ADAPTATION)
The prediction box adjusts its volatility multiplier based on the current session and market conditions to account for intraday volatility patterns.
AM Session (Morning: 07:00-12:00):
• Base Multiplier: 1.0x (Neutral Base)
• Logic: Morning sessions often contain false breakouts and noise. The base multiplier starts neutral to avoid over-projecting during consolidation.
• Trend Booster: Multiplier jumps to 1.5x when:
Price > London Session Open AND AI is Bullish (ml_prob > 0), OR
Price < London Session Open AND AI is Bearish (ml_prob < 0)
• Logic: When the London trend (typically 03:00-08:00 NY time) aligns with the AI model's directional conviction, the indicator aggressively targets higher volatility expansion. This filters for "institutional follow-through" rather than random morning chop.
PM Session (Afternoon: 13:00-16:00):
• Fixed Multiplier: 1.8x
• Logic: The PM session, particularly the 13:30-16:00 ICT Silver Bullet window, often contains the "True Move" of the day. A higher baseline multiplier is applied to emphasize this session's significance over morning noise.
Safety Floor:
A minimum range of 0.2% of the current price is enforced regardless of volatility conditions.
• Purpose: Maintains the prediction box visibility during extreme low-volatility consolidation periods where ATR might collapse to near-zero values.
Volatility Clamp Protection:
Maximum volatility is capped at three times the current ATR value. During flash crashes, circuit breaker halts, or large overnight gaps, raw volatility calculations can spike to extreme levels. This clamp prevents prediction boxes from expanding to unrealistic widths.
Technical Implementation:
f_get_ai_multipliers(float _prob) =>
float _abs_prob = math.abs(_prob)
float _range_mult = 1.0
float _dur_mult = 1.0
if _abs_prob > 30
_range_mult := 1.8
else if _abs_prob > 10
_range_mult := 1.2
else
_range_mult := 0.7
C. PRACTICAL INTERPRETATION
• Wide Upper Range + Tight Lower Range: Strong bullish conviction. The model expects significant upside with limited downside risk.
• Tight Upper Range + Wide Lower Range: Strong bearish conviction. The model expects significant downside with limited upside.
• Symmetrical Range: Neutral/uncertain market. Wait for directional confirmation before entry.
• Large Box (Extended Duration): High-confidence prediction expecting sustained movement.
• Small Box (Short Duration): Low-confidence or choppy conditions. Expect quick resolution.
III. PRACTICAL USAGE GUIDE: METHODOLOGY AND EXECUTION
A. ESTABLISHING TRADING CONTEXT (THE THREE CHECKS)
The primary goal of the dashboard is to filter out low-probability trade setups before they occur.
• Timeframe Selection: Although the core AI is normalized to the Daily context, the indicator performs optimally on intraday timeframes (e.g., 5m, 15m) where session-based volatility is most pronounced.
• PHASE Check (Timing): Always confirm the current phase. The highest probability signals typically occur within the visually highlighted NY AM/PM Killzones because this is when institutional liquidity and volume are at their peak. Signals outside these zones should be treated with skepticism.
• MARKET REGIME Check (Bias): Ensure the signal (BUY/SELL arrow) aligns with the established MARKET REGIME bias (BULLISH/BEARISH). Counter-bias signals are technically allowed if the score is high, but they represent a higher risk trade.
• VIX REGIME Check (Risk): Review the VIX REGIME for overall market stress. Periods marked DANGER (high VIX) indicate elevated volatility and market uncertainty. During DANGER regimes, reducing position size or choosing a wider SL Multiplier is advisable.
B. DASHBOARD INTERPRETATION (THE REAL-TIME STATUS DISPLAY)
The indicator features a non-intrusive dashboard that provides real-time, context-aware information based on the core analytical engines.
PHASE: (PRE-MARKET, NY-AM, LUNCH, NY-PM)
• Meaning: Indicates the current institutional session time. This is derived from the customizable session inputs.
• Interpretation: Signals generated during NY-AM or NY-PM (Killzones) are generally considered higher-probability due to increased institutional participation and liquidity.
MARKET REGIME: (BULLISH, BEARISH, NEUTRAL)
• Meaning: The established directional bias for the trading day, confirmed by the price breaking above the Pre-Market High (PMH) or below the Pre-Market Low (PML).
• Interpretation: Trading with the established regime (e.g., taking a BUY signal when the regime is BULLISH) is the primary method. NEUTRAL indicates that the PMH/PML boundary has not yet been broken, suggesting market ambiguity.
VIX REGIME: (STABLE, DANGER)
• Meaning: A measure of overall market stress and stability, based on the CBOE VIX index integration. The thresholds (20.0 and 35.0 default) are customizable by the user.
• Interpretation: STABLE indicates stable volatility, favoring momentum trades. DANGER (VIX > 35.0) indicates extreme stress; signals generated in this environment require caution and often necessitate smaller position sizing.
SIGNAL SCORE: (0 to 10+ Points)
• Meaning: The accumulated score derived from the VOLATILITY NORMALIZED AI SCORING ENGINE, factoring in bias, VWAP alignment, volume, and the Z-Score probability.
• Interpretation: The indicator generates a signal when this score meets or exceeds the Minimum Entry Score (default 3). A higher score (e.g., 7+) indicates greater statistical confluence and a stronger potential entry.
AI PROBABILITY: (Bull/Bear %)
• Meaning: Directional probability derived from the ML kernel, expressed as a percentage with Bull/Bear label.
• Interpretation: Higher absolute values (>20%) indicate stronger directional conviction from the ML model.
LIVE METRICS SECTION:
• STATUS: Shows current trade state (LONG, SHORT, or INACTIVE)
• ENTRY: Displays the entry price for active trades
• TARGET: Shows the calculated Take Profit level
• ROI | KILL ZONE:
◦ For Active Trades: Displays real-time P&L percentage during NY session hours.
◦ At Market Close (16:00 NY): Since this is a NY session-specific indicator, any active position is automatically evaluated and closed at 16:00. The final result (VALIDATED or INVALIDATED) is determined based on whether the trade reached profit or loss at market close.
◦ Result Persistence: The killzone result (VALIDATED/INVALIDATED) remains displayed on the dashboard until the next NY AM KILLZONE session begins, providing a clear performance reference for the previous trading day.
Note: If a trade is still trending at 16:00, it will be force-closed and evaluated at that moment, as the indicator operates strictly within NY trading hours.
C. SIGNAL GENERATION AND ENTRY LOGIC
The indicator generates signals based on two distinct technical setups, both of which require the accumulated SIGNAL SCORE to be above the configured Minimum Entry Score.
Breakout Entry
• Trigger Condition: Price closes beyond the Pre-Market High (PMH) or Low (PML).
• Rationale: This setup targets the initial directional movement for the day. A breakout confirms the institutional bias by decisively breaking the first major structural boundary, making the signal high-probability.
Continuation Entry
• Trigger Condition: The market is already in an established regime (e.g., BULLISH), and the price closes above the high (or below the low) of the previous bar, while the SIGNAL SCORE remains high. Requires the Allow Trend Continuation parameter to be active.
• Rationale: This setup targets follow-through trades, typically in the afternoon session, capturing momentum after the morning's direction has been confirmed. This filters for sustainability in the established trend.
Execution: Execute the trade immediately upon the close of the bar that prints the BUY or SELL signal arrow.
D. MANAGING RISK AND EXITS
1. RISK PARAMETER SELECTION
The indicator immediately draws the dynamic TP/SL zones upon entry.
• Volatility-Based (Recommended Default): By setting the SL Multiplier (e.g., 1.5) and the TP Multiplier (e.g., 3.0), the indicator enforces a constant, dynamically sized risk-to-reward ratio (e.g., 1:2 in this example). This helps that risk management scales proportionally with the current market volatility (ATR).
• Structural Override: Selecting the Use Structural SL parameter fixes the stop-loss not to the ATR calculation, but to the more significant structural level of the PMH or PML. This is utilized by traders who favor institutional entry rules where the stop is placed behind the liquidity boundary.
2. EXIT METHODS
• Hard Exit: Price hits the visual TP or SL box boundary.
• Soft Exit (Momentum Decay Filter): If the trade is active and the SIGNAL SCORE drops below the Exit Score Threshold (default 3), it indicates that the momentum supporting the trade has significantly collapsed. This serves as a momentum decay filter, prompting the user to consider a manual early exit even if the SL/TP levels have not been hit, thereby preserving capital during low-momentum consolidation.
• Market Close Auto-Exit: At 16:00 NY time, any active trade is automatically closed and classified as VALIDATED (profit) or INVALIDATED (loss) based on current price vs. entry price.
IV. PARAMETER REFERENCE AND CONFIGURATION
A. GLOBAL SETTINGS
• Language (String, Default: English): Selects the language for the dashboard and notification text. Options: English, Korean, Chinese, Spanish, Portuguese, Russian, Ukrainian, Vietnamese.
B. SESSION TIMES (3 BOX SYSTEM)
• PRE-MARKET (Session, Default: 0800-0930): Defines the session range used for Pre-Market High/Low (PMH/PML) structural calculation.
• REGULAR (Morning) (Session, Default: 0930-1200): Defines the core Morning trading session.
• AFTERNOON (PM) (Session, Default: 1300-1600): Defines the main Afternoon trading session.
• Timezone (String, Default: America/New_York): Sets the timezone for all session and time-based calculations.
C. NY KILLZONES (OVERLAYS)
• Show NY Killzones (Bool, Default: True): Toggles the translucent background fills that highlight high-probability trading times (Killzones).
• NY AM Killzone (Session, Default: 0700-1000): Defines the specific time window for the first key liquidity surge (Open overlap).
• NY PM Killzone (Session, Default: 1330-1600): Defines the afternoon liquidity window, aligned with the ICT Silver Bullet and PM Trend entry timing.
• Allow Entry in Killzones (Bool, Default: True): Enables or disables signal generation specifically during the defined Killzone hours.
• Activate AI Prediction Box (Bool, Default: True): Toggles the drawing of the predicted target range boxes on the chart.
D. CORE SCORING ENGINE
• Minimum Entry Score (Int, Default: 3): The lowest accumulated score required for a Buy/Sell signal to be generated and plotted.
• Allow Trend Continuation (Bool, Default: True): Enables the secondary entry logic that fires signals based on momentum in an established trend.
• Force Ignore Volume (Bool, Default: False): Overrides the volume checks in the scoring engine. Useful for markets where volume data is unreliable or nonexistent.
• Force Show Signals (Ignore Score) (Bool, Default: False): Debug mode that displays all signals regardless of score threshold.
• Integrate CBOE:VIX (Bool, Default: True): Enables the connection to the VIX index for market stress assessment.
• Stable VIX (<) (Float, Default: 20.0): VIX level below which market stress is considered low (increases score).
• Stress VIX (>) (Float, Default: 35.0): VIX level above which market stress is considered high (decreases score/flags DANGER).
• Use ML Probability (Bool, Default: True): Activates the volatility-normalized AI Z-Score kernel. Disabling this removes the cross-timeframe normalization filter.
• Max Learning History (Int, Default: 2000): Maximum number of bars stored in the ML training arrays.
• Normalization Lookback (252 Days) (Int, Default: 252): The number of DAILY bars used to calculate the Z-Score mean and standard deviation (representing approximately 1 year of data).
E. RISK MANAGEMENT (ATR MODEL)
• Use Structural SL (Bool, Default: False): Overrides the ATR-based Stop Loss distance to use the Pre-Market High/Low as the fixed stop level.
• Stop Loss Multiplier (x ATR) (Float, Default: 1.5): Defines the Stop Loss distance in multiples of the current Average True Range (ATR).
• Take Profit Multiplier (x ATR) (Float, Default: 3.0): Defines the Take Profit distance in multiples of the current Average True Range (ATR).
• Exit Score Threshold (<) (Int, Default: 3): The minimum score below which an active trade is flagged for a Soft Exit due to momentum collapse.
F. VISUAL SETTINGS
• Show Dashboard (Bool, Default: True): Toggles the real-time data panel.
• Show NY Killzones (Bool, Default: True): Toggles killzone background fills.
• Show TP/SL Zones (Bool, Default: True): Toggles the drawing of Take Profit and Stop Loss boxes.
• Show Pre-Market Extensions (Bool, Default: True): Extends PM High/Low lines across the entire chart for support/resistance reference.
• Activate AI Prediction Box (Bool, Default: True): Enable or disable the predictive range projection.
• Light Mode Optimization (Bool, Default: True): Toggles dashboard and plot colors for optimal visibility on white (light) chart backgrounds.
• Enforce Trend Coloring (Bool, Default: True): Forces candle colors based on Market Regime (Bullish=Cyan, Bearish=Pink) to emphasize trend direction.
• Label Size (String, Default: Normal): Options: Tiny, Small, Normal.
G. LIQUIDITY POOLS (PDH/PDL)
• Show Liquidity Lines (Bool, Default: True): Toggles the display of the Previous Day High (PDH) and Low (PDL) lines.
• Liquidity High Color (Color, Default: Green): Color setting for the PDH line.
• Liquidity Low Color (Color, Default: Red): Color setting for the PDL line.
🔔 ALERT CONFIGURATION GUIDE
The indicator is equipped with specific alert conditions.
How to Set Up an Alert:
Click the "Alert" (Clock icon) in the top TradingView toolbar.
Select "Market Regime NY Session " from the Condition dropdown menu.
Choose one of the specific trigger conditions below depending on your strategy:
🚀 Available Alert Conditions
1. BUY (Long Entry)
Trigger: Fires immediately when a confirmed Bullish Setup is detected.
Conditions: Market Bias is Bullish (or valid Continuation) + Signal Score ≥ Minimum Entry Score.
Usage: Use this alert to open new Long positions or close existing Short positions.
2. SELL (Short Entry)
Trigger: Fires immediately when a confirmed Bearish Setup is detected.
Conditions: Market Bias is Bearish (or valid Continuation) + Signal Score ≥ Minimum Entry Score.
Usage: Use this alert to open new Short positions or close existing Long positions.
V. IMPORTANT TECHNICAL LIMITATIONS
⚠️ Intraday Only (Timeframe Compatibility)
This indicator is strictly designed for Intraday Timeframes (1m to 4h).
Daily/Weekly Charts: The session logic (e.g., "09:30-16:00") cannot function on Daily bars because a single bar encompasses the entire session. Session boxes, TP/SL zones, and AI prediction boxes will NOT draw on the Daily timeframe. Only the PDH/PDL liquidity lines remain visible on Daily charts. This is expected behavior, not a limitation.
Maximum Supported Timeframe: All visual components (session boxes, killzone overlays, TP/SL zones, AI prediction boxes) are displayed up to the 4-hour timeframe. Above this timeframe, only PDH/PDL lines and the dashboard remain functional.
⚠️ Drawing Object Limit (Max 500)
A single script can display a maximum of 500 drawing objects (boxes/lines) simultaneously.
On lower timeframes (e.g., 1-minute), where many signals and session boxes are generated, older history (typically beyond 10-14 days) will automatically disappear to make room for new real-time data.
For deeper historical backtesting visualization, switch to higher timeframes (e.g., 15m, 1h).
The indicator implements FIFO array management to comply with this limit while maintaining the most recent and relevant visual data.
VI. PRACTICAL TRADING TIPS AND BEST PRACTICES
• Killzone Confirmation: The highest statistical validity is observed when a high-score signal occurs directly within a visible NY AM/PM Killzone. Use the Killzones as a strict time filter.
• Liquidity Awareness (PDH/PDL): Treat the Previous Day High (PDH) and Low (PDL) lines as magnets. If your dynamic Take Profit (TP) is placed just above PDH, consider adjusting your target slightly below PDH or utilizing the Soft Exit, as liquidity absorption at these levels often results in sudden, sharp reversals that stop out a trade just before the target is reached.
• VIX as a Position Sizer: During DANGER VIX regimes, the resulting high volatility means the ATR value will be large. It is prudent to either reduce the SL Multiplier or, more commonly, reduce the overall position size to maintain a constant currency risk exposure per trade.
• Continuation Filter Timing: Trend Continuation signals are most effective during the Afternoon (PM) session when the morning's directional breakout has had time to establish a strong, clear, and sustainable trend. Avoid using them in the initial AM session when the direction is still being contested.
• 16:00 Market Close Rule: All trades, boxes, and lines are automatically cleaned up at 16:00 NY time. This prevents overnight chart clutter and maintains visual clarity.
VII. DISCLAIMER & RISK WARNINGS
• Educational Purpose Only
This indicator, including all associated code, documentation, and visual outputs, is provided strictly for educational and informational purposes. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments.
• No Guarantee of Performance
Past performance is not indicative of future results. All metrics displayed on the dashboard (including "ROI" and trade results) are theoretical calculations based on historical data. These figures do not account for real-world trading factors such as slippage, liquidity gaps, spread costs, or broker commissions.
• High-Risk Warning
Trading cryptocurrencies, futures, and leveraged financial products involves a substantial risk of loss. The use of leverage can amplify both gains and losses. Users acknowledge that they are solely responsible for their trading decisions and should conduct independent due diligence before executing any trades.
• Software Limitations
The software is provided "as is" without warranty. Users should be aware that market data feeds on analysis platforms may experience latency or outages, which can affect signal generation accuracy.
fmfm12 chosen chart timeframe. It monitors the price to determine:
Whether resistance has been broken → BUY signal
Or support has been broken → SELL signal
After a breakout or breakdown, the indicator automatically draws price targets (T1 / T2 / T3) as percentages from the breakout point, and also displays FVG (Fair Value Gaps) zones that indicate imbalances between supply and demand.
⚙️ Main Components
Support and Resistance Levels (Key Levels)
Automatically calculated from the 4-hour timeframe (180 minutes).
Draws lines:
Green = Resistance
Red = Support
Option to display a midline (blue).
Line style (solid / dashed / dotted), thickness, and label size are customizable.
Trading Signals (Signals)
When resistance is broken upward → BUY signal (green).
When support is broken downward → SELL signal (red).
Signal size is adjustable (small / large, etc.).
Price Targets (Targets)
After confirming a breakout or breakdown, the indicator draws:
T1 / T2 / T3 as horizontal lines in the breakout direction.
Target percentages are adjustable (default: 0.5%, 1%, 1.5%).
Different colors for bullish and bearish targets.
Fair Value Gaps (FVG)
Detects bullish and bearish gaps within a set number of candles (default: 10).
Draws transparent colored zones:
Light Green = Bullish Gap
Light Red = Bearish Gap
📊 Practical Usage
Add the indicator to TradingView (paste the code into the Pine Editor, save, and add it to the chart).
When the price approaches a support or resistance line, observe:
ICT Fair Value Gaps [Zero-Noise Edition]ICT Fair Value Gaps
Overview
In the Smart Money Concepts (SMC) framework, clarity is the ultimate edge. Most FVG indicators clutter your screen with "ghost boxes" that remain long after they have been filled. This professional-grade tool identifies high-displacement institutional imbalances and automatically dissolves them the moment they are mitigated.
Key Features
Precision Detection : Uses the classic 3-candle displacement logic to identify institutional gaps.
Auto-Mitigation : Boxes are removed the moment price retraces and "fills" the imbalance, keeping your chart 100% clean.
High Performance : Optimized with array-based logic for zero-lag performance on all timeframes.
Built-in Alerts : Stay informed with real-time notifications when new institutional displacement occurs.
How to Trade This Tool
The Trigger : A new FVG box appears, confirming institutional "intent."
The Draw : Treat the open boxes as magnets for price (Draw on Liquidity).
The Entry : Wait for price to retrace and tap the edge of the "open" FVG.
The Exit : Use opposing mitigated zones or swing points for targets.
Customizable Settings
Visuals : Custom color palettes for Bullish and Bearish imbalances.
Labels : Toggle "FVG" text on or off for a minimalist HUD experience.
Logic : Option to hide filled gaps completely for the ultimate zero-noise experience.
Global Compatibility
Tested and optimized for:
Forex : EURUSD, GBPUSD, AUDUSD.
Indices : US30, NAS100, DAX40.
Commodities : Gold (XAUUSD), Silver, Oil.
Crypto : BTCUSD, ETHUSD.
Authors Note
This script is written in Pine Script v6 . It is designed for traders who prioritize accuracy over "noisy" indicators. If you find value in this tool, please leave a Boost and follow for more SMC tool releases!
Simple ATR Trailing StopThis Pine Script v6 indicator overlays a Chandelier Exit-style ATR trailing stop on TradingView charts. It calculates volatility using ATR(14) with a customizable multiplier (default 3.0), plotting green long stops below highs and red short stops above lows. Ideal for swing trading, it dynamically adjusts exits to lock in profits while adapting to market volatility—toggle lines for longs/shorts as needed.
Simple ATR Trailing StopThis Pine Script v6 indicator overlays a Chandelier Exit-style ATR trailing stop on TradingView charts. It calculates volatility using ATR(14) with a customizable multiplier (default 3.0), plotting green long stops below highs and red short stops above lows. Ideal for swing trading, it dynamically adjusts exits to lock in profits while adapting to market volatility—toggle lines for longs/shorts as needed.
Volume-Weighted Hybrid Channel [Capitalize Labs]Volume-Weighted Hybrid Channel (VWHC) is a channel-only indicator designed to visualise mean and volatility structure using a blended framework. It combines a configurable mean engine (SuperSmoother, EMA, SMA, or RMA) with an anchored VWAP component, then builds a four-level band ladder around a hybrid mean using a hybrid width that blends a range engine (ATR or true range variants) with anchored, volume-weighted standard deviation. The result is a smooth, adaptive channel intended to help us contextualise price location and volatility expansion or contraction relative to the hybrid mean.
The indicator supports Weekly or Session anchoring for the VWAP and sigma components, and includes optional transition smoothing after anchor resets to reduce visual stepping. Band levels are user-defined (with automatic ordering enforcement), and optional gradient fills can be enabled for clearer zone recognition. An optional Band Occupancy Table is included to show how frequently price closes inside each zone, either over a rolling lookback or since the most recent anchor reset. This table is informational only and does not generate signals.
This script is an indicator, not a strategy. It does not place trades, generate alerts, or provide entry or exit instructions. Outputs depend on chart symbol, timeframe, and data quality, including volume availability. The channel is designed to be non-repainting in the sense that it uses confirmed bar data and does not use forward-looking logic; however, like all indicators, the current bar can update until it closes.
Risk Warning
This material is educational research only and does not constitute financial advice, investment recommendation, or a solicitation to buy or sell any instrument. Foreign exchange and CFDs are complex, leveraged products that carry a high risk of rapid losses; leverage amplifies both gains and losses, and you should not trade with funds you cannot afford to lose. Market conditions can change without notice, and news or illiquidity may cause gaps and slippage; stop-loss orders are not guaranteed.
The analysis presented does not take into account your objectives, financial situation, or risk tolerance. Before acting, assess suitability in light of your circumstances and consider seeking advice from a licensed professional. Past performance and back-tested or hypothetical scenarios are not reliable indicators of future results, and no outcome or level mentioned here is assured. You are solely responsible for all trading decisions, including position sizing and risk management. No external links, promotions, or contact details are provided, in line with TradingView House Rules.
Disclaimer
Use of this indicator is at our own discretion and risk. It is a visual analysis tool and should be validated through independent testing and a documented trading plan before being used in live decision-making.
Session Lines + ATR AnalyticsDescription:
Overview:
A comprehensive trading tool that combines session visualization with real-time ATR analytics. Perfect for intraday traders who need precise timing and volatility measurements.
Features:
Session Markers
Visual indicators for Asia (00:00-08:00), London (07:00-15:00), and New York (13:00-21:00) trading sessions
Color-coded session bands at the bottom of the chart for quick identification
Fully customizable session times and colors
Hourly Vertical Lines
Automatic vertical lines drawn at the start of each hour (works on 1-minute charts)
Multiple line styles available: solid, dotted, dashed, arrows
Adjustable color and width settings
Helps identify exact timing of price movements
ATR Tool
Real-time candle range measurement
Modified ATR calculation (excludes current candle for accuracy)
Customizable ATR length and multiplier
Live countdown timer showing time remaining in current timeframe
Floating label with adjustable offset and styling
Date & Timeframe Display
Bottom-right watermark showing current date in LA timezone
Displays current timeframe with proper units (1m, 5m, 1H, etc.)
Useful for backtesting to confirm you're viewing the correct date
Best Used For:
Day trading and scalping (especially on 1-minute charts)
Session-based trading strategies
Volatility analysis using ATR
Time-based entry and exit planning
Settings:
All elements are fully customizable through the indicator settings panel, including colors, sizes, visibility toggles, and calculation parameters.
[codapro] Confirmed Supertrend Flags
Confirmed Supertrend Flags — Delayed Flip Confirmation
Description:
This script enhances the classic Supertrend by adding a confirmation delay after trend flips, helping traders filter noise and avoid premature entries in volatile environments.
Key Features:
ATR-based Supertrend stop level calculation
Confirmation logic: buy/sell flags appear only after N full bars confirm the new direction
Optional Supertrend stop line for visual tracking
Fully adjustable flag size, color, label, and placement
This is ideal for swing traders, trend followers, or anyone building a system that prefers confirmation over early guessing.
How It Works:
A trend flip is detected when price closes beyond the Supertrend stop level.
The indicator waits for a set number of bars to close in the new direction.
After confirmation, a visual flag is plotted: buy below bar, short above bar.
How to Extend with Risk Management:
While this script focuses on trend confirmation visualization, you can enhance your decision-making by combining it with risk rules:
Stop Loss: Set SL just beyond the last Supertrend level before confirmation
ATR-Based Sizing: Use the same ATR value to dynamically size your position based on volatility
Fixed % Rule: Risk a fixed % of capital per confirmed flip (e.g., 1–2%)
Time-Based Exit: Exit trades that don’t follow through within N bars post confirmation
Stack with Strategy: Use this confirmation logic to trigger entries in a separate strategy script where strategy.entry() and strategy.exit() can be defined with precise risk parameters
Want a full example of how to integrate that? Let me know and I’ll turn this into a plug-and-play strategy version.
Disclaimer:
This tool was developed as part of the codapro AI engine — a modular signal and automation layer for trading systems.
It is for educational and informational purposes only and is not financial advice. Always backtest and verify before live deployment.






















