Guneet-ScalperBearish trend candle color change to red with sell print
Bullish trend candle color change to green with buy print
thanks
jas toor
스크립트에서 "bear"에 대해 찾기
Trend Stress Quant [MarkitTick]💡This indicator combines a liquidity-based stress model with a dynamic linear regression channel to identify potential market exhaustion points and assess trend quality. By merging volume impact analysis with statistical deviation, this tool aims to highlight moments where price action may be overextended relative to the underlying liquidity conditions.
● Originality and Utility
Standard volatility indicators often rely solely on price range (like Bollinger Bands). This script introduces a Stress Engine that normalizes the relationship between Price Range (True Range) and Volume. This helps distinguish between healthy price movements and liquidity-stress events (illiquidity). Furthermore, instead of using a fixed-length channel, this tool offers a Dynamic Mode that anchors the regression channel to recent pivot points, ensuring the statistical analysis aligns with the current market structure rather than an arbitrary timeframe.
● Methodology
The script operates on two distinct mathematical models:
• Illiquidity Stress Engine
The core formula calculates a raw illiquidity metric based on the log-normal distribution of the ratio between True Range and Volume. A Z-Score (standard score) is then derived from this data over a specific lookback period. High Z-Scores indicate that price is moving disproportionately fast relative to the available volume, often a signature of panic selling or euphoric buying (exhaustion).
• Linear Regression Channel
The script calculates an Ordinary Least Squares (OLS) regression line (the line of best fit) to determine the mean price trend.
Standard Deviation Bands are plotted parallel to this mean.
Pearson Correlation Coefficient (R) is calculated to quantify the strength of the linear trend. Values closer to 1 or -1 indicate a strong trend, while values near 0 indicate a chaotic or ranging market.
📑 How to Use
Traders can utilize the visual outputs for mean reversion or trend continuation context:
• Exhaustion Signals (SE / BE Labels)
SE (Seller Exhaustion): Appears when the market is in a downtrend, but the Stress Engine detects a statistical anomaly (High Z-Score) on a down candle. This suggests panic selling may be peaking.
BE (Buyer Exhaustion): Appears when the market is in an uptrend, but the Stress Engine detects high stress on an up candle, suggesting a potential blow-off top.
• Regression Channel
The dashed middle line represents the fair value (mean) of the current trend.
The outer bands represent statistical extremes. Price interacting with the outer bands (default 2 Standard Deviations) while coincident with an Exhaustion Signal provides a high-confluence area of interest.
• Metrics Dashboard
A dashboard displays the current Trend Regime, Exhaustion Status, and Channel Width (volatility percentage).
● Settings
• Exhaustion Model
Trend Filter Length: Sets the baseline EMA to determine if the market is bullish or bearish.
Stress Threshold (Sigma): The Z-Score required to trigger an exhaustion signal (default is 2.0).
• Channel Configuration
Dynamic Pivot Mode: If enabled, automatically calculates the channel length based on recent pivots. If disabled, uses the Fixed Length.
Standard Deviations: Controls the width of the inner and outer channel bands.
📖This guide explains how to interpret and utilize signals for trading:
The script is designed primarily for Mean Reversion and Exhaustion trading strategies.
● The Core Strategy: Volatility Exhaustion
The script uses a "Stress Engine" to identify when price movement is statistically overextended relative to the available liquidity (Volume).
• Setup A: The "Seller Exhaustion" (Bullish Bounce)
Look for this setup during a downtrend to catch a temporary bottom or a reversal.
Trend Condition: The dashboard shows Bearish (Price is below the trend filter).
Trigger: The label SE (Seller Exhaustion) appears below a candle.
Why? This indicates that selling pressure was intense but likely panic-driven (High Z-Score/Stress) and may be drying up.
Confluence: Ideally, this signal appears when the price is touching or piercing the Lower Channel Band (dotted or solid lines).
Action: Traders often use this as a signal to close Short positions or enter a speculative Long (counter-trend) targeting the middle line.
• Setup B: The "Buyer Exhaustion" (Bearish Pullback)
Look for this setup during an uptrend to catch a local top.
Trend Condition: The dashboard shows Bullish .
Trigger: The label BE (Buyer Exhaustion) appears above a candle.
Why? This indicates euphoric buying on low liquidity or extreme volatility that is statistically unsustainable.
Confluence: Look for price rejection at the Upper Channel Band.
Action: Traders often use this to close Long positions or enter a Short targeting the mean.
● The Filter: Trend & Correlation
The script includes a Linear Regression Channel that quantifies the quality of the trend.
• Channel Slope
If the channel is angling steeply up or down, the trend is strong.
• Pearson R (Correlation)
The script calculates the Pearson R coefficient.
Weak Correlation: If the channel turns Gray/Neutral (or the fill becomes weak), it means the correlation is below the threshold (default 0.5).
Trading Rule: Avoid trading exhaustion signals when the channel is Gray/Neutral, as the market is likely chopping sideways with no clear direction.
● Risk Management & Targets
• Stop Loss
Since this is a volatility tool, a common technique is to place stops just outside the Outer Deviation Band (the widest line). If price expands beyond the outer band with no exhaustion signal, the trend may be entering a "runaway" phase.
• Take Profit
Target 1: The Middle Regression Line (The dashed center line). Prices tend to revert to this mean after an exhaustion event.
Target 2: The opposite channel band (e.g., if you bought at the bottom, hold until the top).
● Summary of Dashboard Metrics
The table on your chart provides a quick snapshot:
Trend Regime: Tells you if you should fundamentally look for Shorts (Bearish) or Longs (Bullish).
Seller/Buyer Status: Alerts you if the current bar is EXHAUSTED or Normal .
Channel Width %: Indicates volatility. If the width is very low (percentage is small), a breakout might be imminent (squeezing). If high, be careful of chop.
⚙️ Indicator settings
• Signal Parameters
Exhaustion & Stress Model: Controls signal sensitivity.
Trend Filter: Decides if the market is Bullish or Bearish.
Stress Threshold (Sigma): Higher values (e.g., 2.5) make the script stricter, showing fewer but potentially stronger signals.
• Channel Configuration
Dynamic Pivot Mode: If ON, the channel length auto-adjusts to recent market pivots. If OFF, it uses the Fixed Length you set.
Channel Bands: Adjusts the channel width.
Outer Deviation: The boundary for "extreme" moves. Price hitting this often signals a reversal.
• Quality Filter
Filter Weak Correlations: If enabled, the channel turns gray during choppy/sideways markets to warn you not to trust trend signals.
• Visuals
Display Options: Toggles the "Stats" dashboard and adjusts volatility coloring.
● Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
RegimeLens [JOAT]RegimeLens — Market Regime Detection and Classification
RegimeLens identifies whether the market is in a Trending, Ranging, or Volatile state using a proprietary combination of trend strength analysis, volatility measurement, and percentile-based classification. Understanding the current market regime helps traders adapt their approach to current conditions—because the strategy that works in a trend will fail in a range.
Why This Script is Protected
This script is published as closed-source to protect the proprietary regime classification algorithm and the specific threshold calibration methodology from unauthorized republishing. The unique combination of ADX analysis, Bollinger Band width percentiles, ATR percentile ranking, and the transition zone logic represents original work that goes beyond standard regime detection approaches.
What Makes This Indicator Unique
Unlike simple trend indicators, RegimeLens:
Classifies markets into four distinct regimes, not just "trending" or "not trending"
Uses percentile-based volatility analysis for more adaptive classification
Includes a transition zone logic to prevent rapid regime flip-flopping
Tracks regime duration and strength for additional context
Provides visual regime changes with on-chart labels
What This Indicator Does
Classifies market into four regimes: Trend Up, Trend Down, Ranging, or Volatile
Displays Bollinger Bands colored according to current regime
Marks regime changes with on-chart labels
Colors price bars according to detected regime
Tracks regime duration and strength metrics
Provides comprehensive dashboard with all regime metrics
Core Methodology
The indicator analyzes multiple market dimensions to determine the current regime:
Trend Strength Analysis (ADX) — Measures directional movement strength regardless of direction. High ADX indicates trending; low ADX indicates ranging.
Directional Bias (DI+ vs DI-) — Determines whether bullish or bearish forces dominate when a trend is detected.
Volatility Expansion/Contraction (BB Width) — Tracks Bollinger Band width relative to historical norms using percentile ranking.
ATR Percentile Ranking — Compares current ATR to its historical distribution to identify abnormally high volatility conditions.
Regime Definitions
Trend Up (Green) — ADX above trending threshold with DI+ > DI- and price above basis. Strong directional movement with bullish bias confirmed.
Trend Down (Red) — ADX above trending threshold with DI- > DI+ and price below basis. Strong directional movement with bearish bias confirmed.
Ranging (Yellow) — ADX below ranging threshold indicating sideways consolidation. Low directional strength suggests mean-reversion strategies may work better.
Volatile (Purple) — Both ATR percentile AND BB width percentile above the high volatility threshold. Indicates unstable, potentially dangerous conditions where normal strategies may fail.
The classification uses a priority system where high volatility conditions take precedence, followed by trend strength evaluation, with ranging as the default state for low-activity periods.
Regime Strength Calculation
Each regime has an associated strength score (0-100%) that indicates how firmly the market is in that state:
For trends: Based on ADX relative to threshold plus BB percentile
For ranging: Based on inverse ADX plus inverse BB percentile
For volatile: Based on ATR percentile
This helps identify when regime transitions may be approaching—declining strength often precedes regime changes.
Visual Features
Regime-Colored Bollinger Bands — Upper, basis, and lower bands all colored by current regime
Band Fill — 85% transparent fill between bands in regime color
Background Highlighting — Optional 90% transparent background in regime color
Regime Change Labels — On-chart markers when regime changes (arrows for trends, diamond for range, X for volatile)
Bar Coloring — Optional price bar coloring by regime
Color Scheme
Trend Up Color — Default: #00C853 (bright green)
Trend Down Color — Default: #FF1744 (bright red)
Range Color — Default: #FFD600 (yellow)
Volatile Color — Default: #AA00FF (purple)
Dashboard Information
The on-chart table (top-right corner) displays:
Current regime name with color coding
ADX value (highlighted if above trend threshold)
DI+ / DI- comparison with directional coloring
Bollinger Band width percentage
Volatility percentile (highlighted if above volatile threshold)
Regime strength percentage
Duration in bars since last regime change
Inputs Overview
Detection Settings:
ADX Length — Period for ADX/DI calculation (default: 14, range: 5-50)
BB Length — Period for Bollinger Bands (default: 20, range: 10-100)
BB Multiplier — Standard deviation multiplier (default: 2.0, range: 1.0-4.0)
ATR Length — Period for ATR calculation (default: 14, range: 5-50)
Thresholds:
Trending ADX Threshold — ADX level above which market is considered trending (default: 25, range: 15-50)
Ranging ADX Threshold — ADX level below which market is considered ranging (default: 20, range: 10-40)
High Volatility Percentile — Percentile above which volatile regime is triggered (default: 75, range: 50-95)
Visual Settings:
Trend Up/Down/Range/Volatile Colors — Fully customizable color scheme
Show Background — Toggle regime-colored background
Show Regime Bands — Toggle Bollinger Bands display
Show Dashboard — Toggle the information table
Color Price Bars — Toggle bar coloring by regime
How to Use It
Strategy Selection:
Trend Up/Down — Use trend-following strategies (breakouts, pullbacks, moving average systems)
Ranging — Use mean-reversion strategies (support/resistance bounces, oscillator extremes)
Volatile — Reduce position size, widen stops, or stay flat until conditions stabilize
For Regime Change Trading:
Watch for regime change labels as potential entry points
Trend regime starting often signals breakout opportunity
Ranging regime starting after trend may signal consolidation before continuation
Volatile regime is a warning to be cautious
For Risk Management:
Increase position size during strong trend regimes
Decrease position size during volatile or ranging regimes
Use regime strength to gauge conviction
Monitor duration—very long regimes may be due for change
Alerts Available
MRD Trend Up — Market regime changed to trending bullish
MRD Trend Down — Market regime changed to trending bearish
MRD Ranging — Market regime changed to sideways consolidation
MRD Volatile — Market regime changed to high volatility state
MRD Any Change — Notification on any regime transition
Best Practices
Don't fight the regime—adapt your strategy to current conditions
Volatile regime is a warning sign, not a trading signal
Use regime strength to gauge how established the current state is
Combine with other indicators appropriate for the detected regime
This indicator is provided for educational purposes. It does not constitute financial advice. Past performance does not guarantee future results. Always conduct your own analysis and use proper risk management before making trading decisions.
— Made with passion by officialjackofalltrades
Quantum Ribbon Pro📊 WHAT IS QUANTUM RIBBON PRO?
Quantum Ribbon Pro is a trend trading system built on a 5-layer adaptive EMA ribbon with multi-timeframe confirmation, advanced risk management, and custom alert automation.
It's designed for traders who want clear entries, precise risk control, and the flexibility to automate their trading — all from one indicator.
If you've used Quantum Ribbon Lite, this is the full system with HTF filtering, partial take profits, break-even automation, session control, and webhook-ready alerts.
🚀 PRO FEATURES
Multi-Timeframe Confirmation
Filter your signals using a secondary timeframe for trend alignment. Choose any timeframe from 15m to Weekly. Option to display the MTF ribbon directly on your chart.
Partial Take Profits
Scale out of positions like a professional. Set TP1, TP2, and final target levels with customizable percentages. The indicator tracks your remaining position size in real-time.
Break-Even Protection
Automatically move your stop loss to entry price after hitting TP1 or TP2. Lock in gains and let winners run with zero risk.
Session Filter
Trade only during your preferred market hours. Fully customizable start and end times. Avoid choppy overnight sessions or news events.
Custom Alert Templates
Four built-in alert formats including JSON for webhook and bot integrations. Or build your own template using placeholders for entry price, stop loss, take profit, position size, and more.
Custom Signal Codes
Add your own identifiers to each signal for automation workflows. Useful if you're routing alerts to multiple bots or tracking different setups.
🔧 HOW THE CORE SYSTEM WORKS
The Ribbon System
The indicator uses 5 pairs of EMAs (10 moving averages total) that create colored "clouds" on your chart:
Blue/Teal ribbons indicate bullish alignment
Red/Pink ribbons indicate bearish alignment
Mixed colors indicate neutral or transitional periods
The ribbon spacing automatically adjusts from a fast EMA (21) to a slow EMA (60), creating layers that show trend strength and direction.
Signal Generation
Signals appear when multiple conditions align:
For LONG signals:
Fast EMAs above slow EMAs
Price momentum positive and strong (> 0.5 ATR)
Volume above average (> 1.1x)
Ribbon confirms bullish state
Confidence threshold met
MTF trend aligned (if enabled)
Within active session (if enabled)
For SHORT signals:
Opposite conditions apply.
Green "BUY" or Red "SELL" labels appear at candle close. All signals confirmed — no repainting.
Risk Management Lines
Lines appear when you have an active position:
White dotted line = Entry price
Red dotted line = Stop loss level
Green dotted lines = Take profit targets (TP1, TP2, Final TP in Pro)
Performance Dashboard
The stats table shows:
Current position status (In Long/Short or Waiting for signal)
Entry, stop, and target prices when in a trade
Win/loss record
Win rate percentage with color coding
⚙️ SETTINGS
Signal Settings
Signal Sensitivity (1-10): Controls the minimum time between signals (cooldown period)
1 = 2 bars between signals (most frequent)
5 = 10 bars between signals (balanced)
10 = 20 bars between signals (most selective)
Signal Mode: Choose ribbon-based or momentum-based signal generation
Break-Even
Break-Even Trigger: Choose which TP level moves stop to entry
Options: After TP1 / After TP2 / Disabled
Multi-Timeframe
Enable MTF Confirmation: Filter signals by higher/lower timeframe trend
Select from 15m, 30m, 1H, 2H, 4H, Daily, Weekly
Display higher/lower timeframe ribbon directly on your chart
Session Filter
Enable Session Filter: Only generate signals during specified hours
Session Start: Set start time (e.g., 09:30)
Session End: Set end time (e.g., 16:00)
Timezone: Select your local timezone
Alerts
Alert Format: Choose from 4 formats
Standard: Basic signal info
Detailed: Full trade parameters
JSON: For webhook/bot integrations
Custom: Build your own templat
🎯 RISK MANAGEMENT
Stop Loss Calculation
Stops are based on ATR (Average True Range) which measures recent price volatility:
In quiet markets: Stops are placed closer to entry
In volatile markets: Stops are placed further away
This adaptive approach helps prevent stop-hunting while maintaining appropriate risk levels.
Alternatively, use percentage-based stops for fixed distance regardless of volatility.
Take Profit Calculation
Targets are calculated as a multiple of your stop distance:
If stop is 50 points away and you use 2R, target is 100 points away
Maintains consistent risk-reward ratios across all trades
Partial Take Profits
Scale out of positions to lock in profits while letting winners run
TP1: Close first portion (e.g., 50%) at conservative target
TP2: Close second portion (e.g., 25%) at intermediate target
Final: Remaining position (e.g., 25%) runs to full target
Combined with break-even protection, this creates a "risk-free" trade after TP1.
Required Win Rates
To break even after fees:
1.5R requires ~40% win rate
2R requires ~34% win rate
3R requires ~25% win rate
📊 RECOMMENDED USAGE
Timeframes
Daily charts show strongest performance in testing
1H, 4H works well with HTF confirmation enabled
Lower timeframes generate more signals but reduced quality — use tight filters
Markets
Works on all instruments: Stocks, Forex, Crypto, Futures, Indices
Best suited for trending markets
May generate false signals in tight ranges or choppy conditions
Use HTF filter to avoid counter-trend trades in ranging markets
Works on any market (Forex, Crypto, Stocks, Futures, Indices)
Free Lite version available for testing core functionality before purchase. No leverage recommendations — risk management is your responsibility.
📌 DISCLAIMER
This indicator is a tool to assist your trading decisions, not a guarantee of profits. Past performance does not guarantee future results. Always use proper risk management and never trade with money you cannot afford to lose. You are solely responsible for your trading decisions.
QMF- Market Structure & Signal Suite [BullByte]QUANTUM MOMENTUM FUSION - Market Structure and Signal Suite
OVERVIEW
Quantum Momentum Fusion is a comprehensive market analysis framework built around a multi-dimensional momentum oscillator. This indicator was designed to give traders a complete analytical workspace in a single tool, combining momentum measurement, market structure identification, trendline analysis, divergence detection, and multi-timeframe context into one unified system.
The core philosophy behind QMF is that successful trading decisions come from understanding multiple aspects of market behavior simultaneously, not from relying on any single indicator or signal. The oscillator serves as the analytical foundation, and every other component builds upon it to create a complete picture of current market conditions.
This description will walk through each component of the indicator, explaining what it measures, why that information matters, and how to interpret what you see on the chart. Whether you are an experienced trader familiar with oscillator analysis or newer to technical indicators, each section aims to make the concepts accessible and practical.
THE QUANTUM ENGINE: UNDERSTANDING THE CORE OSCILLATOR (why its original and not a mashup)
At the heart of this indicator is the Quantum Momentum Fusion oscillator, displayed in its own pane below the price chart. Unlike traditional oscillators that measure a single aspect of price behavior, the QMF oscillator synthesizes four distinct market dimensions into one unified reading.
WHAT IS AN OSCILLATOR
For those less familiar with the term, an oscillator is a technical indicator that fluctuates between defined boundaries, typically showing whether an asset is experiencing strong buying pressure, strong selling pressure, or neutral conditions. The QMF oscillator moves between 0 and 100, with 50 representing the neutral midpoint.
When the oscillator is high (above 70), it suggests the market has experienced significant upward momentum and may be approaching exhaustion. When low (below 30), it suggests the market has experienced significant downward momentum and may be due for a bounce. The space between these extremes represents normal market fluctuation.
THE FOUR DIMENSIONS
What makes the QMF oscillator different from standard momentum indicators is that it combines four separate measurements into its calculation. Each dimension captures a different aspect of market behavior:
VELOCITY DIMENSION
This measures how quickly momentum itself is changing. Think of it like acceleration in a car. Knowing the car is moving forward (direction) is useful, but knowing whether the driver is pressing the accelerator or the brake (acceleration) tells you what is likely to happen next. The velocity dimension calculates the rate of change of the rate of change, providing early warning when momentum is about to shift direction. In practical terms, this can show momentum weakening before price actually reverses.
Why it matters: Price can continue in one direction for a while even after the underlying momentum starts to fade. By measuring acceleration, you can identify potential turning points earlier than with simple momentum indicators.
How it appears: This dimension is calculated internally and combined with the others. You do not see it separately, but its effect shows in the oscillator responding earlier to momentum shifts.
VOLUME DIMENSION
This measures price movement weighted by trading volume. A price move accompanied by high volume has different significance than the same price move on low volume. High volume suggests conviction and participation from larger traders. Low volume suggests the move may lack follow-through.
The volume dimension multiplies price change by a volume ratio (current volume compared to average volume), giving greater weight to moves that have volume confirmation behind them.
Why it matters: Volume often precedes price. Strong volume on a move suggests institutional participation and increases the probability that the move will continue. Weak volume on a move suggests it may be easily reversed.
How it appears: Moves with strong volume conviction will push the oscillator more definitively, while low-volume moves will have muted effect on the reading.
VOLATILITY DIMENSION
This normalizes price movement against the current volatility environment. Markets go through periods of high volatility (large price swings) and low volatility (small price swings). A 1% move during a low volatility period is more significant than a 1% move during a high volatility period.
The volatility dimension divides price change by Average True Range (ATR), which measures typical price range. This tells you whether current movement is significant relative to what is normal for this market right now.
Why it matters: Without volatility normalization, the oscillator would react the same way to all price moves regardless of context. By adjusting for volatility, the oscillator identifies moves that are genuinely significant versus normal noise within the current regime.
How it appears: During quiet markets, smaller price moves can still register as significant if they exceed normal volatility. During volatile markets, the oscillator will not overreact to moves that are within expected range.
SESSION DIMENSION
This tracks where price is positioned relative to the session Volume Weighted Average Price (VWAP). VWAP represents the average price at which trading has occurred during the session, weighted by volume. Institutional traders often use VWAP as a benchmark for fair value.
When price is consistently above VWAP, it suggests buyers are willing to pay above average prices, indicating accumulation. When price is consistently below VWAP, it suggests sellers are accepting below average prices, indicating distribution.
Why it matters: VWAP positioning provides insight into whether institutional traders are likely accumulating or distributing. Price repeatedly returning to and bouncing from VWAP can indicate support, while price repeatedly failing at VWAP can indicate resistance.
How it appears: The session dimension contributes bullish readings when price maintains above VWAP and bearish readings when price maintains below VWAP.
ADAPTIVE WEIGHTING
The four dimensions are combined using configurable weights, and the system can operate in Adaptive Mode. When Adaptive Mode is enabled, the indicator automatically adjusts its sensitivity based on the current volatility regime. During high volatility periods, sensitivity increases to capture larger moves. During low volatility periods, sensitivity decreases to filter out noise.
This means the oscillator adapts to changing market conditions without requiring manual adjustment.
READING THE OSCILLATOR: DISPLAY MODES AND ZONES
The QMF oscillator can be displayed in four different visual formats. Each shows the same underlying data but presents it differently based on trader preference.
ENERGY CANDLES
This mode displays the oscillator as candlestick-style candles. Just as price candles show open, high, low, and close for price, energy candles show these values for the QMF oscillator.
Green candles indicate the oscillator closed higher than it opened (bullish momentum). Red candles indicate the oscillator closed lower than it opened (bearish momentum). The body size shows how much the oscillator moved during the period. Larger bodies indicate stronger momentum conviction.
This format is useful for traders who are comfortable reading candlestick patterns and want to apply similar visual analysis to the oscillator.
QMF LINE
This mode displays the oscillator as a traditional line chart with a signal line overlay. The main QMF line shows current momentum. The signal line is a smoothed average of the QMF that helps identify direction changes.
When the QMF line is above the signal line, momentum is bullish. When below, momentum is bearish. Crossovers between the two lines can indicate momentum shifts.
This format is familiar to traders who use indicators like MACD and prefer clean line-based visualization.
IMPULSE BARS
This mode displays the oscillator as a histogram centered on the 50 midline. Bars above 50 indicate bullish momentum, bars below 50 indicate bearish momentum. Bar height shows momentum strength.
The color intensity changes based on momentum direction. Bars that are increasing in the bullish direction show brighter color. Bars that are decreasing show muted color. This makes it easy to see momentum acceleration and deceleration at a glance.
HEIKIN FLOW
This mode applies Heikin-Ashi smoothing to the energy candles. Heikin-Ashi is a Japanese technique that averages price data to create smoother trends with fewer reversals.
The result is cleaner visual trends that are easier to follow, though with slightly more lag than standard energy candles. This format is useful for identifying sustained momentum moves without getting distracted by minor fluctuations.
OSCILLATOR ZONES
Regardless of display mode, the oscillator pane includes horizontal reference lines that define important zones:
Midline at 50: The neutral point. When the oscillator is above 50, overall momentum is bullish. When below 50, overall momentum is bearish.
Overbought level at 70: When the oscillator crosses above this level, the market is showing strong bullish momentum. However, this also means prices have risen significantly and bearish reversal probability increases the longer the oscillator stays elevated.
Oversold level at 30: When the oscillator crosses below this level, the market is showing strong bearish momentum. However, this also means prices have fallen significantly and bullish reversal probability increases.
Extreme overbought at 85: Maximum bullish exhaustion. At this level, almost all short-term buying pressure has been expended. Reversal probability is high.
Extreme oversold at 15: Maximum bearish exhaustion. At this level, almost all short-term selling pressure has been expended. Reversal probability is high.
Understanding these zones helps you assess the current market condition before looking at any other indicator components.
MARKET STRUCTURE: DYNAMIC SUPPORT AND RESISTANCE
The second major component of the indicator is market structure analysis through dynamic support and resistance levels. Unlike price-based support and resistance, these levels are calculated directly on the oscillator.
WHAT ARE OSCILLATOR-BASED S/R LEVELS
When the QMF oscillator reaches a high point and then reverses lower, that high point becomes a resistance level on the oscillator. When the oscillator reaches a low point and then reverses higher, that low point becomes a support level.
These levels represent momentum thresholds that the market has previously found difficult to exceed. They answer the question: At what momentum reading has the oscillator historically reversed?
WHY THIS MATTERS
Oscillator support and resistance provides different information than price support and resistance. Price S/R tells you where buyers and sellers have previously entered the market. Oscillator S/R tells you what level of momentum the market has been able to sustain.
If the oscillator approaches its resistance level, it suggests momentum is reaching the upper bounds of what has been achievable recently. Either momentum will break through (indicating unusually strong conditions) or it will reverse (indicating normal mean reversion).
Similarly, if the oscillator approaches support, it suggests momentum is reaching exhaustion levels that have previously triggered bounces.
HOW IT APPEARS ON THE CHART
Resistance is displayed as a horizontal red line with a RES label on the oscillator pane. Support is displayed as a horizontal cyan line with a SUP label. These lines update dynamically as new pivots form.
When the oscillator breaks through these levels, markers appear:
R with up arrow: Resistance level broken, indicating unusually strong bullish momentum
S with down arrow: Support level broken, indicating unusually strong bearish momentum
R with checkmark: Resistance held, price rejected at this level
S with checkmark: Support held, price bounced from this level
The dashboard also shows current S/R status: whether the oscillator recently broke resistance, broke support, is currently at resistance, is currently at support, or is in clear space between levels.
AUTOMATED TRENDLINES: MOMENTUM TREND STRUCTURE
The third major component is automated trendline detection on the oscillator. This identifies trending behavior in momentum itself, separate from price trends.
WHAT ARE OSCILLATOR TRENDLINES
Just as you can draw trendlines on a price chart connecting swing lows (uptrend) or swing highs (downtrend), the indicator draws trendlines on the oscillator connecting pivot points.
Support trendlines connect oscillator pivot lows and project forward with a flat or rising slope. These show upward trending momentum where each pullback finds support at a higher level.
Resistance trendlines connect oscillator pivot highs and project forward with a flat or falling slope. These show downward trending momentum where each rally faces resistance at a lower level.
WHY THIS MATTERS
Price trends and momentum trends do not always align. Price can continue making higher highs while momentum makes lower highs, a condition called bearish divergence. Momentum trendlines help visualize this behavior.
When momentum is making higher lows (rising support trendline), it suggests underlying strength even if price is consolidating. When momentum is making lower highs (falling resistance trendline), it suggests underlying weakness even if price is holding.
Breaks of these trendlines often precede price moves. If a falling momentum resistance trendline breaks upward, it suggests bearish pressure is releasing and bullish momentum may follow. If a rising momentum support trendline breaks downward, it suggests bullish pressure is failing and bearish momentum may follow.
HOW IT APPEARS ON THE CHART
Support trendlines appear in blue/cyan, resistance trendlines appear in pink/magenta. Lines extend forward from the most recent pivot point to show projected levels.
Small circle markers can optionally appear at each pivot point used to construct the trendlines, helping you verify the anchor points.
When the oscillator breaks through a trendline, markers appear:
TL with up arrow: Resistance trendline broken upward (bullish breakout)
TL with down arrow: Support trendline broken downward (bearish breakdown)
Trendline strength is calculated based on three factors: how many pivot points validate the line, how recently it formed, and the angle of the slope. Stronger trendlines have more touches, formed recently, and have moderate slopes. You can filter trendlines by strength to show only the most significant ones.
Optional trendline zones can display a shaded area around each trendline rather than just a single line, showing a zone of influence rather than a precise level.
DIVERGENCE: WHEN PRICE AND MOMENTUM DISAGREE
The fourth major component is divergence detection, which identifies discrepancies between price action and oscillator behavior.
WHAT IS DIVERGENCE
Divergence occurs when price makes a new high or low, but the oscillator fails to confirm it. This disagreement between price and momentum often precedes reversals.
There are four types of divergence:
REGULAR BULLISH DIVERGENCE
Price makes a lower low (new low point below the previous low), but the oscillator makes a higher low (its low point is above its previous low). This suggests that despite price going lower, selling momentum is actually weakening. The implication is that sellers are losing conviction and a bounce or reversal may be approaching.
Visual example: Imagine price drops from 100 to 95, bounces to 97, then drops again to 93. At the same time, the oscillator drops to 25, bounces to 35, then drops only to 30. Price made a lower low (93 vs 95) but the oscillator made a higher low (30 vs 25). This is regular bullish divergence.
REGULAR BEARISH DIVERGENCE
Price makes a higher high (new high point above the previous high), but the oscillator makes a lower high (its high point is below its previous high). This suggests that despite price going higher, buying momentum is actually weakening. The implication is that buyers are losing conviction and a pullback or reversal may be approaching.
HIDDEN BULLISH DIVERGENCE
Price makes a higher low (its low point is above its previous low), but the oscillator makes a lower low (new low below its previous low). This occurs during uptrends and suggests the trend will continue. Price is holding higher but momentum briefly dipped further, indicating a temporary pullback within a larger uptrend.
HIDDEN BEARISH DIVERGENCE
Price makes a lower high (its high point is below its previous high), but the oscillator makes a higher high (new high above its previous high). This occurs during downtrends and suggests the trend will continue. Price is staying lower but momentum briefly spiked higher, indicating a temporary bounce within a larger downtrend.
Regular divergence suggests reversal. Hidden divergence suggests continuation.
HOW IT APPEARS ON THE CHART
When divergence is confirmed, labels appear on the oscillator:
BULL DIV: Regular bullish divergence confirmed
BEAR DIV: Regular bearish divergence confirmed
H-BULL: Hidden bullish divergence confirmed
H-BEAR: Hidden bearish divergence confirmed
Dotted lines connect the pivot points on the oscillator to show the divergence pattern. Regular divergence uses solid colored lines, hidden divergence uses dashed lines.
The dashboard shows divergence status in real-time:
CHECKING BULL: A potential bullish divergence pattern is forming but not yet confirmed
CHECKING BEAR: A potential bearish divergence pattern is forming but not yet confirmed
BULL CONFIRMED: Bullish divergence has been validated
BEAR CONFIRMED: Bearish divergence has been validated
NONE: No divergence currently active
Divergence strength is calculated from the magnitude of the oscillator discrepancy. Only divergences meeting the minimum strength threshold are displayed to filter out minor, less significant patterns.
FLOW RIBBONS: VISUALIZING MOMENTUM ALIGNMENT
The fifth major component is the Flow Ribbon system, which displays multiple moving averages of the QMF oscillator to visualize momentum trend and alignment.
WHAT ARE FLOW RIBBONS
Flow ribbons consist of three Exponential Moving Averages (EMAs) applied to the QMF oscillator values. Think of them as smoothed versions of the oscillator at different speeds:
Fast Ribbon : Responds quickly to momentum changes, showing recent momentum direction
Medium Ribbon: Balances responsiveness with smoothness, showing intermediate momentum
Slow Ribbon: Moves slowly and shows longer-term momentum context
When these three lines are plotted together with filled area between them, they create a visual ribbon that expands and contracts based on momentum conditions.
WHY RIBBON ALIGNMENT MATTERS
The relationship between these three averages tells you about momentum structure:
BULLISH ALIGNMENT (Fast above Medium above Slow)
When the ribbons are stacked with fast on top, medium in middle, and slow on bottom, momentum is aligned bullishly across multiple timeframes. Short-term momentum leads, with medium and long-term momentum confirming. This is the strongest bullish configuration.
BEARISH ALIGNMENT (Fast below Medium below Slow)
When the ribbons are inverted with fast on bottom, medium in middle, and slow on top, momentum is aligned bearishly across multiple timeframes. Short-term momentum leads downward, with medium and long-term momentum confirming. This is the strongest bearish configuration.
MIXED/TRANSITIONING
When the ribbons are not properly stacked, momentum is in transition. This often occurs during consolidation, trend changes, or choppy conditions. Trading during mixed ribbon states carries higher uncertainty.
RIBBON EXPANSION AND CONTRACTION
Beyond alignment, the distance between the fast and slow ribbon provides additional information:
EXPANDING RIBBON
When the gap between fast and slow ribbon is increasing, momentum is accelerating. In a bullish alignment with expansion, upward momentum is strengthening. In a bearish alignment with expansion, downward momentum is strengthening. Expansion confirms trend conviction.
CONTRACTING RIBBON
When the gap between fast and slow ribbon is decreasing, momentum is decelerating. The current trend may be losing steam. Contraction often precedes consolidation or reversal. It serves as an early warning that the current move may be exhausting.
HOW IT APPEARS ON THE CHART
The fast ribbon appears as a thicker line, the slow ribbon as a thinner line. The area between them fills with color:
Green fill: Bullish ribbon alignment
Red fill: Bearish ribbon alignment
Gray fill: Neutral or transitioning state
The dashboard shows ribbon state as BULL, BEAR, or NEUT, and indicates whether ribbons are expanding (EXP) or contracting (CON).
Ribbon crossovers occur when the fast ribbon crosses the slow ribbon, signaling potential momentum shifts. These crossovers are confirmed only after the bar closes to prevent false signals from intrabar movement.
REVERSAL CLOUDS: PROBABILITY ZONES
The sixth major component is the Reversal Cloud system, which visualizes zones where momentum reversals have elevated probability.
WHAT ARE REVERSAL CLOUDS
Reversal clouds are shaded areas around the QMF oscillator that indicate probability zones for mean reversion. They answer the question: How far from average has momentum extended, and what is the probability it will revert?
When the oscillator moves far from its normal range, it creates stretched conditions. Like a rubber band pulled to its limit, the probability increases that it will snap back toward center. Reversal clouds visualize these stretched conditions.
CLOUD CALCULATION METHODS
Five different calculation methods are available, each with different characteristics:
DYNAMIC BOLLINGER
Uses statistical standard deviation to create bands that adapt to oscillator volatility. When the oscillator is volatile, bands widen. When the oscillator is calm, bands narrow. This method identifies moves that are statistically significant relative to recent oscillator behavior.
GOLDEN RATIO
Applies Fibonacci proportions (0.214 and 0.786) to the oscillator range. These ratios appear throughout nature and markets. Some traders believe these proportions have psychological significance in market behavior.
ADAPTIVE HALO
Scales cloud width based on price ATR rather than oscillator volatility. This connects cloud width to actual price volatility, making the clouds wider during volatile price action and narrower during calm periods.
VOLATILITY SQUEEZE
Uses short-term standard deviation to create bands that contract during low volatility and expand during high volatility. This method is particularly useful for identifying potential breakout conditions when volatility is compressed.
ICHIMOKU RSI
Applies concepts from Ichimoku Kinko Hyo equilibrium theory to create balanced zones. Uses multiple lookback periods to establish equilibrium levels where the oscillator tends to find balance.
HOW TO READ THE CLOUDS
The oscillator moves through the cloud area as momentum fluctuates:
When QMF enters the upper cloud region, it indicates extended bullish momentum. The higher into the cloud, the greater the probability of bearish reversal through mean reversion.
When QMF enters the lower cloud region, it indicates extended bearish momentum. The deeper into the cloud, the greater the probability of bullish reversal through mean reversion.
Cloud opacity adjusts based on reversal probability. More opaque coloring indicates higher reversal probability. Subtle coloring indicates lower reversal probability.
IMPORTANT UNDERSTANDING
Clouds show probability zones, not certainty. Price can remain in extreme zones longer than expected, particularly during strong trends. Clouds are most useful when combined with other components like divergence, S/R breaks, and ribbon alignment rather than used in isolation.
MULTI-TIMEFRAME ANALYSIS: SEEING THE BIGGER PICTURE
The seventh major component is Multi-Timeframe (MTF) analysis, which calculates QMF values across multiple timeframes to assess momentum alignment at different time perspectives.
WHY MULTIPLE TIMEFRAMES MATTER
The timeframe you trade on shows only one perspective of market momentum. A bullish signal on a 15-minute chart may occur within a larger bearish trend on the 4-hour chart. Understanding momentum context from higher timeframes helps you assess whether you are trading with or against the larger flow.
When multiple timeframes align in the same direction, the probability of a successful trade increases. When timeframes conflict, the situation is more uncertain and requires additional caution.
HOW MTF ANALYSIS WORKS
The indicator calculates the full QMF oscillator independently on four configurable timeframes. By default, these are set to 5-minute, 15-minute, 60-minute (1 hour), and 240-minute (4 hour), but you can configure them to any timeframes that suit your trading style.
For each timeframe, the system determines the current momentum bias:
OB - Overbought: QMF above 70, indicating extended bullish momentum that may reverse
B+ - Strong Bullish: QMF above 55 and above its signal line, indicating solid bullish momentum
B - Bullish: QMF above its signal line, indicating mild bullish momentum
N - Neutral: QMF near 50 with no clear direction
S - Bearish: QMF below its signal line, indicating mild bearish momentum
S+ - Strong Bearish: QMF below 45 and below its signal line, indicating solid bearish momentum
OS - Oversold: QMF below 30, indicating extended bearish momentum that may reverse
ALIGNMENT SCORING
The dashboard displays an alignment score showing how many of the four timeframes agree with each directional bias. This appears as a fraction like 3/4 or 2/4.
4/4 Bullish: All four timeframes show bullish readings - maximum bullish alignment
3/4 Bullish: Three timeframes bullish, one diverging - strong bullish alignment
2/4: Split between bullish and bearish - no clear alignment, use caution
3/4 Bearish: Three timeframes bearish, one diverging - strong bearish alignment
4/4 Bearish: All four timeframes show bearish readings - maximum bearish alignment
Higher alignment scores indicate more reliable momentum context. Trading with 3/4 or 4/4 alignment in your favor provides better odds than trading against alignment or during mixed conditions.
NON-REPAINTING MTF DATA
The multi-timeframe data uses proper request.security settings with lookahead disabled and gaps handled correctly. This ensures the MTF readings you see in backtesting match what you would see in real-time trading, with no future data leakage that could create misleading results.
LIVE MOMENTUM SCORING: REAL-TIME MARKET ASSESSMENT
The eighth major component is the Live Momentum Scoring system, which provides continuous real-time feedback on current market conditions.
WHAT IS LIVE MOMENTUM SCORING
Unlike signals which only appear when specific patterns complete, live momentum scores update every bar to show the current balance between bullish and bearish factors. This answers the question: Right now, how do the bullish factors compare to the bearish factors?
The system evaluates six categories for each direction and adds up points:
ZONE POSITION (0-25 points)
Rewards positioning in favorable oscillator zones. Deep oversold positioning adds points to the bullish score. Deep overbought positioning adds points to the bearish score. Extreme zones receive maximum points, moderate zones receive partial points, neutral zones receive zero.
DIVERGENCE (0-20 points)
Rewards active or forming divergence patterns. Confirmed divergence receives full points. Forming (checking) divergence receives partial credit. No divergence receives zero points.
TREND ALIGNMENT (0-20 points)
Rewards proper EMA stacking and trend MA positioning. Full bullish EMA stack (fast above medium above slow above trend MA) receives maximum bullish points. Partial alignment receives partial points.
MOMENTUM DIRECTION (0-15 points)
Rewards current momentum direction and acceleration. Accelerating momentum in the favorable direction receives maximum points. Simple directional momentum receives moderate points. Histogram turning (early reversal signs) receives partial points.
RIBBON STATE (0-10 points)
Rewards proper ribbon alignment and expansion. Aligned and expanding ribbons receive maximum points. Aligned but contracting ribbons receive moderate points. Mixed ribbons receive zero points.
MULTI-TIMEFRAME (0-10 points)
Rewards higher timeframe alignment. 4/4 alignment receives maximum points, scaling down as alignment decreases.
READING THE LIVE SCORES
The dashboard displays current scores for both directions:
BULL: Shows bullish score as percentage (0-100) and letter grade (A through D)
BEAR: Shows bearish score as percentage (0-100) and letter grade (A through D)
BIAS: Shows which direction currently dominates (BULL, BEAR, or NEUTRAL if close)
Grade thresholds:
A Grade: 70% or higher - Strong momentum factors aligned
B Grade: 50-69% - Moderate momentum factors present
C Grade: 30-49% - Some momentum factors but incomplete
D Grade: Below 30% - Weak or missing momentum factors
The dominant bias shows which direction currently has stronger factors. When one side leads by more than 10 points, it shows that direction. Otherwise, it shows NEUTRAL indicating balanced or mixed conditions.
WHY LIVE SCORING MATTERS
Live scores help you understand current market conditions even when no signal has fired. You can see momentum building or fading in real-time. A rising bullish score suggests conditions are improving for potential long opportunities. A rising bearish score suggests conditions are deteriorating.
This continuous feedback helps with:
- Anticipating potential signals before they fire
- Assessing whether to act on signals that do fire
- Understanding why a signal did or did not appear
- Monitoring open positions for changing conditions
THE DASHBOARD: YOUR ANALYSIS CONTROL CENTER
The dashboard provides a comprehensive real-time summary of all indicator components in one organized table. It displays on the price chart using force overlay so it remains visible regardless of which pane you are focused on.
DASHBOARD LAYOUT
The dashboard can be configured in three detail levels:
COMPACT MODE
Shows only essential information: QMF value, zone status, S/R status, and volume. Uses minimal screen space for traders who want the indicator to remain unobtrusive.
STANDARD MODE
Shows balanced detail including QMF values, zone status, last signal information, grade statistics, divergence status, S/R and volume status, live momentum scores, and MTF panel. Suitable for most traders.
FULL MODE
Shows maximum detail including everything in Standard mode plus EMA structure, ribbon state, volatility regime, signal statistics breakdown, and trendline counts. For traders who want complete information access.
DASHBOARD ROWS EXPLAINED
Row 1 - HEADER
Shows indicator name for identification.
Row 2 - QMF VALUES
Displays three values:
- QMF with directional arrow showing current oscillator value and whether it is rising, falling, or unchanged
- SIG showing the signal line value
- Histogram value with plus or minus sign showing the difference between QMF and signal line
Row 3 - PROGRESS BAR
Visual representation of oscillator position from 0 to 100 using text characters. Provides quick visual reference without needing to look at the oscillator pane.
Row 4 - ZONE STATUS
Text classification of current zone with color coding:
- EXTREME OB (red): Oscillator at or above extreme overbought level
- OVERBOUGHT (light red): Oscillator in overbought zone
- BULLISH (light green): Oscillator above 55 but below overbought
- NEUTRAL (gray): Oscillator between 45 and 55
- BEARISH (light red): Oscillator below 45 but above oversold
- OVERSOLD (light blue): Oscillator in oversold zone
- EXTREME OS (blue): Oscillator at or below extreme oversold level
Row 5 - LAST SIGNAL (Standard and Full mode)
Shows information about the most recent signal:
- Direction and grade (LONG A, SHORT B, etc.)
- Bars ago since signal fired
- Entry price when signal fired
- Current profit/loss from that price level
This helps track performance of recent signals and manage any open positions based on them.
Row 6 - GRADE STATISTICS (Standard and Full mode)
Running count of signals generated:
- A: Count of Grade A signals
- B: Count of Grade B signals
- C: Count of Grade C signals
- T: Total signal count
This provides perspective on signal frequency and grade distribution over the visible chart period.
Row 7 - DIVERGENCE STATUS (Standard and Full mode)
Current state of divergence detection:
- CHECKING BULL: Bullish divergence pattern forming, not yet confirmed
- CHECKING BEAR: Bearish divergence pattern forming, not yet confirmed
- BULL CONFIRMED: Bullish divergence validated
- BEAR CONFIRMED: Bearish divergence validated
- NONE: No divergence currently active
Row 8 - S/R AND VOLUME
Two pieces of information:
- S/R status: Shows R BROKEN (resistance broken upward), S BROKEN (support broken downward), AT RES (testing resistance), AT SUP (testing support), or CLEAR (between levels)
- Volume status: Shows HIGH (volume 1.5x or more above average), MID (volume near average), or LOW (volume below average)
Row 9 - LIVE MOMENTUM (Standard and Full mode)
Real-time momentum scoring:
- BULL: Bullish percentage and letter grade
- BEAR: Bearish percentage and letter grade
- Dominant bias indicator
Row 10-11 - MTF PANEL (when enabled, Standard and Full mode)
Multi-timeframe status:
- Top row shows the four timeframe labels
- Bottom row shows the status code for each timeframe (OB, B+, B, N, S, S+, OS)
- Final cell shows alignment score as X/4
FULL MODE ADDITIONAL ROWS
Structure row: Shows EMA stack status (BULL STACK, BEAR STACK, or relationship between fast and slow) and trend MA position (ABOVE MA or BELOW MA)
Stats row: Shows count of long signals, short signals, and active trendlines
Ribbon row: Shows ribbon state (BULL, BEAR, NEUT), expansion status (EXP or CON), and volatility regime (H-VOL for high volatility, L-VOL for low volatility, N-VOL for normal)
DASHBOARD POSITIONING AND SIZING
Position options: Top Left, Top Center, Top Right, Middle Left, Middle Right, Bottom Left, Bottom Center, Bottom Right
Size options: Tiny (minimal space), Small (balanced), Normal (maximum readability)
Choose a position that does not obscure important price action on your chart and a size that balances readability with space efficiency.
HOW SIGNALS EMERGE FROM CONFLUENCE
After understanding all the individual components, it becomes clear how signals are generated. Signals in QMF are not arbitrary triggers based on single conditions. They emerge when multiple independent factors align to create confluence.
THE PATTERN-BASED APPROACH
The signal system uses a hierarchical pattern-based approach. Rather than calculating a score from random factors and labeling it, the system actively hunts for specific predefined pattern combinations.
The system first checks for Grade A patterns. If none are found, it checks for Grade B patterns. If none are found, it checks for Grade C patterns. Each grade represents specific combinations of factors that must be present together.
GRADE A REQUIREMENTS
Grade A patterns require multiple strong factors aligned. Examples of Grade A pattern combinations:
Pattern A1 - Perfect Storm Reversal:
- Extreme zone positioning (deeply oversold or overbought)
- Confirmed regular divergence
- Structural break (resistance broken or support broken or trendline broken)
- Strong volume conviction (1.3x or higher)
- High MTF alignment (3 or more timeframes agreeing)
Pattern A2 - Breakout Conviction:
- Resistance or support broken
- Accelerating momentum in the breakout direction
- Full EMA stack aligned
- Ribbon aligned and expanding
- Strong volume conviction (1.4x or higher)
- Good MTF alignment (2 or more timeframes)
Pattern A3 - Zone Reversal Multi-Confirmation:
- Extreme or standard zone positioning
- Regular or hidden divergence confirmed
- Active bounce from zone
- EMA crossover or MA break in reversal direction
- Good MTF alignment (2 or more timeframes)
- Volume conviction present (1.2x or higher)
All factors in the pattern must be present simultaneously. Missing any single factor disqualifies the Grade A pattern.
GRADE B REQUIREMENTS
Grade B patterns require fewer but still meaningful confirmations. These patterns fire only when no Grade A pattern is detected:
Pattern B1 - Zone with Confirmation:
- Oversold or overbought zone positioning
- Momentum in reversal direction
- Hidden divergence, EMA crossover, or trendline break present
- Minimum MTF alignment met
Pattern B2 - Divergence with Structure:
- Regular or hidden divergence confirmed
- Structural break (S/R or trendline or MA)
- Momentum confirming direction
- Volume at least average
Pattern B3 - Clean Trend Continuation:
- Above or below trend MA
- Ribbon aligned in direction
- Oscillator crossed signal line
- EMA stack complete
GRADE C REQUIREMENTS
Grade C patterns require basic confirmations. These patterns fire only when no Grade A or Grade B pattern is detected:
Pattern C1 - Early Zone Entry:
- Zone positioning or approaching zone
- Momentum in expected direction
- Oscillator or EMA crossover present
Pattern C2 - Momentum Shift:
- Histogram turning in expected direction
- Oscillator crossover confirmed
- Oscillator on expected side of midline
SIGNAL QUALITY CONTROLS
Beyond pattern detection, several quality controls must be satisfied:
COOLDOWN
A minimum number of bars must pass between any two signals. This prevents signal clustering during volatile conditions and ensures each signal represents a distinct opportunity.
DIRECTION ALTERNATION
When enabled, signals must alternate between LONG and SHORT. After a LONG signal, only SHORT signals can fire until direction changes. This prevents multiple consecutive signals in the same direction.
PULLBACK REQUIREMENT
After a signal fires, the oscillator must retrace a minimum percentage before another same-direction signal can fire. This ensures re-entry signals occur after meaningful pullbacks rather than immediately after the first signal.
VOLUME CONFIRMATION (Optional)
When enabled, volume must meet minimum threshold relative to average. This filters out signals during low-volume periods when moves may lack follow-through.
BAR CONFIRMATION
All signals require barstate.isconfirmed, meaning they only fire after the bar closes. This prevents signals from appearing and disappearing during live bar formation, ensuring backtest results match live behavior.
A comprehensive example that combines signal generation logic, grading system, with all elements clearly annotated for easy understanding.
SETTINGS REFERENCE
This section provides a reference for the main configurable settings organized by category.
QUANTUM ENGINE SETTINGS
Sensitivity (5-50): Primary lookback period for momentum calculations. Lower values respond faster but may include more noise. Higher values smooth the oscillator but increase lag. Default 14 balances responsiveness with stability.
Smoothing (1-10): Exponential smoothing applied to final QMF value. Higher values reduce noise, lower values preserve detail. Default 3 provides good noise reduction.
Adaptive Mode: When enabled, automatically adjusts sensitivity based on volatility regime. Increases sensitivity during high volatility, decreases during low volatility.
Dimension Toggles: Enable or disable each of the four dimensions (Velocity, Volume, Volatility, Session) individually. Useful for customizing the oscillator for specific instruments or conditions.
Dimension Weights: Adjust relative contribution of each dimension. Weights are normalized so they do not need to sum to 1.0. Higher weight means that dimension has more influence on the final value.
Signal Length: EMA period for the signal line. Lower values make signal line more responsive, higher values make it smoother.
DISPLAY SETTINGS
Display Mode: Choose between Energy Candles, QMF Line, Impulse Bars, or Heikin Flow visualization.
Candle Glow: Adds luminous glow effect around energy candles based on momentum strength. Visually striking but can impact performance on slower systems.
Glow Layers: Number of glow layers when candle glow is enabled. More layers create smoother gradient but use more resources.
VISUAL SETTINGS
Theme: Choose between Tokyo Night (dark blue with vibrant accents), Dracula (purple-grey with high contrast), or Nord (muted arctic tones). Each theme is designed for extended trading sessions.
Glow Intensity: Controls transparency of glow effects. Lower values create more visible glows, higher values more subtle.
Enable Glow Effects: Master toggle for all glow effects around candles and levels.
REVERSAL CLOUD SETTINGS
Enable Reversal Clouds: Toggle cloud display on or off.
Cloud Style: Choose calculation method (Dynamic Bollinger, Golden Ratio, Adaptive Halo, Volatility Squeeze, Ichimoku RSI).
Cloud Transparency: Higher values make clouds more transparent, lower values more visible.
Cloud Width: Multiplier for cloud width. Higher values create wider reversal zones.
FLOW RIBBON SETTINGS
Enable Ribbons: Toggle ribbon display.
Fast/Medium/Slow Ribbon: Period for each ribbon EMA. Faster periods respond quicker, slower periods show longer-term trend.
DIVERGENCE SETTINGS
Enable Divergence: Toggle divergence detection.
Pivot Sensitivity: Bars required on each side to confirm pivot point. Higher values detect more significant pivots but may miss shorter-term divergences.
Confirmation Bars: Bars to wait after pivot detection before confirming divergence.
Min Strength Pct: Minimum divergence strength percentage to display. Higher values filter out weaker divergences.
Show Lines: Draw connecting lines between divergence pivots.
Min/Max Distance: Range of bars between pivots for valid divergence.
SIGNAL SYSTEM SETTINGS
Enable Signals: Toggle signal generation.
Show Signals: Filter by grade (A Only, A and B, All Grades).
Cooldown Bars: Minimum bars between signals.
Pullback Required Pct: Percentage pullback needed before same-direction signal.
Require Direction Alternation: Force signals to alternate LONG and SHORT.
Fast/Slow EMA: Periods for EMA crossover analysis.
Trend MA: Period for trend-defining moving average.
Min MTF Alignment: Minimum timeframes that must align for higher grades.
Require Volume Confirmation: Make volume threshold mandatory for signals.
Min Volume Ratio: Minimum volume relative to average when required.
TRENDLINE SETTINGS
Enable Trendlines: Toggle automated trendline detection.
Pivot Left/Right: Bars for pivot detection.
Extension Bars: How far to extend lines into future.
Min Touch Points: Minimum pivots to validate line.
Enable Strength Filter: Filter by calculated strength.
Minimum Strength: Threshold for strength filter.
Show Trendline Zones: Display shaded zones around lines.
Zone Width StdDev: Standard deviation multiplier for zone width.
Line Style: Solid, Dashed, or Dotted.
Line Width: Thickness in pixels.
Show Touch Points: Display circle markers at pivots.
Show Strength Labels: Display strength percentage at line end.
SUPPORT RESISTANCE SETTINGS
Enable S/R: Toggle dynamic S/R display.
Pivot Lookback: Period for detecting S/R pivots.
DASHBOARD SETTINGS
Enable Dashboard: Toggle dashboard display.
Position: Screen position (8 options).
Size: Tiny, Small, or Normal.
Style: Compact, Standard, or Full detail level.
MTF Panel: Include or exclude multi-timeframe panel.
MTF 1-4: Timeframe selections for MTF analysis.
LEVEL SETTINGS
Overbought/Oversold: Standard zone thresholds.
Extreme OB/OS: Extreme zone thresholds.
PRACTICAL EXAMPLE: READING THE COMPLETE PICTURE
This example walks through analyzing a chart using all the indicator components together.
SCENARIO: You are analyzing a 15-minute chart looking for trading opportunities.
STEP 1: ASSESS OSCILLATOR ZONE
You look at the QMF oscillator and see it reading 24, which is in the oversold zone. The dashboard confirms this showing OVERSOLD in the zone status. The progress bar shows the oscillator is in the lower portion of its range.
Initial assessment: The market has experienced significant selling pressure and is in territory where bullish reversals have elevated probability.
STEP 2: CHECK STRUCTURE
You look at the dynamic S/R levels. The oscillator recently touched its support level at 22 and bounced. You see an S with checkmark marker indicating support held. The dashboard shows AT SUP status.
Assessment update: The oscillator found support at a level that has held before. This adds to the bullish case.
STEP 3: EXAMINE TRENDLINES
You notice a resistance trendline connecting recent oscillator highs that has been declining. The oscillator is currently approaching this trendline from below. No break has occurred yet.
Assessment update: There is overhead resistance that will need to be cleared. A break above would be significant.
STEP 4: CHECK DIVERGENCE
The dashboard shows BULL CONFIRMED in the divergence status. Looking at the oscillator, you see a BULL DIV label with a dotted line connecting two pivot lows. The oscillator made a higher low while price made a lower low.
Assessment update: Confirmed bullish divergence suggests selling momentum is weakening despite price continuing lower. This is a meaningful signal of potential reversal.
STEP 5: EVALUATE RIBBONS
The ribbons are currently mixed with fast below medium but both above slow. Ribbon fill is gray indicating transitioning state. However, you notice the fast ribbon is turning upward and approaching the medium ribbon from below.
Assessment update: Ribbons are not yet aligned bullish, but appear to be transitioning. A bullish crossover may be approaching.
STEP 6: CHECK MTF ALIGNMENT
The dashboard MTF panel shows: 5m is B+, 15m is B, 1H is N, 4H is S. The alignment shows 2/4 bullish.
Assessment update: Lower timeframes support bullish bias, but higher timeframes are neutral or bearish. This is mixed alignment, suggesting caution. Any bullish move may face resistance from higher timeframe sellers.
STEP 7: REVIEW LIVE MOMENTUM SCORES
Dashboard shows BULL at 52% Grade B, BEAR at 28% Grade D. Dominant bias shows BULL.
Assessment update: Bullish factors currently outweigh bearish factors. The score suggests moderate bullish conditions, not yet strong.
STEP 8: SYNTHESIS
Putting it together:
- Oversold zone positioning (bullish factor)
- Support held (bullish factor)
- Bullish divergence confirmed (strong bullish factor)
- Ribbons transitioning but not yet aligned (neutral)
- MTF alignment mixed at 2/4 (caution factor)
- Live score favors bullish moderately (supporting factor)
- Resistance trendline overhead (risk factor)
Conclusion: Conditions favor a bullish reversal but with caution warranted due to mixed MTF alignment and overhead resistance. This would not qualify for a Grade A signal due to insufficient MTF alignment. If a signal fires, it would likely be Grade B.
STEP 9: SIGNAL FIRES
Several bars later, the oscillator crosses above its signal line while still in oversold territory. The EMA fast crosses above EMA slow. A LONG B signal appears at 85% confluence.
The signal represents: Oversold positioning plus confirmed divergence plus momentum crossover, meeting Grade B pattern requirements.
STEP 10: MONITORING
After entry, you monitor the dashboard for changing conditions. Live momentum scores continue rising. The resistance trendline breaks (TL up arrow marker appears). Ribbons align bullish. MTF alignment improves to 3/4 as the 1H turns bullish.
The improving conditions confirm the trade thesis. You hold the position as conditions strengthen.
ALERTS AVAILABLE
28 alert conditions are available covering all major events. To set up alerts, click the alert icon in TradingView, select this indicator, and choose the desired condition.
SIGNAL ALERTS
- A-Grade LONG Signal: Highest probability bullish entry
- A-Grade SHORT Signal : Highest probability bearish entry
- B-Grade LONG Signal: Solid bullish entry
- B-Grade SHORT Signal: Solid bearish entry
- Any LONG Signal: Any bullish signal regardless of grade
- Any SHORT Signal: Any bearish signal regardless of grade
DIVERGENCE ALERTS
- Regular Bullish Divergence: Classic bullish reversal pattern
- Regular Bearish Divergence: Classic bearish reversal pattern
- Hidden Bullish Divergence: Bullish continuation pattern
- Hidden Bearish Divergence: Bearish continuation pattern
- Any Bullish Divergence: Either regular or hidden bullish
- Any Bearish Divergence: Either regular or hidden bearish
STRUCTURE ALERTS
- Trendline Break Up : Resistance trendline broken
- Trendline Break Down: Support trendline broken
- Resistance Broken: S/R resistance level broken
- Support Broken: S/R support level broken
CROSSOVER ALERTS
- EMA Cross Up : Fast EMA crossed above slow EMA
- EMA Cross Down : Fast EMA crossed below slow EMA
- Trend MA Break Up: Oscillator crossed above trend MA
- Trend MA Break Down: Oscillator crossed below trend MA
ZONE ALERTS
- Entered Overbought Zone: Oscillator entered overbought
- Entered Oversold Zone: Oscillator entered oversold
- Entered Extreme Overbought: Oscillator reached extreme overbought
- Entered Extreme Oversold: Oscillator reached extreme oversold
RIBBON ALERTS
- Ribbon Cross Up: Fast ribbon crossed above slow ribbon
- Ribbon Cross Down: Fast ribbon crossed below slow ribbon
BOUNCE ALERTS
- Bounce From Oversold: Active reversal from oversold zone
- Bounce From Overbought : Active reversal from overbought zone
NON-REPAINTING Structure
All visual elements and signals in this indicator are non-repainting:
- Signals use barstate.isconfirmed to fire only after bar close
- Divergence confirmation waits for pivot validation
- Trendline breaks confirm after bar close
- S/R breaks confirm after bar close
- MTF data uses lookahead off setting
- No future data is used in any calculation
What you see in backtesting accurately represents what would have appeared in real-time trading.
RISK DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice, or trading advice.
Trading financial instruments involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. The analysis provided by this indicator should not be relied upon as the sole basis for any trading decision.
Before trading:
- Understand you may lose some or all of your investment
- Never trade with money you cannot afford to lose
- Conduct your own research and due diligence
- Consider consulting with a qualified financial advisor
- Practice with paper trading before risking real capital
- Implement proper risk management with recommended maximum 1-2% risk per trade
By using this indicator, you acknowledge that you have read and understood this disclaimer and accept full responsibility for your trading decisions.
Bifurcation Zone - CAEBifurcation Zone — Cognitive Adversarial Engine (BZ-CAE)
Bifurcation Zone — CAE (BZ-CAE) is a next-generation divergence detection system enhanced by a Cognitive Adversarial Engine that evaluates both sides of every potential trade before presenting signals. Unlike traditional divergence indicators that show every price-oscillator disagreement regardless of context, BZ-CAE applies comprehensive market-state intelligence to identify only the divergences that occur in favorable conditions with genuine probability edges.
The system identifies structural bifurcation points — critical junctures where price and momentum disagree, signaling potential reversals or continuations — then validates these opportunities through five interconnected intelligence layers: Trend Conviction Scoring , Directional Momentum Alignment , Multi-Factor Exhaustion Modeling , Adversarial Validation , and Confidence Scoring . The result is a selective, context-aware signal system that filters noise and highlights high-probability setups.
This is not a "buy the arrow" indicator. It's a decision support framework that teaches you how to read market state, evaluate divergence quality, and make informed trading decisions based on quantified intelligence rather than hope.
What Sets BZ-CAE Apart: Technical Architecture
The Problem With Traditional Divergence Indicators
Most divergence indicators operate on a simple rule: if price makes a higher high and RSI makes a lower high, show a bearish signal. If price makes a lower low and RSI makes a higher low, show a bullish signal. This creates several critical problems:
Context Blindness : They show counter-trend signals in powerful trends that rarely reverse, leading to repeated losses as you fade momentum.
Signal Spam : Every minor price-oscillator disagreement generates an alert, overwhelming you with low-quality setups and creating analysis paralysis.
No Quality Ranking : All signals are treated identically. A marginal divergence in choppy conditions receives the same visual treatment as a high-conviction setup at a major exhaustion point.
Single-Sided Evaluation : They ask "Is this a good long?" without checking if the short case is overwhelmingly stronger, leading you into obvious bad trades.
Static Configuration : You manually choose RSI 14 or Stochastic 14 and hope it works, with no systematic way to validate if that's optimal for your instrument.
BZ-CAE's Solution: Cognitive Adversarial Intelligence
BZ-CAE solves these problems through an integrated five-layer intelligence architecture:
1. Trend Conviction Score (TCS) — 0 to 1 Scale
Most indicators check if ADX is above 25 to determine "trending" conditions. This binary approach misses nuance. TCS is a weighted composite metric:
Formula : 0.35 × normalize(ADX, 10, 35) + 0.35 × structural_strength + 0.30 × htf_alignment
Structural Strength : 10-bar SMA of consecutive directional bars. Captures persistence — are bulls or bears consistently winning?
HTF Alignment : Multi-timeframe EMA stacking (20/50/100/200). When all EMAs align in the same direction, you're in institutional trend territory.
Purpose : Quantifies how "locked in" the trend is. When TCS exceeds your threshold (default 0.80), the system knows to avoid counter-trend trades unless other factors override.
Interpretation :
TCS > 0.85: Very strong trend — counter-trading is extremely high risk
TCS 0.70-0.85: Strong trend — favor continuation, require exhaustion for reversals
TCS 0.50-0.70: Moderate trend — context matters, both directions viable
TCS < 0.50: Weak/choppy — reversals more viable, range-bound conditions
2. Directional Momentum Alignment (DMA) — ATR-Normalized
Formula : (EMA21 - EMA55) / ATR14
This isn't just "price above EMA" — it's a regime-aware momentum gauge. The same $100 price movement reads completely differently in high-volatility crypto versus low-volatility forex. By normalizing with ATR, DMA adapts its interpretation to current market conditions.
Purpose : Quantifies the directional "force" behind current price action. Positive = bullish push, negative = bearish push. Magnitude = strength.
Interpretation :
DMA > 0.7: Strong bullish momentum — bearish divergences risky
DMA 0.3 to 0.7: Moderate bullish bias
DMA -0.3 to 0.3: Balanced/choppy conditions
DMA -0.7 to -0.3: Moderate bearish bias
DMA < -0.7: Strong bearish momentum — bullish divergences risky
3. Multi-Factor Exhaustion Modeling — 0 to 1 Probability
Single-metric exhaustion detection (like "RSI > 80") misses complex market states. BZ-CAE aggregates five independent exhaustion signals:
Volume Spikes : Current volume versus 50-bar average
2.5x average: 0.25 weight
2.0x average: 0.15 weight
1.5x average: 0.10 weight
Divergence Present : The fact that a divergence exists contributes 0.30 weight — structural momentum disagreement is itself an exhaustion signal.
RSI Extremes : Captures oscillator climax zones
RSI > 80 or < 20: 0.25 weight
RSI > 75 or < 25: 0.15 weight
Pin Bar Detection : Identifies rejection candles (2:1 wick-to-body ratio, indicating failed breakout attempts): 0.15 weight
Extended Runs : Consecutive bars above/below EMA20 without pullback
30+ bars: 0.15 weight (market hasn't paused to consolidate)
Total exhaustion score is the sum of all applicable weights, capped at 1.0.
Purpose : Detects when strong trends become vulnerable to reversal. High exhaustion can override trend filters, allowing counter-trend trades at genuine turning points that basic indicators would miss.
Interpretation :
Exhaustion > 0.75: High probability of climax — yellow background shading alerts you visually
Exhaustion 0.50-0.75: Moderate overextension — watch for confirmation
Exhaustion < 0.50: Fresh move — trend can continue, counter-trend trades higher risk
4. Adversarial Validation — Game Theory Applied to Trading
This is BZ-CAE's signature innovation. Before approving any signal, the engine quantifies BOTH sides of the trade simultaneously:
For Bullish Divergences , it calculates:
Bull Case Score (0-1+) :
Distance below EMA20 (pullback quality): up to 0.25
Bullish EMA alignment (close > EMA20 > EMA50): 0.25
Oversold RSI (< 40): 0.25
Volume confirmation (> 1.2x average): 0.25
Bear Case Score (0-1+) :
Price below EMA50 (structural weakness): 0.30
Very oversold RSI (< 30, indicating knife-catching): 0.20
Differential = Bull Case - Bear Case
If differential < -0.10 (default threshold), the bear case is dominating — signal is BLOCKED or ANNOTATED.
For Bearish Divergences , the logic inverts (Bear Case vs Bull Case).
Purpose : Prevents trades where you're fighting obvious strength in the opposite direction. This is institutional-grade risk management — don't just evaluate your trade, evaluate the counter-trade simultaneously.
Why This Matters : You might see a bullish divergence at a local low, but if price is deeply below major support EMAs with strong bearish momentum, you're catching a falling knife. The adversarial check catches this and blocks the signal.
5. Confidence Scoring — 0 to 1 Quality Assessment
Every signal that passes initial filters receives a comprehensive quality score:
Formula :
0.30 × normalize(TCS) // Trend context
+ 0.25 × normalize(|DMA|) // Momentum magnitude
+ 0.20 × pullback_quality // Entry distance from EMA20
+ 0.15 × state_quality // ADX + alignment + structure
+ 0.10 × divergence_strength // Slope separation magnitude
+ adversarial_bonus (0-0.30) // Your side's advantage
Purpose : Ranks setup quality for filtering and position sizing decisions. You can set a minimum confidence threshold (default 0.35) to ensure only quality setups reach your chart.
Interpretation :
Confidence > 0.70: Premium setup — consider increased position size
Confidence 0.50-0.70: Good quality — standard size
Confidence 0.35-0.50: Acceptable — reduced size or skip if conservative
Confidence < 0.35: Marginal — blocked in Filtering mode, annotated in Advisory mode
CAE Operating Modes: Learning vs Enforcement
Off : Disables all CAE logic. Raw divergence pipeline only. Use for baseline comparison.
Advisory : Shows ALL signals regardless of CAE evaluation, but annotates signals that WOULD be blocked with specific warnings (e.g., "Bull: strong downtrend (TCS=0.87)" or "Adversarial bearish"). This is your learning mode — see CAE's decision logic in action without missing educational opportunities.
Filtering : Actively blocks low-quality signals. Only setups that pass all enabled gates (Trend Filter, Adversarial Validation, Confidence Gating) reach your chart. This is your live trading mode — trust the system to enforce discipline.
CAE Filter Gates: Three-Layer Protection
When CAE is enabled, signals must pass through three independent gates (each can be toggled on/off):
Gate 1: Strong Trend Filter
If TCS ≥ tcs_threshold (default 0.80)
And signal is counter-trend (bullish in downtrend or bearish in uptrend)
And exhaustion < exhaustion_required (default 0.50)
Then: BLOCK signal
Logic: Don't fade strong trends unless the move is clearly overextended
Gate 2: Adversarial Validation
Calculate both bull case and bear case scores
If opposing case dominates by more than adv_threshold (default 0.10)
Then: BLOCK signal
Logic: Avoid trades where you're fighting obvious strength in the opposite direction
Gate 3: Confidence Gating
Calculate composite confidence score (0-1)
If confidence < min_confidence (default 0.35)
Then: In Filtering mode, BLOCK signal; in Advisory mode, ANNOTATE with warning
Logic: Only take setups with minimum quality threshold
All three gates work together. A signal must pass ALL enabled gates to fire.
Visual Intelligence System
Bifurcation Zones (Supply/Demand Blocks)
When a divergence signal fires, BZ-CAE draws a semi-transparent box extending 15 bars forward from the signal pivot:
Demand Zones (Bullish) : Theme-colored box (cyan in Cyberpunk, blue in Professional, etc.) labeled "Demand" — marks where smart money likely placed buy orders as price diverged at the low.
Supply Zones (Bearish) : Theme-colored box (magenta in Cyberpunk, orange in Professional) labeled "Supply" — marks where smart money likely placed sell orders as price diverged at the high.
Theory : Divergences represent institutional disagreement with the crowd. The crowd pushed price to an extreme (new high or low), but momentum (oscillator) is waning, indicating smart money is taking the opposite side. These zones mark order placement areas that become future support/resistance.
Use Cases :
Exit targets: Take profit when price returns to opposite-side zone
Re-entry levels: If price returns to your entry zone, consider adding
Stop placement: Place stops just beyond your zone (below demand, above supply)
Auto-Cleanup : System keeps the last 20 zones to prevent chart clutter.
Adversarial Bar Coloring — Real-Time Market Debate Heatmap
Each bar is colored based on the Bull Case vs Bear Case differential:
Strong Bull Advantage (diff > 0.3): Full theme bull color (e.g., cyan)
Moderate Bull Advantage (diff > 0.1): 50% transparency bull
Neutral (diff -0.1 to 0.1): Gray/neutral theme
Moderate Bear Advantage (diff < -0.1): 50% transparency bear
Strong Bear Advantage (diff < -0.3): Full theme bear color (e.g., magenta)
This creates a real-time visual heatmap showing which side is "winning" the market debate. When bars flip from cyan to magenta (or vice versa), you're witnessing a shift in adversarial advantage — a leading indicator of potential momentum changes.
Exhaustion Shading
When exhaustion score exceeds 0.75, the chart background displays a semi-transparent yellow highlight. This immediate visual warning alerts you that the current move is at high risk of reversal, even if trend indicators remain strong.
Visual Themes — Six Aesthetic Options
Cyberpunk : Cyan/Magenta/Yellow — High contrast, neon aesthetic, excellent for dark-themed trading environments
Professional : Blue/Orange/Green — Corporate color palette, suitable for presentations and professional documentation
Ocean : Teal/Red/Cyan — Aquatic palette, calming for extended monitoring sessions
Fire : Orange/Red/Coral — Warm aggressive colors, high energy
Matrix : Green/Red/Lime — Code aesthetic, homage to classic hacker visuals
Monochrome : White/Gray — Minimal distraction, maximum focus on price action
All visual elements (signal markers, zones, bar colors, dashboard) adapt to your selected theme.
Divergence Engine — Core Detection System
What Are Divergences?
Divergences occur when price action and momentum indicators disagree, creating structural tension that often resolves in a change of direction:
Regular Divergence (Reversal Signal) :
Bearish Regular : Price makes higher high, oscillator makes lower high → Potential trend reversal down
Bullish Regular : Price makes lower low, oscillator makes higher low → Potential trend reversal up
Hidden Divergence (Continuation Signal) :
Bearish Hidden : Price makes lower high, oscillator makes higher high → Downtrend continuation
Bullish Hidden : Price makes higher low, oscillator makes lower low → Uptrend continuation
Both types can be enabled/disabled independently in settings.
Pivot Detection Methods
BZ-CAE uses symmetric pivot detection with separate lookback and lookforward periods (default 5/5):
Pivot High : Bar where high > all highs within lookback range AND high > all highs within lookforward range
Pivot Low : Bar where low < all lows within lookback range AND low < all lows within lookforward range
This ensures structural validity — the pivot must be a clear local extreme, not just a minor wiggle.
Divergence Validation Requirements
For a divergence to be confirmed, it must satisfy:
Slope Disagreement : Price slope and oscillator slope must move in opposite directions (for regular divs) or same direction with inverted highs/lows (for hidden divs)
Minimum Slope Change : |osc_slope| > min_slope_change / 100 (default 1.0) — filters weak, marginal divergences
Maximum Lookback Range : Pivots must be within max_lookback bars (default 60) — prevents ancient, irrelevant divergences
ATR-Normalized Strength : Divergence strength = min(|price_slope| × |osc_slope| × 10, 1.0) — quantifies the magnitude of disagreement in volatility context
Regular divergences receive 1.0× weight; hidden divergences receive 0.8× weight (slightly less reliable historically).
Oscillator Options — Five Professional Indicators
RSI (Relative Strength Index) : Classic overbought/oversold momentum indicator. Best for: General purpose divergence detection across all instruments.
Stochastic : Range-bound %K momentum comparing close to high-low range. Best for: Mean reversion strategies and range-bound markets.
CCI (Commodity Channel Index) : Measures deviation from statistical mean, auto-normalized to 0-100 scale. Best for: Cyclical instruments and commodities.
MFI (Money Flow Index) : Volume-weighted RSI incorporating money flow. Best for: Volume-driven markets like stocks and crypto.
Williams %R : Inverse stochastic looking back over period, auto-adjusted to 0-100. Best for: Reversal detection at extremes.
Each oscillator has adjustable length (2-200, default 14) and smoothing (1-20, default 1). You also set overbought (50-100, default 70) and oversold (0-50, default 30) thresholds.
Signal Timing Modes — Understanding Repainting
BZ-CAE offers two timing policies with complete transparency about repainting behavior:
Realtime (1-bar, peak-anchored)
How It Works :
Detects peaks 1 bar ago using pattern: high > high AND high > high
Signal prints on the NEXT bar after peak detection (bar_index)
Visual marker anchors to the actual PEAK bar (bar_index - 1, offset -1)
Signal locks in when bar CONFIRMS (closes)
Repainting Behavior :
On the FORMING bar (before close), the peak condition may change as new prices arrive
Once bar CLOSES (barstate.isconfirmed), signal is locked permanently
This is preview/early warning behavior by design
Best For :
Active monitoring and immediate alerts
Learning the system (seeing signals develop in real-time)
Responsive entry if you're watching the chart live
Confirmed (lookforward)
How It Works :
Uses Pine Script's built-in ta.pivothigh() and ta.pivotlow() functions
Requires full pivot validation period (lookback + lookforward bars)
Signal prints pivot_lookforward bars after the actual peak (default 5-bar delay)
Visual marker anchors to the actual peak bar (offset -pivot_lookforward)
No Repainting Behavior
Best For :
Backtesting and historical analysis
Conservative entries requiring full confirmation
Automated trading systems
Swing trading with larger timeframes
Tradeoff :
Delayed entry by pivot_lookforward bars (typically 5 bars)
On a 5-minute chart, this is a 25-minute delay
On a 4-hour chart, this is a 20-hour delay
Recommendation : Use Confirmed for backtesting to verify system performance honestly. Use Realtime for live monitoring only if you're actively watching the chart and understand pre-confirmation repainting behavior.
Signal Spacing System — Anti-Spam Architecture
Even after CAE filtering, raw divergences can cluster. The spacing system enforces separation:
Three Independent Filters
1. Min Bars Between ANY Signals (default 12):
Prevents rapid-fire clustering across both directions
If last signal (bull or bear) was within N bars, block new signal
Ensures breathing room between all setups
2. Min Bars Between SAME-SIDE Signals (default 24, optional enforcement):
Prevents bull-bull or bear-bear spam
Separate tracking for bullish and bearish signal timelines
Toggle enforcement on/off
3. Min ATR Distance From Last Signal (default 0, optional):
Requires price to move N × ATR from last signal location
Ensures meaningful price movement between setups
0 = disabled, 0.5-2.0 = typical range for enabled
All three filters work independently. A signal must pass ALL enabled filters to proceed.
Practical Guidance :
Scalping (1-5m) : Any 6-10, Same-side 12-20, ATR 0-0.5
Day Trading (15m-1H) : Any 12, Same-side 24, ATR 0-1.0
Swing Trading (4H-D) : Any 20-30, Same-side 40-60, ATR 1.0-2.0
Dashboard — Real-Time Control Center
The dashboard (toggleable, four corner positions, three sizes) provides comprehensive system intelligence:
Oscillator Section
Current oscillator type and value
State: OVERBOUGHT / OVERSOLD / NEUTRAL (color-coded)
Length parameter
Cognitive Engine Section
TCS (Trend Conviction Score) :
Current value with emoji state indicator
🔥 = Strong trend (>0.75)
📊 = Moderate trend (0.50-0.75)
〰️ = Weak/choppy (<0.50)
Color: Red if above threshold (trend filter active), yellow if moderate, green if weak
DMA (Directional Momentum Alignment) :
Current value with emoji direction indicator
🐂 = Bullish momentum (>0.5)
⚖️ = Balanced (-0.5 to 0.5)
🐻 = Bearish momentum (<-0.5)
Color: Green if bullish, red if bearish
Exhaustion :
Current value with emoji warning indicator
⚠️ = High exhaustion (>0.75)
🟡 = Moderate (0.50-0.75)
✓ = Low (<0.50)
Color: Red if high, yellow if moderate, green if low
Pullback :
Quality of current distance from EMA20
Values >0.6 are ideal entry zones (not too close, not too far)
Bull Case / Bear Case (if Adversarial enabled):
Current scores for both sides of the market debate
Differential with emoji indicator:
📈 = Bull advantage (>0.2)
➡️ = Balanced (-0.2 to 0.2)
📉 = Bear advantage (<-0.2)
Last Signal Metrics Section (New Feature)
When a signal fires, this section captures and displays:
Signal type (BULL or BEAR)
Bars elapsed since signal
Confidence % at time of signal
TCS value at signal time
DMA value at signal time
Purpose : Provides a historical reference for learning. You can see what the market state looked like when the last signal fired, helping you correlate outcomes with conditions.
Statistics Section
Total Signals : Lifetime count across session
Blocked Signals : Count and percentage (filter effectiveness metric)
Bull Signals : Total bullish divergences
Bear Signals : Total bearish divergences
Purpose : System health monitoring. If blocked % is very high (>60%), filters may be too strict. If very low (<10%), filters may be too loose.
Advisory Annotations
When CAE Mode = Advisory, this section displays warnings for signals that would be blocked in Filtering mode:
Examples:
"Bull spacing: wait 8 bars"
"Bear: strong uptrend (TCS=0.87)"
"Adversarial bearish"
"Low confidence 32%"
Multiple warnings can stack, separated by " | ". This teaches you CAE's decision logic transparently.
How to Use BZ-CAE — Complete Workflow
Phase 1: Initial Setup (First Session)
Apply BZ-CAE to your chart
Select your preferred Visual Theme (Cyberpunk recommended for visibility)
Set Signal Timing to "Confirmed (lookforward)" for learning
Choose your Oscillator Type (RSI recommended for general use, length 14)
Set Overbought/Oversold to 70/30 (standard)
Enable both Regular Divergence and Hidden Divergence
Set Pivot Lookback/Lookforward to 5/5 (balanced structure)
Enable CAE Intelligence
Set CAE Mode to "Advisory" (learning mode)
Enable all three CAE filters: Strong Trend Filter , Adversarial Validation , Confidence Gating
Enable Show Dashboard , position Top Right, size Normal
Enable Draw Bifurcation Zones and Adversarial Bar Coloring
Phase 2: Learning Period (Weeks 1-2)
Goal : Understand how CAE evaluates market state and filters signals.
Activities :
Watch the dashboard during signals :
Note TCS values when counter-trend signals fail — this teaches you the trend strength threshold for your instrument
Observe exhaustion patterns at actual turning points — learn when overextension truly matters
Study adversarial differential at signal times — see when opposing cases dominate
Review blocked signals (orange X-crosses):
In Advisory mode, you see everything — signals that would pass AND signals that would be blocked
Check the advisory annotations to understand why CAE would block
Track outcomes: Were the blocks correct? Did those signals fail?
Use Last Signal Metrics :
After each signal, check the dashboard capture of confidence, TCS, and DMA
Journal these values alongside trade outcomes
Identify patterns: Do confidence >0.70 signals work better? Does your instrument respect TCS >0.85?
Understand your instrument's "personality" :
Trending instruments (indices, major forex) may need TCS threshold 0.85-0.90
Choppy instruments (low-cap stocks, exotic pairs) may work best with TCS 0.70-0.75
High-volatility instruments (crypto) may need wider spacing
Low-volatility instruments may need tighter spacing
Phase 3: Calibration (Weeks 3-4)
Goal : Optimize settings for your specific instrument, timeframe, and style.
Calibration Checklist :
Min Confidence Threshold :
Review confidence distribution in your signal journal
Identify the confidence level below which signals consistently fail
Set min_confidence slightly above that level
Day trading : 0.35-0.45
Swing trading : 0.40-0.55
Scalping : 0.30-0.40
TCS Threshold :
Find the TCS level where counter-trend signals consistently get stopped out
Set tcs_threshold at or slightly below that level
Trending instruments : 0.85-0.90
Mixed instruments : 0.80-0.85
Choppy instruments : 0.75-0.80
Exhaustion Override Level :
Identify exhaustion readings that marked genuine reversals
Set exhaustion_required just below the average
Typical range : 0.45-0.55
Adversarial Threshold :
Default 0.10 works for most instruments
If you find CAE is too conservative (blocking good trades), raise to 0.15-0.20
If signals are still getting caught in opposing momentum, lower to 0.07-0.09
Spacing Parameters :
Count bars between quality signals in your journal
Set min bars ANY to ~60% of that average
Set min bars SAME-SIDE to ~120% of that average
Scalping : Any 6-10, Same 12-20
Day trading : Any 12, Same 24
Swing : Any 20-30, Same 40-60
Oscillator Selection :
Try different oscillators for 1-2 weeks each
Track win rate and average winner/loser by oscillator type
RSI : Best for general use, clear OB/OS
Stochastic : Best for range-bound, mean reversion
MFI : Best for volume-driven markets
CCI : Best for cyclical instruments
Williams %R : Best for reversal detection
Phase 4: Live Deployment
Goal : Disciplined execution with proven, calibrated system.
Settings Changes :
Switch CAE Mode from Advisory to Filtering
System now actively blocks low-quality signals
Only setups passing all gates reach your chart
Keep Signal Timing on Confirmed for conservative entries
OR switch to Realtime if you're actively monitoring and want faster entries (accept pre-confirmation repaint risk)
Use your calibrated thresholds from Phase 3
Enable high-confidence alerts: "⭐ High Confidence Bullish/Bearish" (>0.70)
Trading Discipline Rules :
Respect Blocked Signals :
If CAE blocks a trade you wanted to take, TRUST THE SYSTEM
Don't manually override — if you consistently disagree, return to Phase 2/3 calibration
The block exists because market state failed intelligence checks
Confidence-Based Position Sizing :
Confidence >0.70: Standard or increased size (e.g., 1.5-2.0% risk)
Confidence 0.50-0.70: Standard size (e.g., 1.0% risk)
Confidence 0.35-0.50: Reduced size (e.g., 0.5% risk) or skip if conservative
TCS-Based Management :
High TCS + counter-trend signal: Use tight stops, quick exits (you're fading momentum)
Low TCS + reversal signal: Use wider stops, trail aggressively (genuine reversal potential)
Exhaustion Awareness :
Exhaustion >0.75 (yellow shading): Market is overextended, reversal risk is elevated — consider early exit or tighter trailing stops even on winning trades
Exhaustion <0.30: Continuation bias — hold for larger move, wide trailing stops
Adversarial Context :
Strong differential against you (e.g., bullish signal with bear diff <-0.2): Use very tight stops, consider skipping
Strong differential with you (e.g., bullish signal with bull diff >0.2): Trail aggressively, this is your tailwind
Practical Settings by Timeframe & Style
Scalping (1-5 Minute Charts)
Objective : High frequency, tight stops, quick reversals in fast-moving markets.
Oscillator :
Type: RSI or Stochastic (fast response to quick moves)
Length: 9-11 (more responsive than standard 14)
Smoothing: 1 (no lag)
OB/OS: 65/35 (looser thresholds ensure frequent crossings in fast conditions)
Divergence :
Pivot Lookback/Lookforward: 3/3 (tight structure, catch small swings)
Max Lookback: 40-50 bars (recent structure only)
Min Slope Change: 0.8-1.0 (don't be overly strict)
CAE :
Mode: Advisory first (learn), then Filtering
Min Confidence: 0.30-0.35 (lower bar for speed, accept more signals)
TCS Threshold: 0.70-0.75 (allow more counter-trend opportunities)
Exhaustion Required: 0.45-0.50 (moderate override)
Strong Trend Filter: ON (still respect major intraday trends)
Adversarial: ON (critical for scalping protection — catches bad entries quickly)
Spacing :
Min Bars ANY: 6-10 (fast pace, many setups)
Min Bars SAME-SIDE: 12-20 (prevent clustering)
Min ATR Distance: 0 or 0.5 (loose)
Timing : Realtime (speed over precision, but understand repaint risk)
Visuals :
Signal Size: Tiny (chart clarity in busy conditions)
Show Zones: Optional (can clutter on low timeframes)
Bar Coloring: ON (helps read momentum shifts quickly)
Dashboard: Small size (corner reference, not main focus)
Key Consideration : Scalping generates noise. Even with CAE, expect lower win rate (45-55%) but aim for favorable R:R (2:1 or better). Size conservatively.
Day Trading (15-Minute to 1-Hour Charts)
Objective : Balance quality and frequency. Standard divergence trading approach.
Oscillator :
Type: RSI or MFI (proven reliability, volume confirmation with MFI)
Length: 14 (industry standard, well-studied)
Smoothing: 1-2
OB/OS: 70/30 (classic levels)
Divergence :
Pivot Lookback/Lookforward: 5/5 (balanced structure)
Max Lookback: 60 bars
Min Slope Change: 1.0 (standard strictness)
CAE :
Mode: Filtering (enforce discipline from the start after brief Advisory learning)
Min Confidence: 0.35-0.45 (quality filter without being too restrictive)
TCS Threshold: 0.80-0.85 (respect strong trends)
Exhaustion Required: 0.50 (balanced override threshold)
Strong Trend Filter: ON
Adversarial: ON
Confidence Gating: ON (all three filters active)
Spacing :
Min Bars ANY: 12 (breathing room between all setups)
Min Bars SAME-SIDE: 24 (prevent bull/bear clusters)
Min ATR Distance: 0-1.0 (optional refinement, typically 0.5-1.0)
Timing : Confirmed (1-bar delay for reliability, no repainting)
Visuals :
Signal Size: Tiny or Small
Show Zones: ON (useful reference for exits/re-entries)
Bar Coloring: ON (context awareness)
Dashboard: Normal size (full visibility)
Key Consideration : This is the "sweet spot" timeframe for BZ-CAE. Market structure is clear, CAE has sufficient data, and signal frequency is manageable. Expect 55-65% win rate with proper execution.
Swing Trading (4-Hour to Daily Charts)
Objective : Quality over quantity. High conviction only. Larger stops and targets.
Oscillator :
Type: RSI or CCI (robust on higher timeframes, smooth longer waves)
Length: 14-21 (capture larger momentum swings)
Smoothing: 1-3
OB/OS: 70/30 or 75/25 (strict extremes)
Divergence :
Pivot Lookback/Lookforward: 5/5 or 7/7 (structural purity, major swings only)
Max Lookback: 80-100 bars (broader historical context)
Min Slope Change: 1.2-1.5 (require strong, undeniable divergence)
CAE :
Mode: Filtering (strict enforcement, premium setups only)
Min Confidence: 0.40-0.55 (high bar for entry)
TCS Threshold: 0.85-0.95 (very strong trend protection — don't fade established HTF trends)
Exhaustion Required: 0.50-0.60 (higher bar for override — only extreme exhaustion justifies counter-trend)
Strong Trend Filter: ON (critical on HTF)
Adversarial: ON (avoid obvious bad trades)
Confidence Gating: ON (quality gate essential)
Spacing :
Min Bars ANY: 20-30 (substantial separation)
Min Bars SAME-SIDE: 40-60 (significant breathing room)
Min ATR Distance: 1.0-2.0 (require meaningful price movement)
Timing : Confirmed (purity over speed, zero repaint for swing accuracy)
Visuals :
Signal Size: Small or Normal (clear markers on zoomed-out view)
Show Zones: ON (important HTF levels)
Bar Coloring: ON (long-term trend awareness)
Dashboard: Normal or Large (comprehensive analysis)
Key Consideration : Swing signals are rare but powerful. Expect 2-5 signals per month per instrument. Win rate should be 60-70%+ due to stringent filtering. Position size can be larger given confidence.
Dashboard Interpretation Reference
TCS (Trend Conviction Score) States
0.00-0.50: Weak/Choppy
Emoji: 〰️
Color: Green/cyan
Meaning: No established trend. Range-bound or consolidating. Both reversal and continuation signals viable.
Action: Reversals (regular divs) are safer. Use wider profit targets (market has room to move). Consider mean reversion strategies.
0.50-0.75: Moderate Trend
Emoji: 📊
Color: Yellow/neutral
Meaning: Developing trend but not locked in. Context matters significantly.
Action: Check DMA and exhaustion. If DMA confirms trend and exhaustion is low, favor continuation (hidden divs). If exhaustion is high, reversals are viable.
0.75-0.85: Strong Trend
Emoji: 🔥
Color: Orange/warning
Meaning: Well-established trend with persistence. Counter-trend is high risk.
Action: Require exhaustion >0.50 for counter-trend entries. Favor continuation signals. Use tight stops on counter-trend attempts.
0.85-1.00: Very Strong Trend
Emoji: 🔥🔥
Color: Red/danger (if counter-trading)
Meaning: Locked-in institutional trend. Extremely high risk to fade.
Action: Avoid counter-trend unless exhaustion >0.75 (yellow shading). Focus exclusively on continuation opportunities. Momentum is king here.
DMA (Directional Momentum Alignment) Zones
-2.0 to -1.0: Strong Bearish Momentum
Emoji: 🐻🐻
Color: Dark red
Meaning: Powerful downside force. Sellers are in control.
Action: Bullish divergences are counter-momentum (high risk). Bearish divergences are with-momentum (lower risk). Size down on longs.
-0.5 to 0.5: Neutral/Balanced
Emoji: ⚖️
Color: Gray/neutral
Meaning: No strong directional bias. Choppy or consolidating.
Action: Both directions have similar probability. Focus on confidence score and adversarial differential for edge.
1.0 to 2.0: Strong Bullish Momentum
Emoji: 🐂🐂
Color: Bright green/cyan
Meaning: Powerful upside force. Buyers are in control.
Action: Bearish divergences are counter-momentum (high risk). Bullish divergences are with-momentum (lower risk). Size down on shorts.
Exhaustion States
0.00-0.50: Fresh Move
Emoji: ✓
Color: Green
Meaning: Trend is healthy, not overextended. Room to run.
Action: Counter-trend trades are premature. Favor continuation. Hold winners for larger moves. Avoid early exits.
0.50-0.75: Mature Move
Emoji: 🟡
Color: Yellow
Meaning: Move is aging. Watch for signs of climax.
Action: Tighten trailing stops on winning trades. Be ready for reversals. Don't add to positions aggressively.
0.75-0.85: High Exhaustion
Emoji: ⚠️
Color: Orange
Background: Yellow shading appears
Meaning: Move is overextended. Reversal risk elevated significantly.
Action: Counter-trend reversals are higher probability. Consider early exits on with-trend positions. Size up on reversal divergences (if CAE allows).
0.85-1.00: Critical Exhaustion
Emoji: ⚠️⚠️
Color: Red
Background: Yellow shading intensifies
Meaning: Climax conditions. Reversal imminent or underway.
Action: Aggressive reversal trades justified. Exit all with-trend positions. This is where major turns occur.
Confidence Score Tiers
0.00-0.30: Low Quality
Color: Red
Status: Blocked in Filtering mode
Action: Skip entirely. Setup lacks fundamental quality across multiple factors.
0.30-0.50: Moderate Quality
Color: Yellow/orange
Status: Marginal — passes in Filtering only if >min_confidence
Action: Reduced position size (0.5-0.75% risk). Tight stops. Conservative profit targets. Skip if you're selective.
0.50-0.70: High Quality
Color: Green/cyan
Status: Good setup across most quality factors
Action: Standard position size (1.0-1.5% risk). Normal stops and targets. This is your bread-and-butter trade.
0.70-1.00: Premium Quality
Color: Bright green/gold
Status: Exceptional setup — all factors aligned
Visual: Double confidence ring appears
Action: Consider increased position size (1.5-2.0% risk, maximum). Wider stops. Larger targets. High probability of success. These are rare — capitalize when they appear.
Adversarial Differential Interpretation
Bull Differential > 0.3 :
Visual: Strong cyan/green bar colors
Meaning: Bull case strongly dominates. Buyers have clear advantage.
Action: Bullish divergences favored (with-advantage). Bearish divergences face headwind (reduce size or skip). Momentum is bullish.
Bull Differential 0.1 to 0.3 :
Visual: Moderate cyan/green transparency
Meaning: Moderate bull advantage. Buyers have edge but not overwhelming.
Action: Both directions viable. Slight bias toward longs.
Differential -0.1 to 0.1 :
Visual: Gray/neutral bars
Meaning: Balanced debate. No clear advantage either side.
Action: Rely on other factors (confidence, TCS, exhaustion) for direction. Adversarial is neutral.
Bear Differential -0.3 to -0.1 :
Visual: Moderate red/magenta transparency
Meaning: Moderate bear advantage. Sellers have edge but not overwhelming.
Action: Both directions viable. Slight bias toward shorts.
Bear Differential < -0.3 :
Visual: Strong red/magenta bar colors
Meaning: Bear case strongly dominates. Sellers have clear advantage.
Action: Bearish divergences favored (with-advantage). Bullish divergences face headwind (reduce size or skip). Momentum is bearish.
Last Signal Metrics — Post-Trade Analysis
After a signal fires, dashboard captures:
Type : BULL or BEAR
Bars Ago : How long since signal (updates every bar)
Confidence : What was the quality score at signal time
TCS : What was trend conviction at signal time
DMA : What was momentum alignment at signal time
Use Case : Post-trade journaling and learning.
Example: "BULL signal 12 bars ago. Confidence: 68%, TCS: 0.42, DMA: -0.85"
Analysis : This was a bullish reversal (regular div) with good confidence, weak trend (TCS), but strong bearish momentum (DMA). The bet was that momentum would reverse — a counter-momentum play requiring exhaustion confirmation. Check if exhaustion was high at that time to justify the entry.
Track patterns:
Do your best trades have confidence >0.65?
Do low-TCS signals (<0.50) work better for you?
Are you more successful with-momentum (DMA aligned with signal) or counter-momentum?
Troubleshooting Guide
Problem: No Signals Appearing
Symptoms : Chart loads, dashboard shows metrics, but no divergence signals fire.
Diagnosis Checklist :
Check dashboard oscillator value : Is it crossing OB/OS levels (70/30)? If oscillator stays in 40-60 range constantly, it can't reach extremes needed for divergence detection.
Are pivots forming? : Look for local swing highs/lows on your chart. If price is in tight consolidation, pivots may not meet lookback/lookforward requirements.
Is spacing too tight? : Check "Last Signal" metrics — how many bars since last signal? If <12 and your min_bars_ANY is 12, spacing filter is blocking.
Is CAE blocking everything? : Check dashboard Statistics section — what's the blocked signal count? High blocks indicate overly strict filters.
Solutions :
Loosen OB/OS Temporarily :
Try 65/35 to verify divergence detection works
If signals appear, the issue was threshold strictness
Gradually tighten back to 67/33, then 70/30 as appropriate
Lower Min Confidence :
Try 0.25-0.30 (diagnostic level)
If signals appear, filter was too strict
Raise gradually to find sweet spot (0.35-0.45 typical)
Disable Strong Trend Filter Temporarily :
Turn off in CAE settings
If signals appear, TCS threshold was blocking everything
Re-enable and lower TCS_threshold to 0.70-0.75
Reduce Min Slope Change :
Try 0.7-0.8 (from default 1.0)
Allows weaker divergences through
Helpful on low-volatility instruments
Widen Spacing :
Set min_bars_ANY to 6-8
Set min_bars_SAME_SIDE to 12-16
Reduces time between allowed signals
Check Timing Mode :
If using Confirmed, remember there's a pivot_lookforward delay (5+ bars)
Switch to Realtime temporarily to verify system is working
Realtime has no delay but repaints
Verify Oscillator Settings :
Length 14 is standard but might not fit all instruments
Try length 9-11 for faster response
Try length 18-21 for slower, smoother response
Problem: Too Many Signals (Signal Spam)
Symptoms : Dashboard shows 50+ signals in Statistics, confidence scores mostly <0.40, signals clustering close together.
Solutions :
Raise Min Confidence :
Try 0.40-0.50 (quality filter)
Blocks bottom-tier setups
Targets top 50-60% of divergences only
Tighten OB/OS :
Use 70/30 or 75/25
Requires more extreme oscillator readings
Reduces false divergences in mid-range
Increase Min Slope Change :
Try 1.2-1.5 (from default 1.0)
Requires stronger, more obvious divergences
Filters marginal slope disagreements
Raise TCS Threshold :
Try 0.85-0.90 (from default 0.80)
Stricter trend filter blocks more counter-trend attempts
Favors only strongest trend alignment
Enable ALL CAE Gates :
Turn on Trend Filter + Adversarial + Confidence
Triple-layer protection
Blocks aggressively — expect 20-40% reduction in signals
Widen Spacing :
min_bars_ANY: 15-20 (from 12)
min_bars_SAME_SIDE: 30-40 (from 24)
Creates substantial breathing room
Switch to Confirmed Timing :
Removes realtime preview noise
Ensures full pivot validation
5-bar delay filters many false starts
Problem: Signals in Strong Trends Get Stopped Out
Symptoms : You take a bullish divergence in a downtrend (or bearish in uptrend), and it immediately fails. Dashboard showed high TCS at the time.
Analysis : This is INTENDED behavior — CAE is protecting you from low-probability counter-trend trades.
Understanding :
Check Last Signal Metrics in dashboard — what was TCS when signal fired?
If TCS was >0.85 and signal was counter-trend, CAE correctly identified it as high risk
Strong trends rarely reverse cleanly without major exhaustion
Your losses here are the system working as designed (blocking bad odds)
If You Want to Override (Not Recommended) :
Lower TCS_threshold to 0.70-0.75 (allows more counter-trend)
Lower exhaustion_required to 0.40 (easier override)
Disable Strong Trend Filter entirely (very risky)
Better Approach :
TRUST THE FILTER — it's preventing costly mistakes
Wait for exhaustion >0.75 (yellow shading) before counter-trending strong TCS
Focus on continuation signals (hidden divs) in high-TCS environments
Use Advisory mode to see what CAE is blocking and learn from outcomes
Problem: Adversarial Blocking Seems Wrong
Symptoms : You see a divergence that "looks good" visually, but CAE blocks with "Adversarial bearish/bullish" warning.
Diagnosis :
Check dashboard Bull Case and Bear Case scores at that moment
Look at Differential value
Check adversarial bar colors — was there strong coloring against your intended direction?
Understanding :
Adversarial catches "obvious" opposing momentum that's easy to miss
Example: Bullish divergence at a local low, BUT price is deeply below EMA50, bearish momentum is strong, and RSI shows knife-catching conditions
Bull Case might be 0.20 while Bear Case is 0.55
Differential = -0.35, far beyond threshold
Block is CORRECT — you'd be fighting overwhelming opposing flow
If You Disagree Consistently
Review blocked signals on chart — scroll back and check outcomes
Did those blocked signals actually work, or did they fail as adversarial predicted?
Raise adv_threshold to 0.15-0.20 (more permissive, allows closer battles)
Disable Adversarial Validation temporarily (diagnostic) to isolate its effect
Use Advisory mode to learn adversarial patterns over 50-100 signals
Remember : Adversarial is conservative BY DESIGN. It prevents "obvious" bad trades where you're fighting strong strength the other way.
Problem: Dashboard Not Showing or Incomplete
Solutions :
Toggle "Show Dashboard" to ON in settings
Try different dashboard sizes (Small/Normal/Large)
Try different positions (Top Left/Right, Bottom Left/Right) — might be off-screen
Some sections require CAE Enable = ON (Cognitive Engine section won't appear if CAE is disabled)
Statistics section requires at least 1 lifetime signal to populate
Check that visual theme is set (dashboard colors adapt to theme)
Problem: Performance Lag, Chart Freezing
Symptoms : Chart loading is slow, indicator calculations cause delays, pinch-to-zoom lags.
Diagnosis : Visual features are computationally expensive, especially adversarial bar coloring (recalculates every bar).
Solutions (In Order of Impact) :
Disable Adversarial Bar Coloring (MOST EXPENSIVE):
Turn OFF "Adversarial Bar Coloring" in settings
This is the single biggest performance drain
Immediate improvement
Reduce Vertical Lines :
Lower "Keep last N vertical lines" to 20-30
Or set to 0 to disable entirely
Moderate improvement
Disable Bifurcation Zones :
Turn OFF "Draw Bifurcation Zones"
Reduces box drawing calculations
Moderate improvement
Set Dashboard Size to Small :
Smaller dashboard = fewer cells = less rendering
Minor improvement
Use Shorter Max Lookback :
Reduce max_lookback to 40-50 (from 60+)
Fewer bars to scan for divergences
Minor improvement
Disable Exhaustion Shading :
Turn OFF "Show Market State"
Removes background coloring calculations
Minor improvement
Extreme Performance Mode :
Disable ALL visual enhancements
Keep only triangle markers
Dashboard Small or OFF
Use Minimal theme if available
Problem: Realtime Signals Repainting
Symptoms : You see a signal appear, but on next bar it disappears or moves.
Explanation :
Realtime mode detects peaks 1 bar ago: high > high AND high > high
On the FORMING bar (before close), this condition can change as new prices arrive
Example: At 10:05, high (10:04 bar) was 100, current high is 99 → peak detected
At 10:05:30, new high of 101 arrives → peak condition breaks → signal disappears
At 10:06 (bar close), final high is 101 → no peak at 10:04 anymore → signal gone permanently
This is expected behavior for realtime responsiveness. You get preview/early warning, but it's not locked until bar confirms.
Solutions :
Use Confirmed Timing :
Switch to "Confirmed (lookforward)" mode
ZERO repainting — pivot must be fully validated
5-bar delay (pivot_lookforward)
What you see in history is exactly what would have appeared live
Accept Realtime Repaint as Tradeoff :
Keep Realtime mode for speed and alerts
Understand that pre-confirmation signals may vanish
Only trade signals that CONFIRM at bar close (check barstate.isconfirmed)
Use for live monitoring, NOT for backtesting
Trade Only After Confirmation :
In Realtime mode, wait 1 full bar after signal appears before entering
If signal survives that bar close, it's locked
This adds 1-bar delay but removes repaint risk
Recommendation : Use Confirmed for backtesting and conservative trading. Use Realtime only for active monitoring with full understanding of preview behavior.
Risk Management Integration
BZ-CAE is a signal generation system, not a complete trading strategy. You must integrate proper risk management:
Position Sizing by Confidence
Confidence 0.70-1.00 (Premium) :
Risk: 1.5-2.0% of account (MAXIMUM)
Reasoning: High-quality setup across all factors
Still cap at 2% — even premium setups can fail
Confidence 0.50-0.70 (High Quality) :
Risk: 1.0-1.5% of account
Reasoning: Standard good setup
Your bread-and-butter risk level
Confidence 0.35-0.50 (Moderate Quality) :
Risk: 0.5-1.0% of account
Reasoning: Marginal setup, passes minimum threshold
Reduce size or skip if you're selective
Confidence <0.35 (Low Quality) :
Risk: 0% (blocked in Filtering mode)
Reasoning: Insufficient quality factors
System protects you by not showing these
Stop Placement Strategies
For Reversal Signals (Regular Divergences) :
Place stop beyond the divergence pivot plus buffer
Bullish : Stop below the divergence low - 1.0-1.5 × ATR
Bearish : Stop above the divergence high + 1.0-1.5 × ATR
Reasoning: If price breaks the pivot, divergence structure is invalidated
For Continuation Signals (Hidden Divergences) :
Place stop beyond recent swing in opposite direction
Bullish continuation : Stop below recent swing low (not the divergence pivot itself)
Bearish continuation : Stop above recent swing high
Reasoning: You're trading with trend, allow more breathing room
ATR-Based Stops :
1.5-2.0 × ATR is standard
Scale by timeframe:
Scalping (1-5m): 1.0-1.5 × ATR (tight)
Day trading (15m-1H): 1.5-2.0 × ATR (balanced)
Swing (4H-D): 2.0-3.0 × ATR (wide)
Never Use Fixed Dollar/Pip Stops :
Markets have different volatility
50-pip stop on EUR/USD ≠ 50-pip stop on GBP/JPY
Always normalize by ATR or pivot structure
Profit Targets and Scaling
Primary Target :
2-3 × ATR from entry (minimum 2:1 reward-risk)
Example : Entry at 100, ATR = 2, stop at 97 (1.5 × ATR) → target at 106 (3 × ATR) = 2:1 R:R
Scaling Out Strategy :
Take 50% off at 1.5 × ATR (secure partial profit)
Move stop to breakeven
Trail remaining 50% with 1.0 × ATR trailing stop
Let winners run if trend persists
Targets by Confidence :
High Confidence (>0.70) : Aggressive targets (3-4 × ATR), trail wider (1.5 × ATR)
Standard Confidence (0.50-0.70) : Normal targets (2-3 × ATR), standard trail (1.0 × ATR)
Low Confidence (0.35-0.50) : Conservative targets (1.5-2 × ATR), tight trail (0.75 × ATR)
Use Bifurcation Zones :
If opposite-side zone is visible on chart (from previous signal), use it as target
Example : Bullish signal at 100, prior supply zone at 110 → use 110 as target
Zones mark institutional resistance/support
Exhaustion-Based Exits :
If you're in a trade and exhaustion >0.75 develops (yellow shading), consider early exit
Market is overextended — reversal risk is high
Take profit even if target not reached
Trade Management by TCS
High TCS + Counter-Trend Trade (Risky) :
Use very tight stops (1.0-1.5 × ATR)
Conservative targets (1.5-2 × ATR)
Quick exit if trade doesn't work immediately
You're fading momentum — respect it
Low TCS + Reversal Trade (Safer) :
Use wider stops (2.0-2.5 × ATR)
Aggressive targets (3-4 × ATR)
Trail with patience
Genuine reversal potential in weak trend
High TCS + Continuation Trade (Safest) :
Standard stops (1.5-2.0 × ATR)
Very aggressive targets (4-5 × ATR)
Trail wide (1.5-2.0 × ATR)
You're with institutional momentum — let it run
Educational Value — Learning Machine Intelligence
BZ-CAE is designed as a learning platform, not just a tool:
Advisory Mode as Teacher
Most indicators are binary: signal or no signal. You don't learn WHY certain setups are better.
BZ-CAE's Advisory mode shows you EVERY potential divergence, then annotates the ones that would be blocked in Filtering mode with specific reasons:
"Bull: strong downtrend (TCS=0.87)" teaches you that TCS >0.85 makes counter-trend very risky
"Adversarial bearish" teaches you that the opposing case was dominating
"Low confidence 32%" teaches you that the setup lacked quality across multiple factors
"Bull spacing: wait 8 bars" teaches you that signals need breathing room
After 50-100 signals in Advisory mode, you internalize the CAE's decision logic. You start seeing these factors yourself BEFORE the indicator does.
Dashboard Transparency
Most "intelligent" indicators are black boxes — you don't know how they make decisions.
BZ-CAE shows you ALL metrics in real-time:
TCS tells you trend strength
DMA tells you momentum alignment
Exhaustion tells you overextension
Adversarial shows both sides of the debate
Confidence shows composite quality
You learn to interpret market state holistically, a skill applicable to ANY trading system beyond this indicator.
Divergence Quality Education
Not all divergences are equal. BZ-CAE teaches you which conditions produce high-probability setups:
Quality divergence : Regular bullish div at a low, TCS <0.50 (weak trend), exhaustion >0.75 (overextended), positive adversarial differential, confidence >0.70
Low-quality divergence : Regular bearish div at a high, TCS >0.85 (strong uptrend), exhaustion <0.30 (not overextended), negative adversarial differential, confidence <0.40
After using the system, you can evaluate divergences manually with similar intelligence.
Risk Management Discipline
Confidence-based position sizing teaches you to adjust risk based on setup quality, not emotions:
Beginners often size all trades identically
Or worse, size UP on marginal setups to "make up" for losses
BZ-CAE forces systematic sizing: premium setups get larger size, marginal setups get smaller size
This creates a probabilistic approach where your edge compounds over time.
What This Indicator Is NOT
Complete transparency about limitations and positioning:
Not a Prediction System
BZ-CAE does not predict future prices. It identifies structural divergences (price-momentum disagreements) and assesses current market state (trend, exhaustion, adversarial conditions). It tells you WHEN conditions favor a potential reversal or continuation, not WHAT WILL HAPPEN.
Markets are probabilistic. Even premium-confidence setups fail ~30-40% of the time. The system improves your probability distribution over many trades — it doesn't eliminate risk.
Not Fully Automated
This is a decision support tool, not a trading robot. You must:
Execute trades manually based on signals
Manage positions (stops, targets, trailing)
Apply discretionary judgment (news events, liquidity, context)
Integrate with your broader strategy and risk rules
The confidence scores guide position sizing, but YOU determine final risk allocation based on your account size, risk tolerance, and portfolio context.
Not Beginner-Friendly
BZ-CAE requires understanding of:
Divergence trading concepts (regular vs hidden, reversal vs continuation)
Market state interpretation (trend vs range, momentum, exhaustion)
Basic technical analysis (pivots, support/resistance, EMAs)
Risk management fundamentals (position sizing, stops, R:R)
This is designed for intermediate to advanced traders willing to invest time learning the system. If you want "buy the arrow" simplicity, this isn't the tool.
Not a Holy Grail
There is no perfect indicator. BZ-CAE filters noise and improves signal quality significantly, but:
Losing trades are inevitable (even at 70% win rate, 30% still fail)
Market conditions change rapidly (yesterday's strong trend becomes today's chop)
Black swan events occur (fundamentals override technicals)
Execution matters (slippage, fees, emotional discipline)
The system provides an EDGE, not a guarantee. Your job is to execute that edge consistently with proper risk management over hundreds of trades.
Not Financial Advice
BZ-CAE is an educational and analytical tool. All trading decisions are your responsibility. Past performance (backtested or live) does not guarantee future results. Only risk capital you can afford to lose. Consult a licensed financial advisor for investment advice specific to your situation.
Ideal Market Conditions
Best Performance Characteristics
Liquid Instruments :
Major forex pairs (EUR/USD, GBP/USD, USD/JPY)
Large-cap stocks and index ETFs (SPY, QQQ, AAPL, MSFT)
High-volume crypto (BTC, ETH)
Major commodities (Gold, Oil, Natural Gas)
Reasoning: Clean price structure, clear pivots, meaningful oscillator behavior
Trending with Consolidations :
Markets that trend for 20-40 bars, then consolidate 10-20 bars, repeat
Creates divergences at consolidation boundaries (reversals) and within trends (continuations)
Both regular and hidden divs find opportunities
5-Minute to Daily Timeframes :
Below 5m: too much noise, false pivots, CAE metrics unstable
Above daily: too few signals, edge diminishes (fundamentals dominate)
Sweet spot: 15m to 4H for most traders
Consistent Volume and Participation :
Regular trading sessions (not holidays or thin markets)
Predictable volatility patterns
Avoid instruments with sudden gaps or circuit breakers
Challenging Conditions
Extremely Low Liquidity :
Penny stocks, exotic forex pairs, low-volume crypto
Erratic pivots, unreliable oscillator readings
CAE metrics can't assess market state properly
Very Low Timeframes (1-Minute or Below) :
Dominated by market microstructure noise
Divergences are everywhere but meaningless
CAE filtering helps but still unreliable
Extended Sideways Consolidation :
100+ bars of tight range with no clear pivots
Oscillator hugs midpoint (45-55 range)
No divergences to detect
Fundamentally-Driven Gap Markets :
Earnings releases, economic data, geopolitical events
Price gaps over stops and targets
Technical structure breaks down
Recommendation: Disable trading around known events
Calculation Methodology — Technical Depth
For users who want to understand the math:
Oscillator Computation
Each oscillator type calculates differently, but all normalize to 0-100:
RSI : ta.rsi(close, length) — Standard Relative Strength Index
Stochastic : ta.stoch(high, low, close, length) — %K calculation
CCI : (ta.cci(hlc3, length) + 100) / 2 — Normalized from -100/+100 to 0-100
MFI : ta.mfi(hlc3, length) — Volume-weighted RSI equivalent
Williams %R : ta.wpr(length) + 100 — Inverted stochastic adjusted to 0-100
Smoothing: If smoothing > 1, apply ta.sma(oscillator, smoothing)
Divergence Detection Algorithm
Identify Pivots :
Price high pivot: ta.pivothigh(high, lookback, lookforward)
Price low pivot: ta.pivotlow(low, lookback, lookforward)
Oscillator high pivot: ta.pivothigh(osc, lookback, lookforward)
Oscillator low pivot: ta.pivotlow(osc, lookback, lookforward)
Store Recent Pivots :
Maintain arrays of last 10 pivots with bar indices
When new pivot confirmed, unshift to array, pop oldest if >10
Scan for Slope Disagreements :
Loop through last 5 pivots
For each pair (current pivot, historical pivot):
Check if within max_lookback bars
Calculate slopes: (current - historical) / bars_between
Regular bearish: price_slope > 0, osc_slope < 0, |osc_slope| > min_threshold
Regular bullish: price_slope < 0, osc_slope > 0, |osc_slope| > min_threshold
Hidden bearish: price_slope < 0, osc_slope > 0, osc_slope > min_threshold
Hidden bullish: price_slope > 0, osc_slope < 0, |osc_slope| > min_threshold
Important Disclaimers and Terms
Performance Disclosure
Past performance, whether backtested or live-traded, does not guarantee future results. Markets change. What works today may not work tomorrow. Hypothetical or simulated performance results have inherent limitations and do not represent actual trading.
Risk of Loss
Trading involves substantial risk of loss. Only trade with risk capital you can afford to lose entirely. The high degree of leverage often available in trading can work against you as well as for you. Leveraged trading may result in losses exceeding your initial deposit.
Not Financial Advice
BZ-CAE is an educational and analytical tool for technical analysis. It is not financial advice, investment advice, or a recommendation to buy or sell any security or instrument. All trading decisions are your sole responsibility. Consult a licensed financial advisor for advice specific to your circumstances.
Technical Indicator Limitations
BZ-CAE is a technical analysis tool based on price and volume data. It does not account for:
Fundamental analysis (earnings, economic data, financial health)
Market sentiment and positioning
Geopolitical events and news
Liquidity conditions and market microstructure changes
Regulatory changes or exchange rules
Integrate with broader analysis and strategy. Do not rely solely on technical indicators for trading decisions.
Repainting Acknowledgment
As disclosed throughout this documentation:
Realtime mode may repaint on forming bars before confirmation (by design for preview functionality)
Confirmed mode has zero repainting (fully validated pivots only)
Choose timing mode appropriate for your use case. Understand the tradeoffs.
Testing Recommendation
ALWAYS test on demo/paper accounts before committing real capital. Validate the indicator's behavior on your specific instruments and timeframes. Learn the system thoroughly in Advisory mode before using Filtering mode.
Learning Resources :
In-indicator tooltips (hover over setting names for detailed explanations)
This comprehensive publishing statement (save for reference)
User guide in script comments (top of code)
Final Word — Philosophy of BZ-CAE
BZ-CAE is not designed to replace your judgment — it's designed to enhance it.
The indicator identifies structural inflection points (bifurcations) where price and momentum disagree. The Cognitive Engine evaluates market state to determine if this disagreement is meaningful or noise. The Adversarial model debates both sides of the trade to catch obvious bad setups. The Confidence system ranks quality so you can choose your risk appetite.
But YOU still execute. YOU still manage risk. YOU still learn from outcomes.
This is intelligence amplification, not intelligence replacement.
Use Advisory mode to learn how expert traders evaluate market state. Use Filtering mode to enforce discipline when emotions run high. Use the dashboard to develop a systematic approach to reading markets. Use confidence scores to size positions probabilistically.
The system provides an edge. Your job is to execute that edge with discipline, patience, and proper risk management over hundreds of trades.
Markets are probabilistic. No system wins every trade. But a systematic edge + disciplined execution + proper risk management compounds over time. That's the path to consistent profitability. BZ-CAE gives you the edge. The discipline and risk management are on you.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
RSI Overbought/Oversold + Divergence Indicator (new)//@version=5
indicator('CryptoSignalScanner - RSI Overbought/Oversold + Divergence Indicator (new)',
//---------------------------------------------------------------------------------------------------------------------------------
//--- Define Colors ---------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------
vWhite = #FFFFFF
vViolet = #C77DF3
vIndigo = #8A2BE2
vBlue = #009CDF
vGreen = #5EBD3E
vYellow = #FFB900
vRed = #E23838
longColor = color.green
shortColor = color.red
textColor = color.white
bullishColor = color.rgb(38,166,154,0) //Used in the display table
bearishColor = color.rgb(239,83,79,0) //Used in the display table
nomatchColor = color.silver //Used in the display table
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Functions--------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
TF2txt(TF) =>
switch TF
"S" => "RSI 1s:"
"5S" => "RSI 5s:"
"10S" => "RSI 10s:"
"15S" => "RSI 15s:"
"30S" => "RSI 30s"
"1" => "RSI 1m:"
"3" => "RSI 3m:"
"5" => "RSI 5m:"
"15" => "RSI 15m:"
"30" => "RSI 30m"
"45" => "RSI 45m"
"60" => "RSI 1h:"
"120" => "RSI 2h:"
"180" => "RSI 3h:"
"240" => "RSI 4h:"
"480" => "RSI 8h:"
"D" => "RSI 1D:"
"1D" => "RSI 1D:"
"2D" => "RSI 2D:"
"3D" => "RSI 2D:"
"3D" => "RSI 3W:"
"W" => "RSI 1W:"
"1W" => "RSI 1W:"
"M" => "RSI 1M:"
"1M" => "RSI 1M:"
"3M" => "RSI 3M:"
"6M" => "RSI 6M:"
"12M" => "RSI 12M:"
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Show/Hide Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowInput = input(true, title='Show RSI', group='Show/Hide Settings')
maShowInput = input(false, title='Show MA', group='Show/Hide Settings')
showRSIMAInput = input(true, title='Show RSIMA Cloud', group='Show/Hide Settings')
rsiBandShowInput = input(true, title='Show Oversold/Overbought Lines', group='Show/Hide Settings')
rsiBandExtShowInput = input(true, title='Show Oversold/Overbought Extended Lines', group='Show/Hide Settings')
rsiHighlightShowInput = input(true, title='Show Oversold/Overbought Highlight Lines', group='Show/Hide Settings')
DivergenceShowInput = input(true, title='Show RSI Divergence Labels', group='Show/Hide Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Table Settings --------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiShowTable = input(true, title='Show RSI Table Information box', group="RSI Table Settings")
rsiTablePosition = input.string(title='Location', defval='middle_right', options= , group="RSI Table Settings", inline='1')
rsiTextSize = input.string(title=' Size', defval='small', options= , group="RSI Table Settings", inline='1')
rsiShowTF1 = input(true, title='Show TimeFrame1', group="RSI Table Settings", inline='tf1')
rsiTF1 = input.timeframe("15", title=" Time", group="RSI Table Settings", inline='tf1')
rsiShowTF2 = input(true, title='Show TimeFrame2', group="RSI Table Settings", inline='tf2')
rsiTF2 = input.timeframe("60", title=" Time", group="RSI Table Settings", inline='tf2')
rsiShowTF3 = input(true, title='Show TimeFrame3', group="RSI Table Settings", inline='tf3')
rsiTF3 = input.timeframe("240", title=" Time", group="RSI Table Settings", inline='tf3')
rsiShowTF4 = input(true, title='Show TimeFrame4', group="RSI Table Settings", inline='tf4')
rsiTF4 = input.timeframe("D", title=" Time", group="RSI Table Settings", inline='tf4')
rsiShowHist = input(true, title='Show RSI Historical Columns', group="RSI Table Settings", tooltip='Show the information of the 2 previous closed candles')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Input Settings ----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiSourceInput = input.source(close, 'Source', group='RSI Settings')
rsiLengthInput = input.int(14, minval=1, title='RSI Length', group='RSI Settings', tooltip='Here we set the RSI lenght')
rsiColorInput = input.color(#26a69a, title="RSI Color", group='RSI Settings')
rsimaColorInput = input.color(#ef534f, title="RSIMA Color", group='RSI Settings')
rsiBandColorInput = input.color(#787B86, title="RSI Band Color", group='RSI Settings')
rsiUpperBandExtInput = input.int(title='RSI Overbought Extended Line', defval=80, minval=50, maxval=100, group='RSI Settings')
rsiUpperBandInput = input.int(title='RSI Overbought Line', defval=70, minval=50, maxval=100, group='RSI Settings')
rsiLowerBandInput = input.int(title='RSI Oversold Line', defval=30, minval=0, maxval=50, group='RSI Settings')
rsiLowerBandExtInput = input.int(title='RSI Oversold Extended Line', defval=20, minval=0, maxval=50, group='RSI Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Input Settings -----------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
maTypeInput = input.string("EMA", title="MA Type", options= , group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
maColorInput = input.color(color.yellow, title="MA Color", group='MA Settings') //#7E57C2
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Input Settings ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
lbrInput = input(title="Pivot Lookback Right", defval=2, group='RSI Divergence Settings')
lblInput = input(title="Pivot Lookback Left", defval=2, group='RSI Divergence Settings')
lbRangeMaxInput = input(title="Max of Lookback Range", defval=10, group='RSI Divergence Settings')
lbRangeMinInput = input(title="Min of Lookback Range", defval=2, group='RSI Divergence Settings')
plotBullInput = input(title="Plot Bullish", defval=true, group='RSI Divergence Settings')
plotHiddenBullInput = input(title="Plot Hidden Bullish", defval=true, group='RSI Divergence Settings')
plotBearInput = input(title="Plot Bearish", defval=true, group='RSI Divergence Settings')
plotHiddenBearInput = input(title="Plot Hidden Bearish", defval=true, group='RSI Divergence Settings')
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- RSI Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsi = ta.rsi(rsiSourceInput, rsiLengthInput)
rsiprevious = rsi
= request.security(syminfo.tickerid, rsiTF1, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF2, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF3, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
= request.security(syminfo.tickerid, rsiTF4, [rsi, rsi , rsi ], lookahead=barmerge.lookahead_on)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- MA Calculation -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
rsiMA = ma(rsi, maLengthInput, maTypeInput)
rsiMAPrevious = rsiMA
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Stoch RSI Settings + Calculation --------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
showStochRSI = input(false, title="Show Stochastic RSI", group='Stochastic RSI Settings')
smoothK = input.int(title="Stochastic K", defval=3, minval=1, maxval=10, group='Stochastic RSI Settings')
smoothD = input.int(title="Stochastic D", defval=4, minval=1, maxval=10, group='Stochastic RSI Settings')
lengthRSI = input.int(title="Stochastic RSI Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
lengthStoch = input.int(title="Stochastic Lenght", defval=14, minval=1, group='Stochastic RSI Settings')
colorK = input.color(color.rgb(41,98,255,0), title="K Color", group='Stochastic RSI Settings', inline="1")
colorD = input.color(color.rgb(205,109,0,0), title="D Color", group='Stochastic RSI Settings', inline="1")
StochRSI = ta.rsi(rsiSourceInput, lengthRSI)
k = ta.sma(ta.stoch(StochRSI, StochRSI, StochRSI, lengthStoch), smoothK) //Blue Line
d = ta.sma(k, smoothD) //Red Line
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Divergence Settings ------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bearColor = color.red
bullColor = color.green
hiddenBullColor = color.new(color.green, 50)
hiddenBearColor = color.new(color.red, 50)
//textColor = color.white
noneColor = color.new(color.white, 100)
osc = rsi
plFound = na(ta.pivotlow(osc, lblInput, lbrInput)) ? false : true
phFound = na(ta.pivothigh(osc, lblInput, lbrInput)) ? false : true
_inRange(cond) =>
bars = ta.barssince(cond == true)
lbRangeMinInput <= bars and bars <= lbRangeMaxInput
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define Plot & Line Colors ---------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
rsiColor = rsi >= rsiMA ? rsiColorInput : rsimaColorInput
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Lines ------------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Create a horizontal line at a specific price level
myLine = line.new(bar_index , 75, bar_index, 75, color = color.rgb(187, 14, 14), width = 2)
bottom = line.new(bar_index , 50, bar_index, 50, color = color.rgb(223, 226, 28), width = 2)
mymainLine = line.new(bar_index , 60, bar_index, 60, color = color.rgb(13, 154, 10), width = 3)
hline(50, title='RSI Baseline', color=color.new(rsiBandColorInput, 50), linestyle=hline.style_solid, editable=false)
hline(rsiBandExtShowInput ? rsiUpperBandExtInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandShowInput ? rsiUpperBandInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandShowInput ? rsiLowerBandInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
hline(rsiBandExtShowInput ? rsiLowerBandExtInput : na, title='RSI Upper Band', color=color.new(rsiBandColorInput, 10), linestyle=hline.style_dashed, editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandExtInput ? color.new(rsiColorInput, 70) : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi >= rsiUpperBandInput ? rsi < rsiUpperBandExtInput ? color.new(#64ffda, 90) : na : na: na, title="Show Overbought Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? rsi > rsiLowerBandExtInput ? color.new(#F43E32, 90) : na : na : na, title="Show Extended Oversold Highlight", editable=false)
bgcolor(rsiHighlightShowInput ? rsi <= rsiLowerBandInput ? color.new(rsimaColorInput, 70) : na : na, title="Show Oversold Highlight", editable=false)
maPlot = plot(maShowInput ? rsiMA : na, title='MA', color=color.new(maColorInput,0), linewidth=1)
rsiMAPlot = plot(showRSIMAInput ? rsiMA : na, title="RSI EMA", color=color.new(rsimaColorInput,0), editable=false, display=display.none)
rsiPlot = plot(rsiShowInput ? rsi : na, title='RSI', color=color.new(rsiColor,0), linewidth=1)
fill(rsiPlot, rsiMAPlot, color=color.new(rsiColor, 60), title="RSIMA Cloud")
plot(showStochRSI ? k : na, title='Stochastic K', color=colorK, linewidth=1)
plot(showStochRSI ? d : na, title='Stochastic D', color=colorD, linewidth=1)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Plot Divergence -------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Regular Bullish
// Osc: Higher Low
oscHL = osc > ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Lower Low
priceLL = low < ta.valuewhen(plFound, low , 1)
bullCond = plotBullInput and priceLL and oscHL and plFound
plot(
plFound ? osc : na,
offset=-lbrInput,
title="Regular Bullish",
linewidth=2,
color=(bullCond ? bullColor : noneColor)
)
plotshape(
DivergenceShowInput ? bullCond ? osc : na : na,
offset=-lbrInput,
title="Regular Bullish Label",
text=" Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bullish
// Osc: Lower Low
oscLL = osc < ta.valuewhen(plFound, osc , 1) and _inRange(plFound )
// Price: Higher Low
priceHL = low > ta.valuewhen(plFound, low , 1)
hiddenBullCond = plotHiddenBullInput and priceHL and oscLL and plFound
plot(
plFound ? osc : na,
offset=-lbrInput,
title="Hidden Bullish",
linewidth=2,
color=(hiddenBullCond ? hiddenBullColor : noneColor)
)
plotshape(
DivergenceShowInput ? hiddenBullCond ? osc : na : na,
offset=-lbrInput,
title="Hidden Bullish Label",
text=" H Bull ",
style=shape.labelup,
location=location.absolute,
color=bullColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Regular Bearish
// Osc: Lower High
oscLH = osc < ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Higher High
priceHH = high > ta.valuewhen(phFound, high , 1)
bearCond = plotBearInput and priceHH and oscLH and phFound
plot(
phFound ? osc : na,
offset=-lbrInput,
title="Regular Bearish",
linewidth=2,
color=(bearCond ? bearColor : noneColor)
)
plotshape(
DivergenceShowInput ? bearCond ? osc : na : na,
offset=-lbrInput,
title="Regular Bearish Label",
text=" Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//------------------------------------------------------------------------------
// Hidden Bearish
// Osc: Higher High
oscHH = osc > ta.valuewhen(phFound, osc , 1) and _inRange(phFound )
// Price: Lower High
priceLH = high < ta.valuewhen(phFound, high , 1)
hiddenBearCond = plotHiddenBearInput and priceLH and oscHH and phFound
plot(
phFound ? osc : na,
offset=-lbrInput,
title="Hidden Bearish",
linewidth=2,
color=(hiddenBearCond ? hiddenBearColor : noneColor)
)
plotshape(
DivergenceShowInput ? hiddenBearCond ? osc : na : na,
offset=-lbrInput,
title="Hidden Bearish Label",
text=" H Bear ",
style=shape.labeldown,
location=location.absolute,
color=bearColor,
textcolor=textColor
)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Check RSI Lineup ------------------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
bullTF = rsi > rsi and rsi > rsi
bearTF = rsi < rsi and rsi < rsi
bullTF1 = rsi1 > rsi1_1 and rsi1_1 > rsi1_2
bearTF1 = rsi1 < rsi1_1 and rsi1_1 < rsi1_2
bullTF2 = rsi2 > rsi2_1 and rsi2_1 > rsi2_2
bearTF2 = rsi2 < rsi2_1 and rsi2_1 < rsi2_2
bullTF3 = rsi3 > rsi3_1 and rsi3_1 > rsi3_2
bearTF3 = rsi3 < rsi3_1 and rsi3_1 < rsi3_2
bullTF4 = rsi4 > rsi4_1 and rsi4_1 > rsi4_2
bearTF4 = rsi4 < rsi4_1 and rsi4_1 < rsi4_2
bbTxt(bull,bear) =>
bull ? "BULLISH" : bear ? "BEARISCH" : 'NO LINEUP'
bbColor(bull,bear) =>
bull ? bullishColor : bear ? bearishColor : nomatchColor
newTC(tBox, col, row, txt, width, txtColor, bgColor, txtHA, txtSize) =>
table.cell(table_id=tBox,column=col, row=row, text=txt, width=width,text_color=txtColor,bgcolor=bgColor, text_halign=txtHA, text_size=txtSize)
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--- Define RSI Table Setting ----------------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------
width_c0 = 0
width_c1 = 0
if rsiShowTable
var tBox = table.new(position=rsiTablePosition, columns=5, rows=6, bgcolor=color.rgb(18,22,33,50), frame_color=color.black, frame_width=1, border_color=color.black, border_width=1)
newTC(tBox, 0,1,"RSI Current",width_c0,color.orange,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,1,str.format(" {0,number,#.##} ", rsi),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,1,bbTxt(bullTF, bearTF),width_c0,vWhite,bbColor(bullTF, bearTF),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,1,str.format(" {0,number,#.##} ", rsi ),width_c0,vWhite,rsi < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF1
newTC(tBox, 0,2,TF2txt(rsiTF1),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,2,str.format(" {0,number,#.##} ", rsi1),width_c0,vWhite,rsi1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,2,bbTxt(bullTF1, bearTF1),width_c0,vWhite,bbColor(bullTF1,bearTF1),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,2,str.format(" {0,number,#.##} ", rsi1_1),width_c0,vWhite,rsi1_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,2,str.format(" {0,number,#.##} ", rsi1_2),width_c0,vWhite,rsi1_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF2
newTC(tBox, 0,3,TF2txt(rsiTF2),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,3,str.format(" {0,number,#.##} ", rsi2),width_c0,vWhite,rsi2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,3,bbTxt(bullTF2, bearTF2),width_c0,vWhite,bbColor(bullTF2,bearTF2),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,3,str.format(" {0,number,#.##} ", rsi2_1),width_c0,vWhite,rsi2_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,3,str.format(" {0,number,#.##} ", rsi2_2),width_c0,vWhite,rsi2_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF3
newTC(tBox, 0,4,TF2txt(rsiTF3),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,4,str.format(" {0,number,#.##} ", rsi3),width_c0,vWhite,rsi3 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,4,bbTxt(bullTF3, bearTF3),width_c0,vWhite,bbColor(bullTF3,bearTF3),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,4,str.format(" {0,number,#.##} ", rsi3_1),width_c0,vWhite,rsi3_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,4,str.format(" {0,number,#.##} ", rsi3_2),width_c0,vWhite,rsi3_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
if rsiShowTF4
newTC(tBox, 0,5,TF2txt(rsiTF4),width_c0,vWhite,color.rgb(0,0,0,100),'right',rsiTextSize)
newTC(tBox, 1,5,str.format(" {0,number,#.##} ", rsi4),width_c0,vWhite,rsi4 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 4,5,bbTxt(bullTF4, bearTF4),width_c0,vWhite,bbColor(bullTF4,bearTF4),'center',rsiTextSize)
if rsiShowHist
newTC(tBox, 2,5,str.format(" {0,number,#.##} ", rsi4_1),width_c0,vWhite,rsi4_1 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
newTC(tBox, 3,5,str.format(" {0,number,#.##} ", rsi4_2),width_c0,vWhite,rsi4_2 < 50 ? bearishColor:bullishColor,'left',rsiTextSize)
//------------------------------------------------------
//--- Alerts -------------------------------------------
//------------------------------------------------------
Relative Strength Index Remastered [CHE]Relative Strength Index Remastered — Enhanced RSI with robust divergence detection using price-based pivots and line-of-sight validation to reduce false signals compared to the standard RSI indicator.
Summary
RSI Remastered builds on the classic Relative Strength Index by adding a more reliable divergence detection system that relies on price pivots rather than RSI pivots alone, incorporating a line-of-sight check to ensure the RSI path between points remains clear. This approach filters out many false divergences that occur in the original RSI indicator due to its volatile pivot detection on the RSI line itself. Users benefit from clearer reversal and continuation signals, especially in noisy markets, with optional hidden divergence support for trend confirmation. The core RSI calculation and smoothing options remain familiar, but the divergence logic provides materially fewer alerts while maintaining sensitivity.
Motivation: Why this design?
The standard RSI indicator often generates misleading divergence signals because it detects pivots directly on the RSI values, which can fluctuate erratically in volatile conditions, leading to frequent false positives that confuse traders during ranging or choppy price action. RSI Remastered addresses this by shifting pivot detection to the underlying price highs and lows, which are more stable, and adding a validation step that confirms the RSI line does not cross the direct path between pivot points. This design targets the real problem of over-signaling in the original, promoting more actionable insights without altering the RSI's core momentum measurement.
What’s different vs. standard approaches?
- Reference baseline: The classical TradingView RSI indicator, which uses simple RSI-based pivot detection for divergences.
- Architecture differences:
- Pivot identification on price extremes (highs and lows) instead of RSI values, extracting RSI levels at those points for comparison.
- Addition of a line-of-sight validation that checks the RSI path bar by bar between pivots to prevent signals where the line is interrupted.
- Inclusion of hidden divergence types alongside regular ones, using the same robust framework.
- Configurable drawing of connecting lines between validated pivot RSI points for visual clarity.
- Practical effect: Charts show fewer but higher-quality divergence markers and lines, reducing clutter from the original's frequent RSI pivot triggers; this matters for avoiding whipsaws in intraday trading, where the standard version might flag dozens of invalid setups per session.
Key Comparison Aspects
Aspect: Title/Shorttitle
Original RSI: "Relative Strength Index" / "RSI"
Robust Variant: "Relative Strength Index Remastered " / "RSI RM"
Aspect: Max. Lines/Labels
Original RSI: No specification (Standard: 50/50)
Robust Variant: max_lines_count=200, max_labels_count=200 (for more lines/markers in divergences)
Aspect: RSI Calculation & Plots
Original RSI: Identical: RSI with RMA, Plots (line, bands, gradient fills)
Robust Variant: Identical: RSI with RMA, Plots (line, bands, gradient fills)
Aspect: Smoothing (MA)
Original RSI: Identical: Inputs for MA types (SMA, EMA etc.), Bollinger Bands optional
Robust Variant: Identical: Inputs for MA types (SMA, EMA etc.), Bollinger Bands optional
Aspect: Divergence Activation
Original RSI: input.bool(false, "Calculate Divergence") (disabled by default)
Robust Variant: input.bool(true, "Calculate Divergence") (enabled by default, with tooltip)
Aspect: Pivot Calculation
Original RSI: Pivots on RSI (ta.pivotlow/high on RSI values)
Robust Variant: Pivots on price (ta.pivotlow/high on low/high), RSI values then extracted
Aspect: Lookback Values
Original RSI: Fixed: lookbackLeft=5, lookbackRight=5
Robust Variant: Input: L=5 (Pivot Left), R=5 (Pivot Right), adjustable (min=1, max=50)
Aspect: Range Between Pivots
Original RSI: Fixed: rangeUpper=60, rangeLower=5 (via _inRange function)
Robust Variant: Input: rangeUpper=60 (Max Bars), rangeLower=5 (Min Bars), adjustable (min=1–6, max=100–300)
Aspect: Divergence Types
Original RSI: Only Regular Bullish/Bearish: - Bull: Price LL + RSI HL - Bear: Price HH + RSI LH
Robust Variant: Regular + Hidden (optional via showHidden=true): - Regular Bull: Price LL + RSI HL - Regular Bear: Price HH + RSI LH - Hidden Bull: Price HL + RSI LL - Hidden Bear: Price LH + RSI HH
Aspect: Validation
Original RSI: No additional check (only pivot + range check)
Robust Variant: Line-of-Sight Check: RSI line must not cross the connecting line between pivots (line_clear function with slope calculation and loop for each bar in between)
Aspect: Signals (Plots/Shapes)
Original RSI: - Plot of pivot points (if divergence) - Shapes: "Bull"/"Bear" at RSI value, offset=-5
Robust Variant: - No pivot plots, instead shapes at RSI , offset=-R (adjustable) - Shapes: "Bull"/"Bear" (Regular), "HBull"/"HBear" (Hidden) - Colors: Lime/Red (Regular), Teal/Orange (Hidden)
Aspect: Line Drawing
Original RSI: No lines
Robust Variant: Optional (showLines=true): Lines between RSI pivots (thick for regular, dashed/thin for hidden), extend=none
Aspect: Alerts
Original RSI: Only Regular Bullish/Bearish (with pivot lookback reference)
Robust Variant: Regular Bullish/Bearish + Hidden Bullish/Bearish (specific "at latest pivot low/high")
Aspect: Robustness
Original RSI: Simple, prone to false signals (RSI pivots can be volatile)
Robust Variant: Higher: Price pivots are more stable, line-of-sight filters "broken" divergences, hidden support for trend continuations
Aspect: Code Length/Structure
Original RSI: ~100 lines, simple if-blocks for bull/bear
Robust Variant: ~150 lines, extended helper functions (e.g., inRange, line_clear), var group for inputs
How it works (technical)
The indicator first computes the core RSI value based on recent price changes, separating upward and downward movements over the specified length and smoothing them to derive a momentum reading scaled between zero and one hundred. This value is then plotted in a separate pane with fixed upper and lower reference lines at seventy and thirty, along with optional gradient fills to highlight overbought and oversold zones.
For smoothing, a moving average type is applied to the RSI if enabled, with an option to add bands around it based on the variability of recent RSI values scaled by a multiplier. Divergence detection activates on confirmed price pivots: lows for bullish checks and highs for bearish. At each new pivot, the system retrieves the bar index and values (price and RSI) for the current and prior pivot, ensuring they fall within a configurable bar range to avoid unrelated points.
Comparisons then assess whether the price has made a lower low (or higher high) while the RSI at those points moves in the opposite direction—higher for bullish regular, lower for bearish regular. For hidden types, the directions reverse to capture trend strength. The line-of-sight check calculates the straight path between the two RSI points and verifies that the actual RSI values in between stay entirely above (for bullish) or below (for bearish) that path, breaking the signal if any bar violates it. Valid signals trigger shapes at the RSI level of the new pivot and optional lines connecting the points. Initialization uses built-in functions to track prior occurrences, with states persisting across bars for accurate historical comparisons. No higher timeframe data is used, so confirmation occurs after the right pivot bars close, minimizing live-bar repaints.
Parameter Guide
Length — Controls the period for measuring price momentum changes — Default: 14 — Trade-offs/Tips: Shorter values increase responsiveness but add noise and more false signals; longer smooths trends but delays entries in fast markets.
Source — Selects the price input for RSI calculation — Default: Close — Trade-offs/Tips: Use high or low for volatility focus, but close works best for most assets; mismatches can skew overbought/oversold reads.
Calculate Divergence — Enables the enhanced divergence logic — Default: True — Trade-offs/Tips: Disable for pure RSI view to save computation; essential for signal reliability over the standard method.
Type (Smoothing) — Chooses the moving average applied to RSI — Default: SMA — Trade-offs/Tips: None for raw RSI; EMA for quicker adaptation, but SMA reduces whipsaws; Bollinger Bands option adds volatility context at cost of added lines.
Length (Smoothing) — Period for the smoothing average — Default: 14 — Trade-offs/Tips: Match RSI length for consistency; shorter boosts signal speed but amplifies noise in the smoothed line.
BB StdDev — Multiplier for band width around smoothed RSI — Default: 2.0 — Trade-offs/Tips: Lower narrows bands for tighter signals, risking more touches; higher widens for fewer but stronger breakouts.
Pivot Left — Bars to the left for confirming price pivots — Default: 5 — Trade-offs/Tips: Increase for stricter pivots in noisy data, reducing signals; too high delays confirmation excessively.
Pivot Right — Bars to the right for confirming price pivots — Default: 5 — Trade-offs/Tips: Balances with left for symmetry; longer right ensures maturity but shifts signals backward.
Max Bars Between Pivots — Upper limit on distance for valid pivot pairs — Default: 60 — Trade-offs/Tips: Tighten for short-term trades to focus recent action; widen for swing setups but risks unrelated comparisons.
Min Bars Between Pivots — Lower limit to avoid clustered pivots — Default: 5 — Trade-offs/Tips: Raise to filter micro-moves; too low invites overlapping signals like the original RSI.
Detect Hidden — Includes trend-continuation hidden types — Default: True — Trade-offs/Tips: Enable for full trend analysis; disable simplifies to reversals only, akin to basic RSI.
Draw Lines — Shows connecting lines between valid pivots — Default: True — Trade-offs/Tips: Turn off for cleaner charts; helps visually confirm line-of-sight in backtests.
Reading & Interpretation
The main RSI line oscillates between zero and one hundred, crossing above fifty suggesting building momentum and below indicating weakness; touches near seventy or thirty flag potential extremes. The optional smoothed line and bands provide a filtered view—price above the upper band on the RSI pane hints at overextension. Divergence shapes appear as upward labels for bullish (lime for regular, teal for hidden) and downward for bearish (red regular, orange hidden) at the pivot's RSI level, signaling a mismatch only after validation. Connecting lines, if drawn, slope between points without RSI interference, their color matching the shape type; a dashed style denotes hidden. Fewer shapes overall compared to the standard RSI mean higher conviction, but always confirm with price structure.
Practical Workflows & Combinations
- Trend following: Enter longs on regular bullish shapes near support with higher highs in price; filter hidden bullish for pullback buys in uptrends, pairing with a rising smoothed RSI above fifty.
- Exits/Stops: Use bearish regular as reversal warnings to tighten stops; hidden bearish in downtrends confirms continuation—exit if lines show RSI crossing the path.
- Multi-asset/Multi-TF: Defaults suit forex and stocks on one-hour charts; for crypto volatility, widen pivot ranges to ten; scale min/max bars proportionally on daily for swings, avoiding the original's intraday spam.
Behavior, Constraints & Performance
Signals confirm only after the right pivot bars close, so live bars may show tentative pivots that vanish on close, unlike the standard RSI's immediate RSI-pivot triggers—plan for this delay in automation. No higher timeframe calls, so no security-related repaints. Resources include up to two hundred lines and labels for dense charts, with a loop in validation scanning up to three hundred bars between pivots, which is efficient but could slow on very long histories. Known limits: Slight lag at pivot confirmation in trending markets; volatile RSI might rarely miss fine path violations; not ideal for gap-heavy assets where pivots skip.
Sensible Defaults & Quick Tuning
Start with defaults for balanced momentum and divergence on most timeframes. For too many signals (like the original), raise pivot left/right to eight and min bars to ten to filter noise. If sluggish in trends, shorten RSI length to nine and enable EMA smoothing for faster adaptation. In high-volatility assets, widen max bars to one hundred but disable hidden to focus essentials. For clean reversal hunts, set smoothing to none and lines on.
What this indicator is—and isn’t
RSI Remastered serves as a refined momentum and divergence visualization tool, enhancing the standard RSI for better signal quality in technical analysis setups. It is not a standalone trading system, nor does it predict price moves—pair it with volume, structure breaks, and risk rules for decisions. Use alongside position sizing and broader context, not in isolation.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Flux Momentum Oscillator[BullByte]Flux Momentum Oscillator is a professional-grade momentum analysis system built on an original methodology called Momentum Flux Bars (MFB). Unlike conventional oscillators that measure momentum over fixed time periods, this indicator constructs synthetic momentum bars based on actual price movement, creating a pure representation of directional pressure independent of time-based noise.
This is NOT a mashup or combination of existing indicators. The entire system is built from the ground up around a single cohesive concept: measuring momentum through price-triggered synthetic bars rather than time-triggered calculations.
CORE INNOVATION: MOMENTUM FLUX BARS (MFB)
Traditional momentum indicators calculate values at fixed time intervals, which means a slow, grinding move receives the same measurement weight as a fast, explosive move occurring over the same number of bars. This creates distortion in momentum readings.
Momentum Flux Bars solve this problem by forming only when price travels a volatility-adjusted distance. Each MFB represents genuine directional commitment from market participants.
Key Properties of Momentum Flux Bars:
- Form based on price movement, not time passage
- Automatically adjust their formation threshold based on current volatility
- Capture the velocity of price movement (how quickly each bar forms)
- Record volume participation during formation
- Create a noise-filtered view of true market momentum
The oscillator then analyzes the pattern, velocity, and characteristics of recent MFB formations to produce its readings.
WHY THIS APPROACH MATTERS FOR TRADERS
Time-Based Problem: A 14-period RSI on a choppy day produces the same calculation structure as on a trending day, even though market behavior differs completely. The indicator cannot distinguish between meaningful moves and noise.
Flux-Based Solution: When price chops sideways, fewer MFBs form because price fails to travel the required distance. When price trends strongly, MFBs form rapidly in sequence. The oscillator inherently adapts to actual market behavior.
Practical Benefits:
- Cleaner signals during trending conditions
- Automatic noise reduction during consolidation
- Earlier detection of momentum shifts through velocity analysis
- Reduced false signals in choppy markets
- No manual adjustment needed across different market conditions
COMPLETE FEATURE BREAKDOWN
FEATURE 1: AUTO-OPTIMIZATION ENGINE
The indicator includes an optional auto-optimization system that continuously evaluates different sensitivity parameters and selects the configuration producing the cleanest momentum measurement for current conditions.
How It Works:
- Tests multiple ATR multiplier values against recent price history
- Scores each configuration based on trend capture efficiency
- Automatically applies the optimal setting
- Re-evaluates periodically to adapt to changing conditions
Trader Benefit: Eliminates the guesswork of parameter tuning. The indicator finds its own optimal settings.
FEATURE 2: MARKET REGIME CLASSIFICATION
The system classifies current market conditions into four distinct regimes based on MFB formation patterns:
EXPLOSIVE: Rapid MFB formation with strong directional bias and high volume participation. Indicates powerful trending conditions with high momentum.
STEADY: Consistent MFB formation in a primary direction with normal velocity. Represents healthy, sustainable trends suitable for trend-following approaches.
CONSOLIDATING: Mixed direction MFB formation with decreasing velocity. Suggests range-bound conditions where breakout strategies may be appropriate.
DEAD: Minimal MFB formation activity. Indicates extremely low volatility or market indecision. Often precedes significant moves.
Trader Benefit: Instantly understand current market character and adjust strategy accordingly.
FEATURE 3: VELOCITY DIVERGENCE DETECTION
This advanced feature monitors the formation speed of Momentum Flux Bars and compares it against price direction.
Velocity Divergence Bearish: Price making higher highs but MFBs forming progressively slower. Suggests buying pressure is weakening despite higher prices.
Velocity Divergence Bullish: Price making lower lows but MFBs forming progressively slower. Suggests selling pressure is weakening despite lower prices.
Trader Benefit: Early warning system for potential reversals before they appear on price charts.
FEATURE 4: MOMENTUM EXHAUSTION DETECTION
The system identifies when a trending move may be running out of energy by analyzing the duration pattern of consecutive same-direction MFBs.
Exhaustion Pattern: When each successive MFB in a trend takes progressively longer to form, it indicates diminishing momentum even though direction remains unchanged.
States Displayed:
- BUILDING: Momentum is increasing or stable
- PEAK: Maximum momentum velocity reached
- EXHAUSTING: Progressive slowdown detected
Trader Benefit: Know when a trend is losing steam before price reverses.
FEATURE 5: HIGHER TIMEFRAME ALIGNMENT
The indicator checks whether higher timeframe MFB direction supports or conflicts with current timeframe momentum.
ALIGNED BULL: Both timeframes showing bullish MFB direction
ALIGNED BEAR: Both timeframes showing bearish MFB direction
DIVERGENT: Timeframes showing opposing directions
NEUTRAL: Higher timeframe direction unclear
Trader Benefit: Trade with higher timeframe support for higher probability setups.
FEATURE 6: CHOPPY MARKET DETECTION
A dedicated algorithm analyzes recent MFB patterns to determine if the market is in a choppy, directionless state.
Detection Factors:
- Frequency of direction changes in recent MFBs
- Lack of consecutive same-direction formations
- Weak directional bias in the MFB sequence
Trader Benefit: Avoid trend-following strategies when market conditions do not support them.
FEATURE 7: TREND STRENGTH MEASUREMENT
A percentage-based strength reading derived from MFB pattern analysis.
Flux Momentum Oscillator Chart Example
Chart Overview: Bitcoin 15-Minute Chart (Dec 21, 2025)
BTCUSD Market Snapshot
Price: $88,854.53 | Oscillator: 77.38 | Direction: BULLISH | Regime: EXPLOSIVE
1. EXPLOSIVE REGIME DETECTION (Current State - Right Side)
2. MOMENTUM EXHAUSTION ZONE (Mid-Chart)
3. CHOP/CONSOLIDATION PERIOD (Before Breakout)
4. VELOCITY DIVERGENCE (Around 21:00 the previous day)
5. BULLISH MOMENTUM SHIFT (Around 09:00)
6. FORMATION PROGRESS BAR (Bottom of Oscillator)
7. TREND STRENGTH INDICATOR (Bottom Bar)
8. EXTREME ZONES (Top and Bottom Boundaries)
Reading Interpretation:
- Above 70%: Strong trending conditions
- 40% to 70%: Moderate trend or developing move
- Below 40%: Weak trend or choppy conditions
Visual representation provided via the strength bar at the bottom of the indicator panel.
HOW TO READ THE OSCILLATOR PLOT
OSCILLATOR LINE (Main Line):
- Ranges from -100 to +100
- Above zero indicates bullish momentum
- Below zero indicates bearish momentum
- Color intensity reflects momentum direction and strength
- Glow effect (optional) enhances visibility of the main reading
SIGNAL LINE (Secondary Line):
- Smoothed version of the oscillator
- Crossovers indicate momentum shifts
- Purple/accent colored for visual distinction
HISTOGRAM BARS:
- Represent the difference between oscillator and signal line
- Increasing histogram in direction of oscillator confirms momentum
- Decreasing histogram warns of potential momentum shift
- Bright colors indicate increasing momentum
- Faded colors indicate decreasing momentum
ZONE INTERPRETATION:
+75 to +100 (Extreme Bullish Zone):
Very strong bullish momentum. Price has moved significantly and rapidly. Watch for exhaustion patterns. Not ideal for new long entries. Consider profit-taking on existing longs.
+50 to +75 (Strong Bullish Zone):
Healthy bullish momentum. Good conditions for trend-following long strategies. Pullbacks to signal line often provide continuation opportunities.
0 to +50 (Mild Bullish Zone):
Positive but moderate momentum. Trend may be developing or maturing. Watch for strength building or fading.
0 to -50 (Mild Bearish Zone):
Negative but moderate momentum. Downtrend may be developing or maturing. Watch for weakness building or recovering.
-50 to -75 (Strong Bearish Zone):
Healthy bearish momentum. Good conditions for trend-following short strategies. Rallies to signal line often provide continuation opportunities.
-75 to -100 (Extreme Bearish Zone):
Very strong bearish momentum. Price has moved significantly and rapidly to downside. Watch for exhaustion patterns. Not ideal for new short entries. Consider profit-taking on existing shorts.
HOW TO READ THE DASHBOARD
The dashboard provides comprehensive market analysis at a glance. Each row displays specific information:
OSCILLATOR ROW:
Shows current oscillator value with directional icon.
indicates reading above +50 (High)
indicates reading below -50 (Low)
DIRECTION ROW:
Current MFB direction.
BULLISH: Recent MFB formed upward
BEARISH: Recent MFB formed downward
NEUTRAL: No recent MFB or unclear
REGIME ROW:
Current market regime classification.
EXPLOSIVE / STEADY / CONSOLIDATING / DEAD
Color coded for quick recognition.
MARKET ROW:
Trend state assessment.
TRENDING UP: Confirmed uptrend in progress
TRENDING DN: Confirmed downtrend in progress
CHOPPY: No clear trend, high direction changes
MIXED: Partial trend characteristics
STRENGTH ROW:
Visual bar showing trend strength percentage.
More filled bars indicate stronger trend.
Color shifts from red (weak) to yellow (moderate) to green (strong).
VELOCITY ROW:
MFB formation speed status.
ACCELERATING: MFBs forming faster over time
STEADY: Consistent formation speed
DECELERATING: MFBs forming slower over time
MOMENTUM ROW:
Momentum development status.
BUILDING: Momentum increasing
PEAK: Maximum momentum reached
EXHAUSTING: Momentum declining despite same direction
HTF ALIGN ROW:
Higher timeframe alignment status.
BULL: HTF supports bullish bias
BEAR: HTF supports bearish bias
DIVERGENT: HTF opposes current direction
NEUTRAL: HTF unclear
FORMING ROW:
Progress toward next MFB formation.
Visual bar fills as price approaches formation threshold.
Helps anticipate when next MFB will complete.
Additional rows (when not in Compact Mode):
- Flux Size: Current MFB formation threshold value
- ATR Mult: Current optimized ATR multiplier (when auto-optimization enabled)
- Regime %: Numerical regime score
FORMATION PROGRESS INDICATOR
The horizontal line near the bottom of the indicator panel shows progress toward the next MFB formation.
Reading the Progress Line:
- Starts at baseline after each MFB completion
- Rises as price moves toward formation threshold
- Higher position indicates imminent MFB formation
- Color changes from neutral to accent to warning as formation approaches
Practical Use:
- Anticipate when new momentum data will become available
- Gauge intra-bar momentum development
- Understand why signals occur when they do
TREND STRENGTH BAR
The horizontal bar at the very bottom of the indicator displays trend strength visually.
Components:
- Gray background bar represents full scale (0-100%)
- Colored fill represents current strength reading
- Label displays exact percentage value
Color Interpretation:
- Green fill: Strong trend (above 70%)
- Yellow fill: Moderate trend (40-70%)
- Red fill: Weak trend (below 40%)
RECOMMENDED USAGE GUIDELINES
TIMEFRAME RECOMMENDATIONS:
Scalping (1m to 5m):
- Use lower Flux Period (8-10) for faster response
- Focus on oscillator crossovers and histogram momentum
- Regime should be STEADY or EXPLOSIVE for best results
Day Trading (5m to 30m):
- Default settings work well
- Use HTF alignment with 1H or 4H for confirmation
- Avoid trading when regime shows DEAD
Swing Trading (1H to 4H):
- Consider higher Flux Period (18-21) for smoother signals
- Regime classification becomes very valuable
- Velocity divergence provides excellent early warnings
Position Trading (Daily and above):
- Higher Flux Period (21-30) recommended
- Focus on regime changes and exhaustion patterns
- HTF alignment less relevant, oscillator zones more important
ASSET CLASS NOTES:
Forex: Works well on major pairs. Consider slightly higher sensitivity on less volatile pairs.
Crypto: Higher volatility may require lower sensitivity multiplier. Regime detection particularly useful.
Stocks: Excellent for liquid stocks. Less effective on illiquid names due to gappy price action.
Indices: Very effective. Clean price action produces clean MFB patterns.
Commodities: Works well, especially on gold and oil. Adjust sensitivity for different volatility profiles.
SETTINGS OVERVIEW
MODE AND THEME:
- Trading Mode: Simple (clean), Pro (full data), Hybrid (balanced)
- Visual Theme: Dark, Light, Neon, Stealth
- Compact Dashboard: Reduces dashboard rows
FLUX ENGINE:
- Flux Calculation Method: Choose optimization approach
- Enable Auto-Optimization: Let indicator find optimal parameters
- Flux Period: Base volatility calculation period
- Sensitivity Multiplier: Adjust MFB formation threshold
- Optimization Lookback: Bars analyzed for optimization
- Optimization Frequency: How often to re-optimize
OSCILLATOR:
- Oscillator Smoothing: Main line smoothness
- Signal Line Length: Signal line responsiveness
- Momentum Depth: MFBs analyzed for oscillator
- Histogram Scale: Visual scaling of histogram
MARKET STATE:
- Chop Detection Window: MFBs analyzed for chop detection
- Chop Threshold: Sensitivity of chop classification
- Min Trend Confirmation: Consecutive bars for trend confirmation
ADVANCED ANALYSIS:
- Enable Regime Classification: Market regime detection
- Enable Velocity Divergence: Formation speed analysis
- Enable Exhaustion Detection: Trend exhaustion warnings
- Enable HTF Alignment: Higher timeframe checking
- Higher Timeframe: Which timeframe to check
VISUALS:
- Glow Effect: Visual enhancement on oscillator
- Show Zone Fills: Background zone coloring
- Show Formation Progress: Progress indicator display
- Show Trend Strength Bar: Bottom strength bar
- Show Dashboard: Information panel display
- Dashboard Position: Corner placement
SIGNAL INTERPRETATION GUIDELINES
BULLISH MOMENTUM SHIFT:
Oscillator crosses above signal line while not in extreme bearish territory.
Suggests emerging bullish momentum.
Stronger when occurring near zero line or in mild bearish zone.
BEARISH MOMENTUM SHIFT:
Oscillator crosses below signal line while not in extreme bullish territory.
Suggests emerging bearish momentum.
Stronger when occurring near zero line or in mild bullish zone.
STRONG TREND CONDITIONS:
Oscillator beyond +/-55, in direction of signal line, trend strength above 55%, not choppy.
Indicates conditions favorable for trend-following approaches.
EXTREME ZONES:
Oscillator beyond +/-75.
Diamond markers appear.
Exercise caution with new positions in trend direction.
Watch for exhaustion and divergence signals.
ALERT SYSTEM
The indicator includes comprehensive alerts for automated monitoring:
Momentum Alerts:
- Bullish Momentum Shift
- Bearish Momentum Shift
- Strong Uptrend Initiated
- Strong Downtrend Initiated
Zone Alerts:
- Extreme Bullish Zone Reached
- Extreme Bearish Zone Reached
Market State Alerts:
- Choppy Conditions Detected
- Choppy Conditions Cleared
- Explosive Regime Entered
- Dead Regime Entered
Advanced Alerts:
- Velocity Divergence Detected
- Exhaustion Warning Triggered
- HTF Aligned Bullish
- HTF Aligned Bearish
- HTF Divergence Detected
MFB Alerts:
- Bullish MFB Formed
- Bearish MFB Formed
WHAT THIS INDICATOR IS NOT
This indicator is NOT:
- A buy/sell signal generator (it provides momentum context, not trade signals)
- A standalone trading system (combine with price action and other analysis)
- A guarantee of profitability (no indicator can guarantee results)
- A replacement for risk management (always use proper position sizing and stops)
- A mashup of existing indicators (this is original methodology)
ORIGINALITY STATEMENT
The Momentum Flux Bars concept was designed specifically to address limitations of time-based momentum calculations.
Every component of this system serves the central MFB methodology:
- The oscillator measures MFB directional weight
- The regime classifier interprets MFB patterns
- The velocity analysis tracks MFB formation speed
- The exhaustion detector monitors MFB duration progression
- The HTF alignment checks MFB direction across timeframes
This is a unified analytical framework, not a collection of separate indicators.
TECHNICAL NOTES
Non-Repainting Confirmation:
All signal generation uses confirmed bar data only. MFB formations occur on bar close. Historical signals will not change after they appear.
Performance Considerations:
Auto-optimization runs periodically, not every bar, to maintain performance.
MFB history is trimmed to prevent memory issues on extended sessions.
Reduce Max MFB History if experiencing performance issues.
Symbol and Timeframe Handling:
The indicator resets its MFB history when symbol or timeframe changes.
This ensures clean analysis without carryover from previous contexts.
DISCLAIMER
This indicator is provided for educational and informational purposes only. It is not financial advice and should not be considered as such.
Trading involves substantial risk of loss. Past performance of any trading methodology or indicator does not guarantee future results. The author makes no representations regarding the profitability or suitability of this indicator for any particular purpose.
Users are solely responsible for their own trading decisions. Always use proper risk management, including appropriate position sizing and stop-loss orders. Never risk more than you can afford to lose.
Before using this or any indicator in live trading, thoroughly test it on historical data and in a demo environment. Understand its behavior across different market conditions.
The author is not liable for any losses incurred through the use of this indicator.
Developed by BullByte
Version 1.0.0
Black RSI (Pro Suite)Black RSI (Pro Suite) is combination of RSI (Relative Strength Index), Volume RSI, Heikin Ashi RSI & other multi Oscillators with multi features into one indicator, features like (Quad Divergences, Multi Time Frame RSI, MTF RSI Panel, Oscillator Support/Resistance/Wedges/Trendlines, Oscillator Moving Average/BBs, Smooth RSI, RSI Price Estimator, Oscillator Over bought/sold Bars, Osc OB/OS Zones, Osc OB/OS Highlights, additionally Black RSI indicator is flexible & completely customizable).
Indicator goal: I have tried my best to organized RSI & other suitable oscillators and oscillator useful tools into one simple and free indicator for Tradingview users (specifically for Tradingview 'basic' subscription users). suggestions are always welcome. please give feedback & appreciate if you like my work.
Black RSI Indicator Features Summary:
Black RSI indicator includes many features mainly relevant to RSI and other Oscillators, these are briefly highlighted below:
Black RSI Dashboard
Multi Oscillators: Choose between multiple oscillators. All oscillators settings are customizable.
Multi Symbol: Multi Symbol Support, applicable on all oscillators
RSI (Relative Strength Index)
VRSI (Volume Relative Strength Index)
HA RSI (Heikin Ashi Relative Strength Index)
OBV (On Balance Volume)
CVD (Comulative Volume Delta)
MFI (Money Flow Index)
UO (Ultimate Oscillator)
MOM (Momentum Oscillator)
ATR (Average True Range)
Stoch (Stochastic Oscillator)
Stoch RSI (Stochastic RSI)
Oscillator Primary Tools ◢
Oscillator Moving Average/Bollinger Bands
Smooth RSI
Multi Timeframe RSI
Multi Timeframe RSI Panel
RSI Price Estimator
Oscillator Support/Resistance/Wedges/Trendlines
Oscillator Moving Average/BBs: Shows Moving Average for selected oscillator.
Smooth Smooth: Smooths out RSI
Multi Timeframe RSI: Displays Multiple Time Frame/Multiple Symbol RSI and converts it and shows it as it is in current time frame without effecting Primary RSI
Multi Timeframe RSI Panel: Displays Multiple Time Frame/Multiple Symbol RSI values of user input specific timeframes in compact panel (max 8 Time frames)
RSI Price Estimator: Calculates RSI estimate price values of 3 different user specific RSI input levels, RSI x MA cross price and RSI future value of user specific price input level.
Oscillator Support/Resistance/Wedges/Trendlines: Draws Trendlines, Wedges and Support & Resistance lines on selected oscillator
Oscillator Quad Divergence ◢
1st Oscillator Divergence: Traditional divergence indicator with enhancements & customization
2nd Oscillator Divergence: Traditional divergence indicator with enhancements & customization
3rd Oscillator Divergence: Advanced Divergence indicator with source selection, RSI/Price threshold, potential divergences & customization
4th Oscillator Divergence: Pivots divergence indicator with flexible pivots selection & customization
Regular bullish divergences are indicated when price is forming lower lows while an oscillator shows higher lows.
Regular bearish divergences are indicated when price is forming higher highs while an oscillator shows lower highs.
While regular divergences indicate trend reversals, hidden divergences indicate a trend continuation.
When the price is making higher lows and the oscillator is showing lower lows, we speak of a bullish hidden divergence.
When the price is making lower highs and the oscillator shows higher highs, it's a bearish hidden divergence.
Oscillator Secondary Tools ◢
Oscillator HH/LL pivots
Osc OB/OS Color Bars
Osc OB/OS Zones
Osc OB/OS Highlights
Background
Oscillator HH/LL pivots: Shows HH/LL pivot points on selected oscillator
Osc OB/OS Color Bars: Plots color chart bars based on RSI, MFI, Stochastic, Stochastic RSI or combine overbought/oversold conditions
Osc OB/OS Zones: Plots Osc OB/OS Zones with user input levels
Osc OB/OS Highlights: Highlight oscillator OB/OS background area
Background: background color customization
+ Primary RSI Settings ▾
- Primary RSI Length: User input RSI Length value
- Primary RSI Source: User RSI Source selection
- RSI Overbought Threshold: Allows the user to set the RSI overbought threshold value. This Overbought Threshold value will also be applied on "RSI Divergence overbought condition", "RSI OB Color Bars" and "Primary RSI Color Schemes
- RSI Oversold Threshold: Allows the user to set the RSI oversold threshold value. The lower band (oversold line) of RSI. This Oversold Threshold value will also be applied on "RSI Divergence oversold condition", "RSI OS Color Bars" and "Primary RSI Color Schemes
- RSI Middle Band: Allows the user to set the RSI middle band value. This value will also applied to "Center Line" color scheme from "Primary RSI Color Schemes" drop menu
- Primary RSI Colors:
Range color specifies a gradient of colors from the overbought to the oversold threshold user inputs from "Primary RSI" section. Color interpolation also a gradient but smoother than Range color. Center Line is similar but is not a gradient, linked to Middle Band ("Primary RSI" section) and changes color with RSI Middle Band. Traditional is simple with Overbought and Oversold colors change.
- RSI Bullish Band: Allows the user to plot extra/optional RSI band on RSI Oscillator (Note: it will not be plotted if "OB/OS Zone only" enabled from "OB/OS Zone Settings" section)
- RSI Bearish Band: Allows the user to plot extra/optional RSI band on RSI Oscillator (Note: it will not be plotted if "OB/OS Zone only" enabled from "OB/OS Zone Settings" section)
+ Primary RSI Smooth Settings ▾
- Smooth Moving Average Type: User selected Smooth MA type. With RSI Smooth enabled, will also effect all RSI Divergences detection (all divergences will be plot according to "Smoothed RSI line")
- Smooth Moving Average Length: User input Smooth MA length value
+ Oscillator Moving Average Settings ▾
- Osc Moving Average Colors: Allows user to select Bullish/Bearish colors of Oscillator Moving Average
- Osc Moving Average Type: Allows user to select Oscillator MA Type
- Osc Moving Average Length: User input Oscillator MA length value
- Osc Moving Average Thickness: User input Oscillator MA thickness
- BB StdDev: user input Bollinger Bands standard deviation value
+ Stochastic Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Stochastic RSI Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Money Index Flow Settings ▾
- Same as Traditional/Default indicator
+ Ultimate Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Momentum Oscillator Settings ▾
- Same as Traditional/Default indicator
+ Average True Range Settings ▾
- Same as Traditional/Default indicator
+ Multi Timeframe RSI Settings ▾
- MTF RSI Time Frame: Allows user to select MTF RSI Time Frame
- MTF RSI Symbol: Allows user to select MTF RSI Time Symbol
- MTF RSI Length: User input MTF RSI length value
- MTF RSI Source: User selected MTF RSI source
- MTF RSI Line Width: User input MTF RSI line thickness value
- Number of Bars for MTF RSI plot
- MTF RSI Color > OB color > OS color : Allows user to select MTF RSI color with additionally Overbought/Oversold colors
+ MTF RSI Panel Settings ▾
- Select MTF RSI Type: If "Primary RSI" or "Volume RSI" selected MTF RSI Panel will show output values based on "Primary RSI" or "Volume RSI" parameters e.g. source, length, but without smooth.
- MTF RSI Panel Symbol: Allows user to select MTF RSI Panel symbol, leave symbol blank or uncheck "checkbox" for current chart symbol
- Show Symbol in Panel: Shows symbol ticker(current or user selected) in MTF RSI Panel
- Panel Background: Allows user to select MTF RSI Panel Background (enable/disable) and Background color selection
- TF1: MTF RSI Timeframe 1 user selection
- TF2: MTF RSI Timeframe 2 user selection
- TF3: MTF RSI Timeframe 3 user selection
- TF4: MTF RSI Timeframe 4 user selection
- TF5: MTF RSI Timeframe 5 user selection
- TF6: MTF RSI Timeframe 6 user selection
- TF7: MTF RSI Timeframe 7 user selection
- TF8: MTF RSI Timeframe 8 user selection
- Panel Top Offset: MTF RSI Panel offset input value
- Position: MTF RSI Panel position selection
- Text Size: MTF RSI Panel text size selection
- Bullish Colors: MTF RSI Panel bullish color selection. (Bullish colors range RSI >75, <75 to >65, <65 to >55)
- Bearish Colors: MTF RSI Panel bearish color selection. (Bearish colors range RSI <45 to >35, <35 to >25, <25)
+ RSI Price Estimator Settings ▾
- Price 1: User input value for RSI future price
- Price 2: User input value for RSI future price
- Price 3: User input value for RSI future price
- Panel Position Offset: User input value for panel position offset
- Price Decimals: User input value for output price decimals in panel
- Show RSI/OscMA cross Price: Enable/Disable RSIxOscillator MA cross future price
- Show RSI Level for Input Price: User input price for future RSI level
- Invisible Background: Enable/Disable Background
Auto Text Color > Auto color change of Panel text according to Dark/Light chart theme
+ Oscillator Support/Resistance Settings ▾
- Show Support line: Allows user to Enable/Disable Oscillator support line
Color > Auto Color: Auto color change of support line according to Dark/Light chart theme
- Show Resistance line: Allows user to Enable/Disable Oscillator resistance line
Color > Auto Color: Auto color display of resistance line according to Dark/Light chart theme
- Lookback lows/highs: User input of Lookback lows/highs value
- Distance threshold: Distance from the line to the low
- Line touch points: Number of points that have to be around the line
- Low/High left bars: User input of Low/High left bars value
- Low/High right bars: User input of Low/High right bars value
- Line style: User selection of line style
- Line thickness: User input of line thickness value
+ Oscillator 1st Divergence Settings ▾
- Divergence Source: User selection of divergence source. "High/Low" (high/low of oscillator/price divergence detection), "Close" (close of oscillator/price divergence detection) and "Both" (Both Close + High/Low of oscillator/price divergence detection). (Note: Traditional Divergence indicator default source is "High/Low")
- Pivot Lookback Right: How many candle to compare on the right side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Pivot Lookback Left: How many candle to compare on the left side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Divergence Max Length (Bars): The maximum length of a divergence (number of bars). If a detected divergence is longer than this, it will be discarded
- Divergence Min Length (Bars): The minimum length of a divergence (number of bars). If a detected divergence is shorter than this, it will be discarded
- Show Divergence as:
- Line Thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
> Oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
> Overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
- Hidden Bull Div: Enable/Disable of Hidden Bull divergences
> Color: User selection of Hidden Bull divergence color
- Hidden Bear Div: Enable/Disable of Hidden Bear divergences
> Color: User selection of Hidden Bear divergence color
+ Oscillator 2nd Divergence Settings ▾
- Same as Oscillator 1st Divergence Settings
+ Oscillator 3rd Divergence Settings ▾
- Divergence source: User selection of divergence source . "oscillator" (divergence detection with high/low or close of selected oscillator), "price" (divergence detection with high/low or close of price)
- Bull price source: User selection of Bull price source. Bull price source: "Low" (low of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Bear price source: User selection of Bear price source. Bear price source: "High" (high of price divergence detection), "Close" (close of price divergence detection) (linked to "price" in "Divergence source")
- Low/High left bars: How many candle to compare on the left side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Low/High right bars: How many candle to compare on the right side of a candle when deciding whether it is a pivot. The lower the number is, the earlier pivots (and therefore divergences) will be signaled, but the quality of those detections could be lower.
- Maximum lookback bars: The maximum length of a divergence (number of bars). If a detected divergence is longer than this, it will be discarded.
- Price threshold: User selection of Price threshold, higher values more lines
- RSI threshold: User selection of RSI threshold, higher values more lines
- Show Lows: Displays lows of RSI
- Show Highs: Displays highs of RSI
- Show Divergence as:
- Line Style:
- Line thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
> Potential Bull: It will plot potential regular bull divergence with dotted line.
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
> Potential Bear: It will plot potential regular bear divergence with dotted line.
- Hidden Bull Div: Enable/Disable of Hidden Bull divergences
> Color: User selection of Hidden Bull divergence color
> Potential H.Bull: It will plot potential hidden bull divergence with dotted line.
- Hidden Bear Div: Enable/Disable of Hidden Bear divergences
> Color: User selection of Hidden Bear divergence color
> Hidden Bear divergence: It will plot potential hidden bear divergence with dotted line.
> Regular Bull oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
> Regular Bear overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
+ Oscillator 4th Divergences Settings ▾
- Upper Length: User pivot input value of draw upper divergence line From
- To Pivot:
- Lower Length: User pivot input value of draw lower divergence line From
- To Pivot:
- Show Divergence as:
- Line Style:
- Line thickness: User input divergence line thickness value
- Label Transparency: it could reduce labels mess on oscillator line, input "100" for label text only without label background
- Labels Text Color: User label text color selection
Auto Text Color > Auto color change of label text according to Dark/Light chart theme
- Bull Divergences: Enable/Disable of Bull divergences
> Color: User selection of Bull divergence color
- Bear Divergences: Enable/Disable of Bear divergences
> Color: User selection of Bear divergence color
- Regular Bull oversold only: It will show Regular Bullish RSI divergences in oversold zone only, RSI oversold threshold can be configure in "Primary RSI Settings" section.
- Regular Bear overbought only: It will show Regular Bearish RSI divergences in overbought zone only, RSI overbought threshold can be configure in "Primary RSI Settings" section.
+ Oscillator HHLL Pivots Settings ▾
- Pivot Length: User input value of HH/LL pivot length
> L.Text Color: User label text color selection
- HH color: User HH Label color selection
- HL color: User HL Label color selection
- LH color: User LH Label color selection
- LL color: User LL Label color selection
+ Oscillator OB/OS Colored Bars Settings▾
- Overbought/Oversold Bars Oscillator: Plots Overbought/Oversold color bars based on RSI, MFI, Stoch, Stoch RSI overbought/oversold threshold conditions separately or combined(when every oscillator reach its OB or OS threshold condition at same time).
- Overbought Bar Color: User RSI OB Bars color selection
- Oversold Bar Color: User RSI OS Bars color selection
+ Primary RSI Range Color ▾
- OB: Overbought Color
- OS: Oversold Color
- Bullish: Bullish Color
- Bearish: Bearish Color
+ Primary RSI Color interpolation ▾
- RSI Color: RSI Color
- OB: Overbought Color
- OS: Oversold Color
+ Primary RSI Center Line Color ▾
- OB: Overbought Color
- Bullish: Bullish Color
- Bearish: Bearish Color
- OS: Oversold Color
+ Primary RSI Traditional Color ▾
- RSI Color: RSI Color
- OB: Overbought Color
- OS: Oversold Color
Osc Overbought/Oversold Zones Settings ▾
- OB/OS Zone Band Lines: Enable/Disable OB/OS Zone Band Lines
- OB/OS Zones only: Only shows OB/OS Zones and disable all RSI band lines except Middle Band. Background will not be effected by this setting.
- Overbought Zone: User input value of Overbought Zone from
> To:
- Oversold Zone: User input value of Oversold Zone from
> To:
Osc Overbought/Oversold Highlights ▾
- Overbought Highlights : Enable/Disable Overbought Highlights
- Oversold Highlights : Enable/Disable Oversold Highlights
- Transparency: Gradient transparency of highlighted area
+ 'Oscillators Color Settings ▾
- Show Osc Symbol label : Enable/Disable of oscillator symbol label. Displays current oscillator symbol, but with "Override Oscillator Symbol" enabled from "Black RSI Dashboard" it will Auto/forcefully displays Override Oscillator Symbol on Oscillator
- Fade out Oscillator line: Fade out the oscillator line color, focusing only the most recent periods prominent for a clearer chart
- Fill Stoch/StochRSI lines: Fills Stoch/Stoch RSI lines
- Oscillator line thickness: user input value of oscillator line thickness
- Oscillator line offset: Shifts the oscillator to the left or to the right on the given number of bars, Default is 0
- OBV Color
- MFI Color
- ATR Color
- UO Color
- MOM Color
- CVD Bullish Color
- CVD Bearish Color
+ Background Setting ▾
- Custom Background Color: User selection of Background color
Authors & Credits: I'd like to THANK to Nabeel Black(myself), LonesomeTheBlue, iFuSiiOnzZ, jmosullivan, zdmre, creengrack, and TradingView for the locally sourced ingredients.
Disclaimer: DYOR. Not financial advice. Not a trading system. I am not affiliated with TradingView or any authors mentioned here; You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely. Always trade with confluence and Risk Management.
Feedback & Bug report
if you found any bug in this indicator or any suggestion, please let me know. Please give feedback & appreciate if you like to see more future updates and indicators. Thank you
[NBK] Cover Buy Sell for BTC Cover Buy Sell for BTC— Engulfing Reversals with EMA/ATR Trend & Quality Filters
{Update for BTC}
What it does
This indicator flags high-quality bullish/bearish reversal candles only when they align with a short-term trend and pass several objective quality filters. It is not a simple mashup: each component serves a distinct role and they work together to keep early/low-quality signals out.
How it works (components & interaction)
Pattern engine (entry candidates)
Bullish side (Cover Buy):
Body Engulf: current green body fully covers the prior red body, or
Piercing (relaxed): prior red → current green closes above the prior body’s midpoint (not beyond prior open).
Bearish side (Cover Sell):
Full-candle Engulf: current red candle (body + wicks) covers the entire prior candle, or
Body Engulf: current red body fully covers the prior body, or
Dark-Cloud (relaxed): prior green → current red closes below the prior body’s midpoint.
Short-term trend gate (non-repainting)
Trend is defined by the EMA slope between bar-1 and bar-2, scaled by ATR to require minimum strength.
Slope < 0 → only bullish candidates pass. Slope > 0 → only bearish candidates pass.
Body-size filter (noise control)
Rejects tiny candles: each body is compared with the lookback average body size.
For bearish candidates an additional ratio check requires current body ≥ a fraction of the prior body (to avoid weak top-ticks).
Peak filters for bearish signals (late, cleaner tops)
Distance above EMA: the high must be at least X × ATR above EMA (avoids mid-range noise).
Near local high: the high of the current bar (or bar-1) must be close to the highest high in a recent window.
Break confirmation: close must break low by at least Y × ATR (filters shallow dark-clouds).
Only when a candidate satisfies the pattern ➝ trend ➝ size ➝ peak sequence is a signal printed/alerted.
Inputs (key parameters)
EMA length, Min EMA slope vs ATR, ATR length: trend strength.
Lookback for average body, Min body vs average, Bear body ratio: body-quality filters.
High distance above EMA (×ATR), Local high lookback, Tolerance to local high (×ATR), Min break of low (×ATR): bearish peak confirmation.
Alerts
Built-in alerts fire on bar close for both Cover Buy and Cover Sell.
How to use
Increase High distance above EMA / Local high lookback / Min break of low to reduce early Cover Sell in ranges.
If you miss good tops, ease those thresholds slightly.
Works across symbols/timeframes; evaluated on bar close; no repaint from the trend gate.
Notes
This tool is a signal screener, not financial advice. For best results, combine with your structure/SR zones, risk management, and execution rules.
13 thg 10
Phát hành các Ghi chú
Cover Buy Sell — Engulfing Reversals with EMA/ATR Trend & Quality/Peak Filters
What this script does
Flags high-quality bullish/bearish engulfing reversals only when short-term trend and price-action quality conditions are met. Signals evaluate on bar close. No promotions, no links, no external calls.
Why this is an original combination (mashup justification)
Raw engulfing patterns are noisy in ranges. This script is a pipeline where each module solves a specific failure mode, not a simple merge of indicators:
Pattern engine (candidates):
Bullish (Cover Buy): body-engulf of prior red body, or relaxed Piercing (close above prior body midpoint, not beyond prior open).
Bearish (Cover Sell): full-candle engulf (body+wicks), body-engulf, or relaxed Dark-Cloud (close below prior body midpoint).
Short-term trend gate (non-repainting):
EMA slope is measured between bar-1 and bar-2 and must exceed an ATR-scaled threshold (slopeAtrPct).
Slope < 0 → only bullish candidates pass.
Slope > 0 → only bearish candidates pass.
Body-size filter (noise control):
Bodies must not be tiny vs the average over lenBodyRef. For bearish candidates, an alternate check allows current body ≥ bearRatioMin × prior body to keep decisive tops.
Bearish peak filters (late, cleaner tops):
High must be far above EMA (≥ emaDistAtrMin × ATR), near the local high (current or prior bar within nearHighLen & nearHighTol × ATR), and the close must break prior low by ≥ breakAtrMin × ATR.
These remove premature Cover Sell flags in chop and keep the later, higher-quality reversal.
Only candidates that pass Pattern → Trend → Size → Peak become signals. This staged design is the core originality.
How to use (practical guidance)
To reduce early Cover Sell in ranges: raise emaDistAtrMin, raise nearHighLen, and/or raise breakAtrMin.
If you miss clean tops: slightly lower those thresholds.
Typical starting points: lenTrend=4–6, slopeAtrPct=0.03–0.06, atrLen=14; adjust to instrument/TF volatility.
Combine with structure/SR zones and your risk rules. This tool is for analysis only and is not investment advice.
Alerts
Two alert conditions are included: Cover Buy and Cover Sell, both evaluated on bar close.
Non-repainting note
The trend gate uses confirmed data (EMA slope from bar-1 vs bar-2). Pattern and filters also use confirmed values; no forward-looking references.
English translations of UI strings (if your on-chart UI uses another language)
“Strict engulf (không cho bằng nhau)” → Strict engulf (no equality)
“EMA length (trend ngắn hạn)” → EMA length (short-term trend)
“Lookback tính thân trung bình” → Lookback for average body size
“Ngưỡng thân tối thiểu vs trung bình” → Min body vs average (ratio)
“Bear: thân hiện tại ≥ rRatio * thân trước” → Bear: current body ≥ rRatio × prior body
“Bear: HIGH cách EMA tối thiểu (x ATR)” → Bear: HIGH distance above EMA (× ATR) min
“Bear: cửa sổ đỉnh cục bộ (bars)” → Bear: local high lookback (bars)
“Bear: dung sai tới đỉnh (x ATR)” → Bear: tolerance to local high (× ATR)
“Bear: mức phá LOW tối thiểu (x ATR)” → Bear: min break of LOW (× ATR)
Compliance notes
English-only title, English appears first in this description; no ads, logos, links, or solicitations.
This is an original, closed-source script with a meaningful explanation of what, how, why, and how to use.
(Vietnamese short summary)
Chỉ báo bắt tín hiệu engulfing chất lượng cao khi có xu hướng EMA ngắn hạn (đo bằng độ dốc/ATR) và vượt qua lọc kích thước thân + điều kiện đỉnh cho tín hiệu bán. Chuỗi xử lý Mẫu → Xu hướng → Kích thước → Đỉnh giúp loại tín hiệu sớm trong vùng đi ngang. Có alert Cover Buy/Sell, đánh giá theo bar close, không quảng cáo/đường link, và không phải khuyến nghị đầu tư.
[NBK] Cover Buy Sell for XAU Cover Buy Sell for XAU — Engulfing Reversals with EMA/ATR Trend & Quality Filters
{Update for XAU}
What it does
This indicator flags high-quality bullish/bearish reversal candles only when they align with a short-term trend and pass several objective quality filters. It is not a simple mashup: each component serves a distinct role and they work together to keep early/low-quality signals out.
How it works (components & interaction)
Pattern engine (entry candidates)
Bullish side (Cover Buy):
Body Engulf: current green body fully covers the prior red body, or
Piercing (relaxed): prior red → current green closes above the prior body’s midpoint (not beyond prior open).
Bearish side (Cover Sell):
Full-candle Engulf: current red candle (body + wicks) covers the entire prior candle, or
Body Engulf: current red body fully covers the prior body, or
Dark-Cloud (relaxed): prior green → current red closes below the prior body’s midpoint.
Short-term trend gate (non-repainting)
Trend is defined by the EMA slope between bar-1 and bar-2, scaled by ATR to require minimum strength.
Slope < 0 → only bullish candidates pass. Slope > 0 → only bearish candidates pass.
Body-size filter (noise control)
Rejects tiny candles: each body is compared with the lookback average body size.
For bearish candidates an additional ratio check requires current body ≥ a fraction of the prior body (to avoid weak top-ticks).
Peak filters for bearish signals (late, cleaner tops)
Distance above EMA: the high must be at least X × ATR above EMA (avoids mid-range noise).
Near local high: the high of the current bar (or bar-1) must be close to the highest high in a recent window.
Break confirmation: close must break low by at least Y × ATR (filters shallow dark-clouds).
Only when a candidate satisfies the pattern ➝ trend ➝ size ➝ peak sequence is a signal printed/alerted.
Inputs (key parameters)
EMA length, Min EMA slope vs ATR, ATR length: trend strength.
Lookback for average body, Min body vs average, Bear body ratio: body-quality filters.
High distance above EMA (×ATR), Local high lookback, Tolerance to local high (×ATR), Min break of low (×ATR): bearish peak confirmation.
Alerts
Built-in alerts fire on bar close for both Cover Buy and Cover Sell.
How to use
Increase High distance above EMA / Local high lookback / Min break of low to reduce early Cover Sell in ranges.
If you miss good tops, ease those thresholds slightly.
Works across symbols/timeframes; evaluated on bar close; no repaint from the trend gate.
Notes
This tool is a signal screener, not financial advice. For best results, combine with your structure/SR zones, risk management, and execution rules.
13 thg 10
Phát hành các Ghi chú
Cover Buy Sell — Engulfing Reversals with EMA/ATR Trend & Quality/Peak Filters
What this script does
Flags high-quality bullish/bearish engulfing reversals only when short-term trend and price-action quality conditions are met. Signals evaluate on bar close. No promotions, no links, no external calls.
Why this is an original combination (mashup justification)
Raw engulfing patterns are noisy in ranges. This script is a pipeline where each module solves a specific failure mode, not a simple merge of indicators:
Pattern engine (candidates):
Bullish (Cover Buy): body-engulf of prior red body, or relaxed Piercing (close above prior body midpoint, not beyond prior open).
Bearish (Cover Sell): full-candle engulf (body+wicks), body-engulf, or relaxed Dark-Cloud (close below prior body midpoint).
Short-term trend gate (non-repainting):
EMA slope is measured between bar-1 and bar-2 and must exceed an ATR-scaled threshold (slopeAtrPct).
Slope < 0 → only bullish candidates pass.
Slope > 0 → only bearish candidates pass.
Body-size filter (noise control):
Bodies must not be tiny vs the average over lenBodyRef. For bearish candidates, an alternate check allows current body ≥ bearRatioMin × prior body to keep decisive tops.
Bearish peak filters (late, cleaner tops):
High must be far above EMA (≥ emaDistAtrMin × ATR), near the local high (current or prior bar within nearHighLen & nearHighTol × ATR), and the close must break prior low by ≥ breakAtrMin × ATR.
These remove premature Cover Sell flags in chop and keep the later, higher-quality reversal.
Only candidates that pass Pattern → Trend → Size → Peak become signals. This staged design is the core originality.
How to use (practical guidance)
To reduce early Cover Sell in ranges: raise emaDistAtrMin, raise nearHighLen, and/or raise breakAtrMin.
If you miss clean tops: slightly lower those thresholds.
Typical starting points: lenTrend=4–6, slopeAtrPct=0.03–0.06, atrLen=14; adjust to instrument/TF volatility.
Combine with structure/SR zones and your risk rules. This tool is for analysis only and is not investment advice.
Alerts
Two alert conditions are included: Cover Buy and Cover Sell, both evaluated on bar close.
Non-repainting note
The trend gate uses confirmed data (EMA slope from bar-1 vs bar-2). Pattern and filters also use confirmed values; no forward-looking references.
English translations of UI strings (if your on-chart UI uses another language)
“Strict engulf (không cho bằng nhau)” → Strict engulf (no equality)
“EMA length (trend ngắn hạn)” → EMA length (short-term trend)
“Lookback tính thân trung bình” → Lookback for average body size
“Ngưỡng thân tối thiểu vs trung bình” → Min body vs average (ratio)
“Bear: thân hiện tại ≥ rRatio * thân trước” → Bear: current body ≥ rRatio × prior body
“Bear: HIGH cách EMA tối thiểu (x ATR)” → Bear: HIGH distance above EMA (× ATR) min
“Bear: cửa sổ đỉnh cục bộ (bars)” → Bear: local high lookback (bars)
“Bear: dung sai tới đỉnh (x ATR)” → Bear: tolerance to local high (× ATR)
“Bear: mức phá LOW tối thiểu (x ATR)” → Bear: min break of LOW (× ATR)
Compliance notes
English-only title, English appears first in this description; no ads, logos, links, or solicitations.
This is an original, closed-source script with a meaningful explanation of what, how, why, and how to use.
(Vietnamese short summary)
Chỉ báo bắt tín hiệu engulfing chất lượng cao khi có xu hướng EMA ngắn hạn (đo bằng độ dốc/ATR) và vượt qua lọc kích thước thân + điều kiện đỉnh cho tín hiệu bán. Chuỗi xử lý Mẫu → Xu hướng → Kích thước → Đỉnh giúp loại tín hiệu sớm trong vùng đi ngang. Có alert Cover Buy/Sell, đánh giá theo bar close, không quảng cáo/đường link, và không phải khuyến nghị đầu tư.
Trend Pulse Algo (LTM)Trend Pulse Algo LTM Indicator Description
Overview
Trend Pulse Algo LTM is an advanced multi layer technical indicator designed for TradingView that combines moving average MA crossovers confirmation signals pivot based structure analysis imbalance zone detection and overextension warnings to identify potential trend shifts continuations and reversal points. It aims to provide traders with reliable entry and exit signals in trending markets while highlighting areas of market inefficiency imbalances and overextended price moves that could signal exhaustion.
This indicator operates on a pulse concept where it detects rhythmic shifts in market momentum through layered MAs a quick MA for short term sensitivity a mid MA for intermediate confirmation and a long MA as a baseline trend filter. Signals are generated based on alignments and crosses between these MAs but with added layers of confirmation to reduce false positives such as requiring consecutive bars above below the long MA and breaks of prior pivot highs lows. It incorporates higher timeframe HTF analysis for imbalance zones to capture broader market context making it suitable for swing trading trend following or scalping on lower timeframes when combined with the overextension detector.
Unlike simple MA crossover systems for example standard dual EMA strategies this algo uses adaptive MA types based on timeframe pivot deviation for structural breaks and a tally based confirmation to filter noise. Imbalance zones identify fair value gaps or inefficiencies between candle bodies and wicks where price may retrace to fill. Overextension is calculated relative to the mid MA using a rolling mean absolute deviation MAD ratio highlighting potential tops bottoms in strong trends. The result is a visually clean or detailed based on mode overlay that colors bars backgrounds plots labels for signals and pivots and draws zones to guide decision making.
How It Works
MA Layers and Signal Generation
Three MAs quick mid long are computed using either SMA or EMA selected dynamically based on the charts timeframe for optimal responsiveness for example EMA on lower TFs for faster signals.
Early Signals A crossover of the quick MA above the mid MA while above the long MA triggers a Possible Bull label indicating early momentum shifts. A crossunder below triggers Possible Bear.
Confirmed Signals Bullish confirmation requires a set number of bars closing above the long MA plus alignment quick greater than mid and a break above the prior pivot high. Bearish requires bars below the long MA and a break below the prior pivot low. This uses a counter mechanism to ensure persistence reducing whipsaws. Breaks are detected via crossovers under of close versus prior highs lows.
State persistence tracks the current regime bull bear warn early coloring the chart accordingly until a new signal overrides it.
Pivot Detection and Structure
Pivots are identified by scanning for highs lows separated by a minimum bar depth with a percentage deviation threshold to confirm validity. This follows a zigzag like approach but with deviation filtering for robustness.
Labels like HH Higher High HL Higher Low LH Lower High LL Lower Low highlight market structure helping identify trends for example HH HL for uptrends or breakdowns. These are used internally to validate signal breaks.
Imbalance Zones
Zones detect imbalances or gaps between candle bodies and prior highs lows where unfilled inefficiencies attract price.
For bullish zones If open greater than close and high minus low two less than zero a zone is drawn from calculated top bottom limits. Bearish similarly for close greater than open.
Supports current TF HTF or both. Zones extend rightward until filled price touches the opposite side or mid line if enabled then either delete or shorten based on settings. Mid lines can act as fill triggers for partial closures.
HTF data is fetched via security for broader context resetting on new HTF bars.
Overextension Indicator
Measures price deviation from the mid MA relative to a rolling average RMA of relative deviations over a length.
Multipliers define tiers mild for example two times avg deviation moderate three times extreme four times. Circles plot above below bars in bull bear states when thresholds are exceeded signaling potential reversals for example red for extreme tops in uptrends. This is akin to a Bollinger Band squeeze expansion but normalized to MA distance for trend specific warnings.
Chart Coloring and Visuals
Background or candle coloring reflects the state green for bull red for bear orange for warn blue for early.
Modes control clutter Clean hides MAs zones pivots Balanced shows essentials Detailed includes all.
How to Use It
Setup Add to your chart via TradingViews indicator search. Adjust inputs based on asset timeframe for example shorter MA periods for volatile cryptos longer for stocks.
Trading Strategy Ideas
Trend Following Enter long on Confirmed Bull labels exit on Confirmed Bear or extreme overextension circles. Use imbalance zones as support resistance for stops targets for example buy dips to unfilled bullish zones.
Reversal Scalping Watch for Possible Bull Bear near pivot labels for example HL LL and overextension in the opposite direction. Confirm with zone fills.
Multi TF Analysis Set HTF to D for daily context on hourly charts zones from HTF often act as magnets.
Risk Management Place stops below prior lows in bulls or above highs in bears. Target zone edges or MA crosses. Avoid trading against strong states without confirmation.
Alerts Set up via TradingView for Early Up Down or Up Down Confirm to notify on signal edges.
Limitations Best in trending markets may lag in ranges. Test on historical data no indicator is foolproof combine with volume price action.
Detailed Input Settings
Below is a comprehensive breakdown of all user adjustable inputs from the settings panel grouped as in the script. Each explains what it controls its effect on the indicators logic and usage tips. Defaults are provided for reference.
Chart Mode
Chart Mode default Detailed Mode options Clean Mode Balanced Mode Detailed Mode
Controls visual detail level. Clean Mode hides MAs imbalance zones and pivots for a minimal overlay focused on signals and coloring. Balanced Mode shows MAs and signals but omits zones pivots. Detailed Mode displays everything for in depth analysis. Use Clean for live trading to reduce clutter Detailed for backtesting structure review.
Display Settings
Color Style default Candles options Background Candles
Determines how states bull bear warn early are visualized. Background colors the chart area for example green shading for bull. Candles colors bar bodies wicks directly. Background is subtler for multi indicator setups Candles emphasizes signals on naked charts.
Imbalance Zone HTF Config
Higher TF Period default D
Sets the higher timeframe for imbalance detection for example D for daily four H for four hour. This fetches broader data to identify significant zones. Use a TF four to five times your current for context for example daily on one H charts avoid very high TFs like W on intraday for relevance.
TF Mode default Current TF options Current TF Current plus HTF HTF Only
Defines timeframe handling for zones. Current TF uses only your charts TF. Current plus HTF combines both for layered zones. HTF Only ignores current TF. Current plus HTF is ideal for multi TF confluence HTF Only simplifies for swing traders.
Shift default ten min zero max five hundred
Horizontal offset in bars for current TF zone labels. Higher values shift labels rightward to avoid overlap. Adjust if labels crowd the chart.
HTF Shift default twenty min zero max five hundred
Similar to Shift but for HTF zone labels. Use larger offsets for HTF to distinguish them visually.
Imbalance Zone Core Options
Mid Line Fill default false
Enables a midpoint line in each zone zones fill close short when price touches this mid line instead of the far edge. Activates partial fill logic for more conservative zone closure. Enable for tighter risk in volatile markets.
Remove Filled Zones default true
If true completely deletes filled zones if false shortens them to the fill point keeping history. True clears clutter false retains context for review.
Display TF on Zone default false
Shows the timeframe for example D IZ on zone labels. Useful for distinguishing current versus HTF zones in combined mode.
Max Upward Zones default twenty min one max fifty
Limits displayed bullish upward zones removes oldest when exceeded. Lower for cleaner charts higher for historical depth.
Max Downward Zones default twenty min one max fifty
Same as above but for bearish downward zones.
Imbalance Zone Visuals
Upward Zone color green at ninety percent transparency
Color for current TF upward imbalance zones. Adjust opacity for visibility.
HTF Upward Zone color lime at eighty percent transparency
Color for higher timeframe upward imbalance zones. Differentiate from current for example lighter shade.
Downward Zone color red at ninety percent transparency
Color for current TF downward imbalance zones.
HTF Downward Zone color maroon at eighty percent transparency
Color for higher timeframe downward imbalance zones.
Mid Line Color color white at eighty five percent transparency
Color for the optional midpoint line in zones.
Text Color color white
Color for text labels on zones.
MA Layers
Quick MA Period default ten min one
Length for the fastest moving average sensitive to short term price. Shorter for example five for scalping longer for example fifteen for less noise.
Mid MA Period default twenty min one
Intermediate MA length used for crossovers and overextension base. Typically two times quick for balance.
Long MA Period default fifty min one
Baseline trend filter length. Longer for example one hundred for major trends shorter for active trading.
MA Variants by Period
Under one H default EMA options SMA EMA
MA type for timeframes under one hour for example EMA for faster response.
One H to less than five H default EMA options SMA EMA
MA type for one to five hour timeframes.
Five H to less than one D default EMA options SMA EMA
MA type for five hour to one day timeframes.
One D plus default EMA options SMA EMA
MA type for daily and higher timeframes. Adapt to market EMA for trends SMA for mean reversion.
Signal Confirmation
Bull Confirm Bars default one min zero
Consecutive bars needed above long MA for bull confirmation. Zero for instant higher for example three filters noise but delays entries.
Bear Confirm Bars default two min zero
Same for bear below long MA. Asymmetrical default higher for bears assumes uptrend bias.
Pivot Detection
Pivot Depth default six min one
Min bars between pivots. Higher reduces minor swings lower captures more structure.
Pivot Deviation percent default one point zero min zero point one
Percent change required for new pivot. Higher ignores small moves for example two percent for stocks zero point five percent for forex.
Display HH and HL default true
Shows labels for Higher Highs Lows bullish structure.
Display LH and LL default true
Shows labels for Lower Highs Lows bearish structure.
Overextension Indicator
Show Overextension Circles Potential Tops default true
Enables circles above bars in bull states for potential tops.
Show Overextension Circles Potential Bottoms default true
Enables below bars in bear states for bottoms.
Overextension Length default fourteen min one
Period for rolling relative deviation average. Matches RSI STOCH defaults for alignment.
Mild Multiplier default two point zero min zero point zero
Threshold for mild overextension yellow circle. Zero disables tier.
Moderate Multiplier default three point zero min zero point zero
For moderate orange.
Extreme Multiplier default four point zero min zero point zero
For extreme red. Tune lower for sensitive warnings in ranging markets.
Gabriel's Squeeze Momentum📊 Gabriel’s Squeeze Momentum — Deluxe Volatility + Momentum Suite
An advanced, all-in-one squeeze & momentum framework that times volatility compression/expansion and trend shifts, with optional CVD (cumulative volume delta) momentum, ATR zone context, Discontinued Signal Lines (DSL) scalps, Colored DMI trend label, Williams VIX Fix (WVF) low-volatility exhaustion pings, Buff’s VTTI/VPCI volume confirmation, and real-time divergence detection.
What it does:
Discover Squeezes. They occur when volatility contracts, often preceding significant price moves.
Measures momentum with a fast, ATR-normalized linear regression—optionally on Price or CVD—so you see direction and “how hard it’s pushing.”
🧭 Signal Legend ~ Colors the squeeze so you instantly know regime:
🟡 / 🟣 (Tight/Very Tight): Coiled spring; prepare a plan.
🔴 / ⚫ = (Regular/Wide): Watch for Divergences between Price and Momentum.
🟢 (Fired): Expansion started; trade with momentum cross and bias.
Adds context bands at ±1/±2/±3 ATR (“trend / expansion / OB-OS”) to filter late or weak signals.
DSL (Discontinued Signal Lines) give early scalp flips on momentum vs. adaptive bands.
DMI label & triangles communicate trend strength and whether +DI / −DI is in control.
Williams VIX Fix flags capitulation/exhaustion style spikes (with optional VIX proxy).
VTTI/VPCI modules confirm when volume aligns with price trend or contradicts it.
Divergences (regular & hidden) auto-draw with optional live (may repaint) or on-close.
🎢 Squeeze Momentum — How the Logic Works 🎢
The Squeeze Momentum model is built on the principle of volatility compression and expansion. In markets, periods of low volatility are often followed by explosive moves, while high volatility eventually contracts. The “squeeze” seeks to identify these compression phases and prepare traders for the likely expansion that follows.
This indicator achieves that by comparing Bollinger Bands (BB) to Keltner Channels (KC).
Bands: Bollinger vs. Keltner
Bollinger Bands (BB): Calculated using a Simple Moving Average (SMA) of price and standard deviations (σ) of the closing price. The bands expand and contract depending on volatility.
Keltner Channels (KC): Built from an SMA plus/minus multiples of the Average True Range (ATR). Unlike some simplified squeeze indicators that approximate ATR, this implementation uses a true ATR-based KC, ensuring accuracy across different assets and timeframes.
By comparing whether the Bollinger Bands are inside or outside the Keltner Channels, the indicator identifies different squeeze regimes, each representing a distinct volatility environment.
📦 Regime Colors
The squeeze states are color-coded for quick interpretation:
🔹Wide Squeeze (⚫): BB inside KC with a high ATR multiplier. Extremely low volatility, often before major expansion.
🔹Normal Squeeze (🔴): BB inside KC with a moderate ATR multiplier (about 25% more sensitive than Wide). Typical compression setting.
🔹Narrow Squeeze (🟡): BB inside KC with a lower ATR multiplier (about 50% more sensitive than Wide). Signals tighter compression.
🔹Very Narrow Squeeze (🟣): BB inside KC with the lowest ATR multiplier (100% more sensitive than Wide). Indicates extreme coiling.
🔹Fired Squeeze (🟢): BB break outside KC. Marks the release of volatility and potential trend acceleration.
This multi-layered system improves upon classical SQZPRO by using precisely calculated Keltner Channels and multiple sensitivity levels, giving traders more granular information about volatility states.
🔒 Multi-Timeframe Support
The indicator automatically adjusts squeeze thresholds for different timeframes — hourly, 4-hour, daily, weekly, and monthly charts. Each regime has been manually tuned for its timeframe, allowing traders to use the same tool whether scalping, swing trading, or holding longer-term positions.
🎯 Momentum Core
Detecting a squeeze is only half the equation — the indicator also includes a momentum engine to determine direction and strength.
Price momentum is measured as the distance of Close from its Highest High and Lowest Low range, smoothed with a Simple Moving Average, and refined with Linear Regression.
This value is then divided by ATR, normalizing momentum relative to volatility.
Optionally, CVD Mode (Cumulative Volume Delta ÷ Volume) can replace price momentum for assets where order-flow and volume dynamics dominate (e.g., crypto).
🦆 Signal Line
Momentum is paired with a Simple Moving Average signal line:
🔹Bullish: Momentum > Signal.
🔹Bearish: Momentum < Signal.
This crossover logic provides directional bias and filters for false squeezes.
🚀 When to Use Price vs. CVD
CVD Mode (Crypto, FX with tick volume): Best for assets with strong volume/order-flow signals.
Price Mode (Equities, Commodities, Higher TFs): Best for assets with irregular or thin volume data.
🛢️ATR Zones (context filter) 🛢️
Its design is straightforward yet effective: it measures the difference between the current price from its highest highs, lowest lows, and a moving average over a chosen period, then expresses that difference in terms of the Average True Range (ATR) over the same period. By normalizing price deviations against volatility, ATR provides a clear sense of how far and how fast price is moving relative to its “normal” range.
Interpreting the Zone
Positive Values: When it is above zero, price is trading above its HH, LL, and moving average, suggesting bullish momentum. The higher the value, the stronger the momentum relative to volatility.
Negative Values: When the Momentum is below zero, price is trading below its HH, LL, and moving average, signaling bearish momentum. The deeper the reading, the stronger the downside pressure.
Magnitude Matters: Because the Momentum is expressed in ATR units, traders can immediately gauge whether the move is small (less than 1 ATR), moderate (1–2 ATRs), or extreme (3+ ATRs). This makes it especially useful for assessing overbought or oversold conditions in a normalized way.
Strengths:
🔹Volatility-Normalized: Unlike simple squeeze momentum oscillators that have different OB/OS levels, this Momentum adjusts for volatility. This makes signals more consistent across assets with different volatility profiles.
🔹Simplicity:
±1 ATR: trending zone (bulls above +1, bears below −1)
±2 ATR: expansion (keep, add, or trail). Stretch/risk of mean reversion.
±3 ATR: potential exhaustion/mean-revert zone.
🔹Momentum Clarity: By framing momentum in ATR terms, it is easier to distinguish between a small deviation from trend and a genuinely significant move. Sometimes it is a good sign that it trend to ±3/2 ATR, looks for similar directional moves.
Color: The script shades +2/+3 (OB) and −2/−3 (OS) areas and provides swing alerts at ±1 ATR.
💚 What Are Discontinued Signal Lines (DSL)? 💚
In technical analysis, one of the most common tools for smoothing out noisy data is the signal line. This concept appears in many indicators, such as the MACD or stochastic oscillator, where the raw value of an indicator is compared to a smoothed version of itself. The signal line acts as a lagging filter, making it easier to identify shifts in momentum, crossovers, and directional changes.
While useful, the classic signal line approach has limitations. By design, a single smoothed line introduces lag, which means traders may receive signals later than ideal. Additionally, a one-size-fits-all smoothing process often struggles to adapt to different levels of volatility or rapidly changing market conditions.
This is where Discontinued Signal Lines (DSL) come in. DSL is an advanced extension of the traditional signal line concept. Instead of relying on just one smoothed comparison, DSL employs multiple adaptive lines that adjust dynamically to the current state of the indicator. These adaptive lines effectively “discontinue” the dependence on a single, fixed smoothing method, producing a more flexible and nuanced representation of market conditions.
How DSL Works?
Traditional Signal Line: Compares an the Momentum against its own moving average. Provides crossover signals when the raw indicator value moves above or below the smoothed line.
Strength: reduces noise. Weakness: delayed signals and limited adaptability.
DSL Extension: Uses multiple adaptive lines that respond differently to the indicator’s current behavior. Instead of one static moving average, the DSL approach creates faster and slower “reaction lines.” These lines adapt dynamically, capturing acceleration or deceleration in the indicator’s state.
Result: Traders see how momentum is evolving across multiple adaptive thresholds. This reduces false signals and improves responsiveness in volatile conditions.
Benefits of Discontinued Signal Lines
🔹Nuanced Trend Detection
DSL doesn’t just flag when momentum changes direction—it shows the quality of that shift, highlighting whether it is gaining strength, losing steam, or consolidating.
🔹Adaptability Across Markets
Because DSL adjusts to the Momentum’s own dynamics, it works well across different asset classes and timeframes, from equities and futures to forex and crypto.
🔹Earlier Signal Recognition
Multiple adaptive lines allow traders to spot developing trends earlier than with a single smoothed signal line, without being overwhelmed by raw indicator noise.
🔹Better Confirmation
DSL is particularly useful for confirmation. If both adaptive lines agree then a fill is applied in the direction, confidence in the trend is higher as the color turns bull/bear.
🔹Practical Uses
Momentum Trading: Spot acceleration or deceleration in trend strength.
Trend Confirmation: Verify whether a breakout has momentum behind it.
Noise Filtering: Smooth out erratic moves while retaining adaptability.
⚖️ Colored Directional Movement Index (CDMI) ⚖️
The Directional Movement Index (DMI), created by J. Welles Wilder, is one of the most respected trend-following indicators in technical analysis. It is actually a family of three separate indicators combined into one: the +DI (Positive Directional Indicator), the –DI (Negative Directional Indicator), and the ADX (Average Directional Index). Together, they measure not only whether the market is trending but also the strength of that trend. Traders have used the DMI for decades to identify trend direction, gauge momentum, and filter out periods of market noise.
However, despite its reliability, the traditional DMI can be challenging to interpret. Reading three separate lines at once and extracting meaningful signals requires both experience and careful observation. This complexity often discourages newer traders from fully utilizing its power.
The Colored Directional Movement Index (CDMI) is a modern reinterpretation of Wilder’s classic tool. It condenses the same information into a single visual line while using color, shape, and density to communicate what’s happening beneath the surface. The goal is simple: make the DMI’s insights faster to read, easier to act upon, and more intuitive to integrate into trading decisions.
Key Features of CDMI
🔹Color Scale for Trend Strength
The main triangle changes its base color depending on the strength of the DI reading. Dark Red or Green, colors correspond to stronger trends, while faded Gray or lighter yellow tones signal weaker or fading trends. This makes it visually clear when the market is consolidating versus trending strongly.
🔹Color Density for Momentum
Beyond strength, the CDMI uses color density to represent momentum in the trend’s strength. If the ADX is rising (trend gaining momentum), the triangles grows more darker. If the ADX is falling (trend losing momentum), the triangle becomes paler. This provides an instant sense of whether a trend is accelerating or decelerating.
🔹Directional Triangles for Trend Direction
To replace the separate +DI and –DI lines, the CDMI plots small triangle shapes along the bottom axis. An upward-facing triangle indicates that +DI is dominant, confirming bullish direction. A downward-facing triangle signals –DI dominance, confirming bearish direction. This way, both strength and direction are shown without the clutter of multiple overlapping lines.
🔹Label Display for Detailed Values
For traders who want precise data alongside the visuals, CDMI includes a label that shows:
Current trend strength (ADX value).
Current +DI and –DI values.
Momentum status of the ADX (rising or falling).
Historical values of DMI readings, so traders can track how the indicator has evolved over time.
Tooltips are also available to explain “How to read the colored DMI line”, making this version more beginner-friendly.
Why CDMI Matters
The CDMI retains the proven reliability of Wilder’s DMI while solving its biggest drawback—interpretation difficulty. Instead of juggling three separate plots, traders get a single, information-rich line supplemented with intuitive shapes and labels. This streamlined format makes trend verification, momentum analysis, and signal confirmation much faster.
For trading applications, the CDMI can help:
Confirm Entries by showing whether the market is trending strongly enough to justify a position.
Avoid False Signals by filtering out periods of low ADX (weak trend).
Enhance Timing by tracking momentum shifts in trend strength.
By simplifying the complexity of the original DMI into an elegant, color-coded tool, the CDMI makes one of technical analysis’ most advanced indicators practical for everyday use.
😅 The VIX, the Williams Vix Fix, and Market Bottoms 😎
The VIX, formally known as the CBOE Volatility Index, has long been considered one of the most reliable indicators for spotting major market bottoms. Often referred to as the “fear gauge,” it measures the market’s expectation of volatility in the S&P 500 over the next 30 days. When fear grips investors and volatility spikes, the VIX rises sharply. Historically, these moments of extreme fear often coincide with powerful buying opportunities, as markets have a tendency to rebound once panic selling exhausts itself.
Larry Williams, a well-known trader and author, developed the Williams Vix Fix as a way to replicate the insights of the VIX across any tradable asset. While the VIX itself is tied specifically to S&P 500 options, Williams wanted a tool that could capture similar panic-driven dynamics in stocks, futures, forex, and other markets where the VIX is not directly applicable. His “fix” uses price action and volatility formulas to approximate the same emotional extremes reflected in the official VIX, creating almost identical results in practice. This makes the Williams Vix Fix a powerful addition to the trader’s toolbox, allowing the same principle that works on U.S. equities to be applied universally.
One of the most important characteristics of both the VIX and the Williams Vix Fix is that they are far more reliable at signaling market bottoms than market tops. The reason is psychological as much as it is mathematical. At market bottoms, fear and panic are widespread. Retail investors often capitulate, selling in a frenzy as prices drop. This panic drives volatility higher, producing the spikes we see in the VIX. At the same time, professional traders and institutions—those with larger capital and more disciplined strategies—tend to step in when volatility is stretched. They buy when others are fearful, using the panic of retail investors as an opportunity to acquire assets at discounted prices. This confluence of retail panic and institutional buying power is what makes the VIX such a strong bottom-finding tool.
In contrast, at market tops, the dynamic is very different. Tops tend not to be marked by panic or fear. Instead, they form quietly as enthusiasm fades, liquidity dries up, and buying interest wanes. Investors are often complacent, assuming prices will continue to rise, while professional money begins distributing their positions. Because there is no surge in fear, volatility remains muted, and the VIX does not offer a clear warning. This is why traders who rely on the VIX or the Williams Vix Fix must understand its limitations: it is exceptional for detecting bottoms but less useful for anticipating tops.
For traders, the lesson is straightforward. When you see the VIX or Williams Vix Fix spiking to extreme levels, it often indicates a high-probability environment for a rebound. These tools should not be used in isolation, but when combined with support levels, sentiment indicators, and market breadth, they can provide some of the most reliable bottom-fishing signals available. While no indicator is perfect, few have stood the test of time as consistently as the VIX—and thanks to Williams’ adaptation, its power can now be applied to nearly every market.
Indicator Signals (Great in risk-off charts):
🔹Flags spike events (tops/bottoms) with both original and filtered (AE/FE) criteria.
🔹Great as a risk overlay: tighten stops into AE/FE, or require “no spike” to enter.
🤯 Volume Comfirmation: VTTI & VPCI (Buff Dormeier) 🤯
Volume Trend Technical Indicator (VTTI)
The Volume Trend Technical Indicator (VTTI) is a momentum-style tool that analyzes how volume trends interact with price movement. Unlike basic volume measures that simply report how many shares or contracts were traded, the VTTI evaluates whether volume is expanding or contracting in the same direction as the prevailing price trend. The underlying logic is that healthy trends are supported by rising volume, while weakening trends often occur on shrinking volume.
At its core, VTTI looks at the rate of change in volume compared to price movements. By smoothing and normalizing these relationships, the indicator helps traders determine whether momentum is accelerating, decelerating, or diverging.
Rising VTTI: Suggests that volume is confirming the current price trend, strengthening the case for continuation. Flips BG Green after crossing it's signal.
Falling VTTI: Indicates that the trend may be losing participation, often a sign of possible consolidation or reversal. Flips BG Red after crossing it's signal.
Traders often use VTTI to filter entries and exits. For example, if price breaks out but VTTI does not rise above zero, the breakout may lack conviction. On the other hand, when both price and VTTI are aligned, probability of continuation improves.
Volume Price Confirmation Indicator (VPCI)
The Volume Price Confirmation Indicator (VPCI), developed by Buff Dormeier, takes the relationship between price and volume a step further. While traditional indicators like On-Balance Volume (OBV) or Chaikin Money Flow look at cumulative patterns, VPCI breaks price and volume into trend and volatility components and then recombines them to measure how well they confirm each other.
In essence, VPCI asks: “Does volume confirm what price is signaling?”
The formula integrates:
Price Trend Component – whether the market is trending upward or downward.
Volume Trend Component – whether trading activity supports that price trend.
Volatility Adjustments – to account for irregular swings.
The resulting oscillator fluctuates around a zero line:
Positive VPCI: Indicates that price and volume trends are in agreement (bullish confirmation).
Negative VPCI: Suggests that price and volume are diverging (bearish warning or false move).
Crossovers of Zero: Can serve as potential buy or sell signals, depending on context.
A key strength of VPCI is its sensitivity to divergence. When prices continue rising but VPCI begins falling, it often foreshadows a weakening rally. Conversely, a rising VPCI during a flat or down market can highlight early accumulation.
VTTI (Entry Signal) vs. VPCI (Exit Signal)
While both indicators study price-volume dynamics, their focus differs:
VTTI is simpler, emphasizing the trend of volume relative to price for momentum confirmation.
VPCI is more advanced, decomposing both price and volume into multiple components to produce a nuanced oscillator.
Used together, they provide complementary insights. VTTI helps quickly spot whether volume is supporting a move, while VPCI offers deeper confirmation and highlights subtle divergences.
Note: The Up/Down Volume Alert works better on the 4 HR, for Daily scalps or 30 minute for HR scalps. Intraday it's 2/10 minute.
🦅 Divergence toolkit 🦅
Divergences in Technical Analysis
Divergence occurs when the price action of an asset moves in one direction while a technical indicator, such as RSI, MACD, or Momentum, moves in the opposite direction. This disagreement between price and indicator often signals a shift in underlying market dynamics. Traders use divergences to anticipate either potential reversals or continuations in trends.
There are two main types of divergences: regular divergences, which typically precede reversals, and hidden divergences, which suggest continuation of the current trend.
Regular Divergence (Reversal Signals)
A regular divergence occurs when price and indicator disagree during a trend extension. These divergences signal that momentum is no longer fully supporting the current trend and that a reversal may be imminent.
🔹Regular Bullish Divergence
Price Action: Forms a lower low.
Indicator: Forms a higher low.
Interpretation: Price is making new lows, but the indicator is gaining strength. This suggests that selling pressure is weakening, and a reversal to the upside may occur.
Example: RSI rising while price dips to fresh lows.
🔹Regular Bearish Divergence
Price Action: Forms a higher high.
Indicator: Forms a lower high.
Interpretation: Price is reaching new highs, but the indicator shows weakening momentum. This implies that buying pressure is fading, warning of a potential downside reversal.
Example: MACD histogram falling while price makes higher highs.
Regular divergences are often spotted near the end of trends and are most powerful when aligned with key support/resistance levels or overbought/oversold conditions.
Hidden Divergence (Continuation Signals)
A hidden divergence occurs during retracements within a trend. Unlike regular divergences, hidden divergences suggest that the prevailing trend still has strength and is likely to continue.
🔹Hidden Bullish Divergence
Price Action: Forms a higher low.
Indicator: Forms a lower low.
Interpretation: Price is retracing within an uptrend, but the indicator is overshooting downward. This shows that momentum remains intact, supporting continuation upward.
🔹Hidden Bearish Divergence
Price Action: Forms a lower high.
Indicator: Forms a higher high.
Interpretation: Price is retracing within a downtrend, while the indicator overshoots upward. This indicates that bearish momentum remains strong, supporting continuation downward.
Hidden divergences often appear during pullbacks, helping traders time entries in the direction of the prevailing trend.
Practical Use of Divergences
🔹Trend Reversal Alerts – Regular divergences are early warnings that a trend may be ending.
🔹Trend Continuation Signals – Hidden divergences help confirm that retracements are simply pauses, not full reversals.
🔹Confluence with Other Tools – Divergences are more reliable when combined with support/resistance, candlestick patterns, or volume analysis.
🔹Multi-Timeframe Analysis – Spotting divergences on higher timeframes often produces stronger signals.
🕭🔔🛎️ Alert 🛎️🔔🕭
🔹Squeeze
🟢 Fired Squeeze
⚫ Low (Wide) Squeeze / 🔴 Normal / 🟡 Tight / 🟣 Very Tight
🔹Momentum
🐂 Bullish Trend Reversal (Crossover of Momentum and Signal from sub −2)
🐻 Bearish Trend Reversal (Crossover of Momentum and Signal from above +2)
📈 Bullish Swing (cross above +1 ATR) / 📉 Bearish Swing (cross below −1 ATR)
🔹DSL
💚 Bullish DSL Scalp / 💔 Bearish DSL Scalp
🔹Volume
🎯 Strong Up Volume (VPCI > 0 and VTTI up)
⏳ Strong Down Volume (VPCI < 0 and VTTI down)
🔹Divergences
🦅 Bullish, 🦆 Bearish, 🦅 Bullish Hidden, 🦆 Bearish Hidden
Management: Search Vanguard ETFs in your browser, look up full list of VOO holdings. Download it, or copy paste all the ticker symbols. Place that with a AI, just ask it to place , in between each ticker. NVDA, TSLA, AVGO, etc. Create a new watchlist, in the + add all tickers separated by commas. Place a watchlist alert ⚠️ only available for premium + subscribers.
Practical playbook
1) Classic Squeeze Break
Setup: 🔴(D)/🟡(2D)/🟣(3D) squeeze → wait for 🟢(1HR) Fired.
Confirm: Momentum > Signal and above +1 ATR (or DMI strong & rising).
Manage: add on pullbacks that hold +1 ATR; scale near +2 ATR or WVF AE/FE.
2) DSL Scalp in Trend
Setup: Clear trend (DMI strong) + DSL bull/bear trigger in the direction of trend.
Filter: avoid tight/very tight yellow/purple unless you want micro-scalps.
Exit: opposite DSL or ATR midline loss.
3) Mean-Reversion Fade
Setup: Momentum extended to ±3 ATR, WVF spike, and a regular divergence.
Entry: Counter signal only when mom crosses back through ±3 ATR toward mid. Exit early if squeeze ⚫/🔴, Momentum may extend to ±3/2 ATR in the same direction.
Risk: reduce size; this is a fade, not trend following.
4) Volume-Confirmed Breakout
Setup: Squeeze → 🟢 Fired + VPCI > 0 and VTTI up → trend continuation.
Manage: trail behind +1 ATR (long) or −1 ATR (short). 9 SMA works good.
Inputs at a glance (key ones)
Mode: Price or CVD momentum; Squeeze Sensitivity (σ); Momentum Length; Signal Length; ATR Smoothing.
🧮 Colors:
SQZMOM: per squeeze regime, momentum, ATR fills.
DSL: On/Off, Fast/Slow, Length.
ATR Zones: Bullish/Bearish levels (±1), ±2/±3 zone lines & fills.
DMI: Lengths, key & weak thresholds, label on/off.
WVF/VIX: Lookbacks, bands, AE/FE toggles, VIX proxy symbol.
VTTI/VPCI: Fast/slow/signal (VTTI), Short/Long (VPCI), and volume source (Tick/CVD/NVI/PVI/OBV/PVT/AccDist/VWAP).
Divergences: Regular/Hidden toggles, Sensitivity %, Lifetime, Live vs On-Close, Lines/Labels.
🔎 Suggested defaults (feel free to tweak)
Calibration: Size Momentum, so that when it's above zero the asset is trending up. For the signal, it can be kept the same or lower.
Intraday (60–240m): σ = 2.0, 18~20, 3~5, DSL Fast, DMI key 23, weak 17.
Daily/Weekly: keep σ = 2.0, consider DSL Slow, DMI key 25, weak 20, widen ATR filters; lean on VPCI/VTTI (4-HR).
CVD mode: use where tick/volume quality is high (index futures, liquid equities, crypto majors).
🪟 Tips & caveats
Swing Screener: Favor liquid underlyings (index futures/ETFs, large caps). Large-Cap, 2 M Vol, Mid-Cap, 500K Vol. Squeeze: BB( 20) upper < KC (20) upper, and BB (20) lower > KC (20) lower. Optional: Price above 9 SMA, 21 SMA, and 50 SMA, they are my SMA of choice. 200 SMA too, unless you are willing to fish in a bear market. Vice-versa for shorts. Optional: ADX 4 HR > 17, or 23 depending on what you are looking for.
Scalp Screener: Same as above, change the D 9 SMA to 5, and the BB/KC from D to 1 HR. Scalps may last 2~3 days.
Position Screener: Change all daily setting to W, aside from Volume. Optional: PEG < 1.5, FCF > 0, ROA > 8% or ROE > 6%.
Good with Moving averages (9/21/50) and low-volume zones.
Position size by IV, ATR, and account risk. Consider stop/hedge rules around ±2/±3 ATR.
Let alerts stage your watchlist; act only on combined squeeze + momentum signals.
Divergences in live mode can repaint (Real-Time); for algo or alerts, use on-close.
Tight/Very tight squeezes are great for scalps but choppy; combine with DMI rising + VPCI>0.
±3 ATR is exhaustion context, not an auto-fade—look for WVF/Div/DSL confirmation.
For alerts, pair “Fired Squeeze + Bullish Swing” (or bearish) to avoid false starts.
🎯 How to Trade Entry ~ Recap:
Tight/very tight squeeze → fires → momentum crosses up (or DSL bull).
Exit/Flip: Momentum crosses down into/after expansion or hits +2/+3 ATR with fade signs. Filter: Avoid fresh longs at +3 ATR; avoid fresh shorts at −3 ATR unless fading with confirmation.
📐 Options Integrations
✅ Risk Reversal/Modified Risk Reversal (Bullish: Short Put + Long Call)
Use when: Squeeze fires up from 🟡/🟣 and momentum crosses above signal (or zero/DSL).
Playbook Entry: On or just after the bullish fire and momentum upcross. DMI or Volume supports trend as well.
Structure: Sell a put at/just below the −2 ATR reference (or recent swing support). Buy a call at/above the breakout zone (prior high/mid-range +1 to +2 ATR).
A classic risk reversal is a long call plus a short put. That’s a very bullish structure—you gain if the price rallies (via the call), and you collect a premium by selling a put. But it has a naked downside risk. The modified risk reversal fixes that by adding a long lower put (making the short put into a defined put credit spread).
Management: If momentum stays above signal, ride toward +2 → +3 ATR. Sell the put near the current price → receive big premium. Buy the lower put → spend part of that premium (risk cap). Buy the call above the current price → spend more, but the short put premium mostly pays for it.
Exits/Adjust: Momentum downcross or squeeze flips back on (new compression) → reduce. If price retests −1/−2 ATR and holds, you can roll the short put down/out.
Breakout = Big Success; No Breakout = you keep the initial credit. Reversal = Max loss is capped by the long lower put.
✅ Iron Condor (Neutral: Short OTM Put Spread + Short OTM Call Spread)
Use when: Squeeze is active (🟡/🟣), momentum is flat near zero, and there is no directional edge. 🟢 lasts for around 5~8 bars typically. I measure the historical duration of it, and wait for a range period to occur.
Playbook Entry: During compression, set wings outside ±2 ATR (or recent range extremes). I prefer identifying boxes where the rectangle pattern occurs on the chart.
Management: Time decay works while price remains trapped in the coil. High-winrate ~80%, but 1 loser can wipe most of the gains.
Exits/Adjust: If a squeeze fires and momentum breaks hard one way, close the losing side, consider converting to a vertical or rotating to a directional spread aligned with momentum.
4HR-Bullish, closing one wing:
Tip: Align daily/weekly context with your intraday entries. 9 > 50 on Weekly, similar on Daily. Sell premium into compression; switch to directional spreads on expansion and momentum confirmation.
✅ Naked Call/Puts (Directional: 10~30 Delta Calls)
Stick to naked calls and puts when the squeezes are fired from either 🔴 or ⚫.
Look for Strikes slightly out of the money with an OI and Volume spread less than <10%.
If Strike Date is >45, manage 21 Days before expiration. Scalp: Expiration Strikes of 1/4 of the Squeeze period. Leap: Expiration Strikes of 1.75x of the Squeeze period.
📐 Futures Integrations
Playbook Entry:
Verify if the squeeze on the hourly is red or green, and enter on the 2- or 5-minute during a similar squeeze state.
Trend-Following: Traditional 2 Renko Block above 21 SMA and Momentum is bullish, or vice versa. (2~ES, 5~NQ)
Structure: Go long at/just below the ATR reference (or recent swing support). Exit below the breakout zone (prior high/mid-range +1 to +2 ATR).
Management: If momentum stays above +1 ATR ride toward +2 → +3 ATR, etc. House-money, should be kept.
Exits/Adjust: Momentum downcross or squeeze flips back on (new compression) → exit. On Renko Charts, lower the sensitivity to 0.7~1. If price retests 0/−1/−2 ATR and holds, you can enter when the 9 SMA flips. The 50 SMA is better for Daily and up; I wouldn't trade against it then.
📌 FOMO Trading Playbook
Credits & License
Credits: @JF10R (Multi-Timeframe Squeeze), @BigBeluga (DSL), @OskarGallard (Colored DMI base), @ChrisMoody (WVF ideas), @PineCodersTASC (VTTI/VPCI), @EliCobra (Divergence toolkit).
License: Mozilla Public License 2.0 (MPL-2.0).
Author: © GabrielAmadeusLau
Emperor RSI CandleDescription:
The Emperor RSI Candle is a real-time, non-lagging trading indicator that colors candles based on RSI (Relative Strength Index) levels. It offers instant visual feedback on market momentum, making it easy to identify trend strength, overbought/oversold zones, and potential reversals with precision.
Unlike traditional RSI indicators, which display RSI values in a separate panel, Emperor RSI Candle integrates RSI signals directly into the candles, providing a cleaner, more intuitive charting experience. Its multi-timeframe RSI box shows RSI values across different timeframes, offering confluence confirmation for better trade decisions.
🔥 Emperor RSI Candle is original because it includes a multi-timeframe RSI box that displays RSI values from:
1 min → Monthly timeframes simultaneously.
📊 How this is unique:
Traders can instantly compare RSI values across different timeframes.
This helps them spot confluence and divergences, which is not possible with standard RSI indicators.
The multi-timeframe confluence feature makes the indicator highly effective for both short-term and long-term traders.
🚀 What the script does:
Real-time candle coloring based on RSI levels.
Multi-timeframe RSI box for confluence insights.
Customizable RSI settings for adaptability.
How it benefits traders:
Instant visual feedback for momentum and reversals.
No lag signals for precise trading decisions.
Flexible customization for different trading styles.
Unique visual signals:
Green, red, parrot green, and blue candles → Clearly indicating bullish/bearish momentum and overbought/oversold zones.
Multi-timeframe RSI box → For cross-timeframe confluence.
⚡️ 🔥 UNIQUE FEATURES 🔥:
✅ Multi-Timeframe RSI Box:
Displays RSI values from 1 min to monthly timeframes, helping traders confirm confluence across different timeframes.
✅ Fully Customizable RSI Levels & Display:
Modify RSI thresholds, source, and appearance to fit your trading style.
✅ Dynamic Candle Borders for Weak Signals:
Green border → Weak bullishness (RSI between 50-60).
Red border → Weak bearishness (RSI between 40-50).
✅ Lag-Free, Real-Time Accuracy:
No repainting or delay—instant visual signals for accurate decisions.
✅ Scalable for Any Trading Style:
Perfect for both intraday scalping and positional trading.
📊 🔥 HOW IT WORKS 🔥:
The indicator dynamically colors candles based on RSI values, providing real-time visual signals:
🟢 Above 60 RSI → Green candle:
Indicates bullish momentum, signaling potential upward continuation.
🟩 Above 80 RSI → Parrot green candle:
Overbought zone → Possible reversal or profit booking.
🟥 Below 40 RSI → Red candle:
Signals bearish momentum, indicating potential downward continuation.
🔵 Below 20 RSI → Blue candle:
Oversold zone → Possible reversal opportunity.
🔲 Neutral candles:
50-60 RSI → Green border: Weak bullishness.
40-50 RSI → Red border: Weak bearishness.
📊 🔥 MULTI-TIMEFRAME RSI BOX 🔥:
The Emperor RSI Candle includes an RSI box displaying multi-timeframe RSI values from 1 min to monthly. This provides:
✅ Confluence confirmation:
Compare RSI across multiple timeframes to strengthen trade conviction.
✅ Spot divergences:
Identify hidden trends by comparing smaller and larger timeframes.
✅ Validate trade entries/exits:
Use higher timeframe RSI to confirm smaller timeframe signals
⚙️ 🔥 HOW TO USE IT 🔥:
To maximize the accuracy and clarity of Emperor RSI Candle, follow these steps:
🔧 STEP 1: Chart Settings Configuration
Go to Chart Settings → Symbols
Uncheck the following options:
Body
Borders
Wick
✅ This ensures that only the Emperor Candle colors are visible, making the signals clear and distinct.
🔧 STEP 2: Style Settings for Emperor Candle
After applying the Emperor RSI Candle:
Go to Settings → Style tab
Wick section:
Select Color 2 and Color 3 → Set Opacity to 100%.
Border section:
Select Color 2 and Color 3 → Set Opacity to 100%.
✅ This ensures the candles display with full visibility and accurate colors.
⚙️ 🔥 CUSTOMIZATION OPTIONS 🔥:
Emperor RSI Candle offers full flexibility to match your trading style:
✅ RSI Length:
Modify the period used for RSI calculation (default: 10).
✅ Top & Bottom Levels:
Adjust the overbought (default: 80) and oversold (default: 20) thresholds.
✅ Intermediate Levels:
Up Level: Default: 60 → Bullish RSI threshold.
Down Level: Default: 40 → Bearish RSI threshold.
Mid Level: Default: 50 → Neutral zone.
✅ RSI Source:
Select the price source for RSI calculation (Close, Open, High, Low).
✅ RSI Period:
Customize the RSI calculation period (default: 10).
✅ Font Size:
Adjust the RSI box font size for better visibility.
✅ Box Position:
Choose where to display the RSI box:
Top Left / Top Center / Top Right
Bottom Left / Bottom Center / Bottom Right
💡 🔥 HOW IT IMPROVES TRADING 🔥:
✅ Clear trend identification:
Instantly recognize bullish, bearish, or neutral conditions through candle colors.
✅ Precise entries and exits:
Spot overbought and oversold zones with visual clarity.
✅ Multi-timeframe confirmation:
Validate trades with RSI confluence across multiple timeframes.
✅ No lag, real-time accuracy:
Immediate visual signals for faster and more reliable trade decisions.
✅ Customizable settings:
Tailor the indicator to fit your trading strategy and preferences.
✅ Works for all trading styles:
Suitable for scalping, day trading, and swing trading.
🔥How Traders Can Use Emperor RSI Candle for Trading:
🟢 Green Candles (Above 60 RSI) → Bullish Momentum:
Indicates strong upward movement → Ideal for long entries.
Traders can hold until RSI approaches 80 for profit booking.
🟥 Red Candles (Below 40 RSI) → Bearish Momentum:
Signals strong downward movement → Ideal for short trades.
Traders can exit or book profits near RSI 20.
2. Spotting Overbought and Oversold Zones for Reversals:
🟩 Parrot Green Candles (Above 80 RSI) → Overbought Zone:
Indicates potential for reversals or profit booking.
Traders can tighten stop-losses or exit positions.
🔵 Blue Candles (Below 20 RSI) → Oversold Zone:
Signals a potential reversal opportunity.
Traders can look for buy signals with confluence confirmation.
3. Catching Weak Bullish and Bearish Trends with Border Colors:
🟢 Green Border (RSI 50-60) → Weak Bullishness:
Indicates mild upward momentum.
Traders can consider cautious long entries.
🔴 Red Border (RSI 40-50) → Weak Bearishness:
Indicates mild downward pressure.
Traders can consider cautious short entries.
4. Using the RSI Multi-Timeframe Box for Confluence:
✅ Displays RSI values from 1 min to monthly timeframes.
Usage:
Confluence confirmation:
Multiple timeframes showing bullish RSI → Strong uptrend → Reliable buy signals.
Multiple timeframes showing bearish RSI → Strong downtrend → Reliable sell signals.
Spotting divergences:
If lower timeframes are bullish but higher timeframes are bearish, it indicates a potential reversal.
5. Customization Tips for Different Trading Styles:
✅ For Scalping:
Use a smaller RSI period (9-10) for faster signals.
Check the multi-timeframe RSI box to confirm signals quickly.
✅ For Swing Trading:
Use the default RSI period (14-15) for more accurate signals.
Focus on higher timeframes (1 hr, 4 hr, daily) for stronger trend confirmation.
YinYang TrendTrend Analysis has always been an important aspect of Trading. There are so many important types of Trend Analysis and many times it may be difficult to identify what to use; let alone if an Indicator can/should be used in conjunction with another. For these exact reasons, we decided to make YinYang Trend. It is a Trend Analysis Toolkit which features many New and many Well Known Trend Analysis Indicators. However, everything in there is added specifically for the reason that it may work well in conjunction with the other Indicators prevalent within. You may be wondering, why bother including common Trend Analysis, why not make everything unique? Ideally, we would, however, you need to remember Trend Analysis may be one of the most common forms of charting. Therefore, many other traders may be using similar Trend Analysis either through plotting manually or within other Indicators. This all boils down to Psychology; you are trading against other traders, who may be seeing some of the similar information you are, and therefore, you may likewise want to see this information. What affects their trading decisions may affect yours as well.
Now enough about Trend Analysis, what is within this Indicator, and what does it do? Well, first let’s quickly mention all of its components, then we will, through a Tutorial, discuss each individually and finally how each comes together as a cohesive whole. This Indicator features many aspects:
Bull and Bear Signals
Take Profit Signals
Bull and Bear Zones
Information Tables displaying: (Boom Meter, Bull/Bear Strength, Yin/Yang State)
16 Cipher Signals
Extremes
Pivots
Trend Lines
Custom Bollinger Bands
Boom Meter Bar Colors
True Value Zones
Bar Strength Indexes
Volume Profile
There are many things to cover within our Tutorial so let's get started, chronologically from the list above.
Tutorial:
Bull and Bear Signals:
We’ve zoomed out quite a bit for this example to help give you a broader aspect of how these Bull and Bear signals work. When a signal appears, it is displaying that there may be a large amount of Bullish or Bearish Trend Analysis occurring. These signals will remain in their state of Bull or Bear until there is enough momentum change that they change over. There are a couple Options within the Settings that dictate when/where/why these signals appear, and this example is using their default Settings of ‘Medium’. They are, Purchase Speed and Purchase Strength. Purchase Speed refers to how much Price Movement is needed for a signal to occur and Purchase Strength refers to how many verifications are required for a signal to occur. For instance:
'High' uses 15 verifications to ensure signal strength.
'Medium' uses 10 verifications to ensure signal strength.
'Low' uses 5 verifications to ensure signal strength.
'Very Low' uses 3 verifications to ensure signal strength.
By default it is set to Medium (10 verifications). This means each verification is worth 10%. The verifications used are also relevant to the Purchase Speed; meaning they will be verified faster or slower depending on its speed setting. You may find that Faster Speeds and Lower Verifications may work better on Higher Time Frames; and Slower Speeds and Higher Verifications may work better on Lower Time Frames.
We will demonstrate a few examples as to how the Speed and Strength Settings work, and why it may be beneficial to adjust based on the Time Frame you’re on:
In this example above, we’ve kept the same Time Frame (1 Day), and scope; but we’ve changed Purchase Speed from Medium->Fast and Purchase Strength from Medium-Very Low. As you can see, it now generates quite a few more signals. The Speed and Strength settings that you use will likely be based on your trading style / strategy. Are you someone who likes to stay in trades longer or do you like to swing trade daily? Likewise, how do you go about identifying your Entry / Exit locations; do you start on the 1 Day for confirmation, then move to the 15/5 minute for your entry / exit? How you trade may determine which Speed and Strength settings work right for you. Let's jump to a lower Time Frame now so you can see how it works on the 15/5 minute.
Above is what BTC/USDT looks like on the 15 Minute Time Frame with Purchase Speed and Strength set to Medium. You may note that the signals require a certain amount of movement before they get started. This is normal with Medium and the amount of movement is generally dictated by the Time Frame. You may choose to use Medium on a Lower Time Frame as it may work well, but it may also be best to change it to a little slower.
We are still on the 15 Minute Time Frame here, however we simply changed Purchase Speed from Medium->Slow. As you can see, lots of the signals have been removed. Now signals may ‘hold their ground’ for much longer. It is important to adjust your Purchase Speed and Strength Settings to your Time Frame and personalized trading style accordingly.
Above we have now jumped down to the 5 Minute Time Frame. Our Purchase Speed is Slow and our Purchase Strength is Medium. We can see it looks pretty good, although there is some signal clustering going on in the middle there. If we change our Settings, we may be able to get rid of that.
We have changed our Purchase Speed from Slow->Snail (Slowest it can go) and Purchase Strength from Medium->Very Low (Lowest it can go). Changing it from Slow-Snail helped get rid of the signal clustering. You may be wondering why we lowered the Strength from Medium->Very Low, rather than going from Medium->High. This is a use case scenario and one you’ll need to decide for yourself, but we noticed when we changed the Speed from Slow->Snail that the signal clustering was gone, so then we checked both High and Very Low for Strengths to see which produced the best looking signal locations.
Please remember, you don’t have to use it the exact way we’ve displayed in this Tutorial. It is meant to be used to suit your Trading Style and Strategy. This is why we allow you to modify these settings, rather than just automating the change based on Time Frames. You’ll likely need to play around with it, as you’ll notice different settings may work better on certain pairs and Time Frames than others.
Take Profit Signals:
We’ve reset our Purchase Settings, everything is on defaults right now at Medium. We’ve enabled Take Profit signals. As you can see there are both Take Profit signals for the Bulls and the Bears. These signals are not meant to be used within automation. In fact, none of this indicator is. These signals are meant to show there has been a strong change in momentum, to such an extent that the signal may switch from its current (Bull or Bear) and now may be a good time to Take Profit. Your Take Profit Settings likewise has a Speed and Strength, and you can set them differently than your Purchase Settings. This is in case you want to Take Profit in a different manner than your Purchase Signals. For instance:
In the example above we’ve kept Purchase Strength and Speed at Medium but we changed our Take Profit Speed from Medium->Snail and our Take Profit Strength from medium->Very Low. This greatly reduces the amount of Take Profit signals, and in some cases, none are even produced. This form of Take Profit may act more as a Trailing Take Profit that if it’s not hit, nothing appears.
In this example we have changed our Purchase Speed from Medium->Fast, our Purchase Strength from Medium->Very Low. We’ve also changed our Take Profit Speed from Snail->Medium and kept our Take Profit Strength on Very Low. Now we may get our signals quicker and likewise our Take Profit may be more rare. There are many different ways you can set up your Purchase and Take Profit Settings to fit your Trading Style / Strategy.
Bull and Bear Zones:
We have disabled our Take Profit locations so that you can see the Bull and Bear Zones. These zones change color when the Signals switch. They may represent some strong Support and Resistance locations, but more importantly may be useful for visualizing changes in momentum and consolidation. These zones allow you to see various Moving Averages; and when they start to ‘fold’ (cross) each other you may see changes in momentum. Whereas, when they’re fully stretched out and moving all in the same direction, it can provide insight that the current rally may be strong. There is also the case where they look like they’re ‘twisted’ together. This happens when all of the Moving Averages are very close together and may be a sign of Consolidation. We will go over a few examples of each of these scenarios so you can understand what we’re referring to.
In this example above, there are a few different things happening. First we have the yellow circle, where the final and slowest Moving Average (MA) crossed over and now all of the MA’s that form the zone are Bullish. You can see this in the white circle where there are no MA’s that are crossing each other. Lastly, within the blue circle, we can see how some of the faster MA’s are crossing under each other. This is a bullish momentum change. The Faster moving MA’s will always be the first ones to cross before the Slower ones do. There is a color scheme in place here to represent the Speed of the MA within the Zone. Light blue is the fastest moving Bull color -> Light Green and finally -> Dark Green. Yellow is the fastest moving Bear color -> Orange and finally -> Red / Dark Red within the Zone.
Next we will review a couple different examples of what Consolidation looks like and why it is very important to look out for. Consolidation is when Most, if not All of the MA’s are very tightly ‘twisted’ together. There is very little spacing between almost all of the MA’s in the example above; highlighted by the white circle. Consolidation is important as it may indicate a strong price movement in either direction will occur soon. When the price is consolidating it means it has had very little upwards or downwards movement recently. When this happens for long enough, MA’s may all get very similar in value. This may cause high volatility as the price tries to break out of Consolidation. Let's look at another example.
Above we have two more examples of what Consolidation looks like and how high Volatility may occur after the Consolidation is broken. Please note, not all Consolidation will create high Volatility but it is something you may want to look out for.
Information Tables displaying: (Boom Meter, Bull/Bear Strength, Yin/Yang State):
Information tables are a very important way of displaying information. It contains 3 crucial pieces of information:
Boom Meter
Bull/Bear Strength
Yin/Yang State
Boom Meter is a meter that goes from 0-100% and displays whether the current price is Dumping (0 - 29%), Consolidating (30 - 70%) or Pumping (71 - 100%). The Boom Meter is meant to be a Gauge to how the price is currently fairing. It is composed of ~50 different calculations that all vary different weights to calculate its %. Many of the calculations it uses are likewise used in other things, such as the Bull/Bear Strength, Bull/Bear Zone MA cross’, Yin/Yang State, Market Cipher Signals, RSI, Volume and a few others. The Boom Meter, although not meant to be used solely to make purchase decisions, may give you a good idea of current market conditions considering how many different things it evaluates.
Bull/Bear Strength is relevant to your Purchase Speed and Strength. It displays which state it is currently in, and the % it is within that state. When a % hits 0, is when the state changes. When states change, they always start at 100% initially and will go down at the rate of Purchase Strength (how many verifications are needed). For instance, if your Purchase Strength is set to ‘Medium’ it will move 10% per verification +/-, if it is set to High, it will move 6.67% per verification +/-. Bull/Bear Strength is a good indicator of how well that current state is fairing. For instance if you started a Long when the state changed to Bull and now it is currently at Bull with 20% left, that may be a good indication it is time to get out (obviously refer to other data as well, but it may be a good way to know that the state is 20% away from transitioning to Bear).
Yin/Yang State is the strongest MA cross within our Indicator. It is unique in the sense that it is slow to change, but not so much that it moves slowly. It isn’t as simple as say a Golden/Death Cross (50/200), but it crosses more often and may hold similar weight as it. Yin stands for Negative (Bearish) and Yang stands for Positive (Bullish). The price will always be in either a state of Yin or Yang, and just because it is in one, doesn’t mean the price can’t/won’t move in the opposite direction; it simply means the price may be favoring the state it is in.
16 Cipher Signals:
Cipher Signals are key visuals of MA cross’ that may represent price movement and momentum. It would be too confusing and hard to decipher these MA’s as lines on a chart, and therefore we decided to use signals in the form of symbols instead. There are 12 Standard and 4 Predictive/Confirming Cipher signals. The Standard Cipher signals are composed of 6 Bullish and 6 Bearish (they all have opposites that balance each other out). There can never be 2 of the same signal in a row, as the Bull and Bear cancel each other out and it's always in a state of one or the other. When all 6 Bullish or Bearish signals appear in a row, very closely together, without any of the opposing signals it may represent a strong momentum movement is about to occur.
If you refer to the example above, you’ll see that the 6 Bullish Cipher signals appeared exactly as mentioned above. Shortly after the Green Circle appeared, there was a large spike in price movement in favor of the Bulls. Cipher signals don’t need to appear in a cluster exactly like the white circle in this photo for momentum to occur, but when it does, it may represent volatility more than if it is broken up with opposing signals or spaced out over a longer time span.
Above is an example of the opposite, where all 6 Bearish Cipher signals appeared together without being broken by a Bullish Cipher signal or being too far spaced out. As you can see, even though past it there was a few Bullish signals, they were quickly reversed back to Bearish before a large price movement occurred in favor of the Bears.
In the example above we’ve changed Cipher signals to Predictive and Confirming. Support Crosses (Green +) and Blood Diamonds (Red ♦) are the normal Cipher Signals that appear within the Standard Set. They are the first Cipher Signal that appears and are the most common ones as well. However, just because they are the first, that doesn’t mean they aren’t a powerful Cipher signal. For this reason, there are Predictive and Confirming Cipher signals for these. The Predictive do just that, they appear slightly sooner (if not the same bar) as the regular and the Confirming appear later (1+ bars usually). There will be times that the Predictive appears, but it doesn’t resort to the Regular appearing, or the Regular appears and the Confirming doesn’t. This is normal behavior and also the purpose of them. They are meant to be an indication of IF they may appear soon and IF the regular was indeed a valid signal.
Extremes:
Extremes are MA’s that have a very large length. They are useful for seeing Cross’ and Support and Resistance over a long period of time. However, because they are so long and slow moving, they might not always be relevant. It’s usually advised to turn them on, see if any are close to the current price point, and if they aren’t to turn them off. The main reason being is they stretch out the chart too much if they’re too far away and they also may not be relevant at that point.
When they are close to the price however, they may act as strong Support and Resistance locations as circled in the example above.
Pivots:
Pivots are used to help identify key Support and Resistance locations. They adjust on their own in an attempt to keep their locations as relevant as possible and likewise will adjust when the price pushes their current bounds. They may be useful for seeing when the Price is currently testing their level as this may represent Overbought or Oversold. Keep in mind, just because the price is testing their levels doesn’t mean it will correct; sometimes with high volatility or geopolitical news, movement may continue even if it is exhibiting Overbought or Oversold traits. Pivots may also be useful for seeing how far the price may correct to, giving you a benchmark for potential Take Profit and Stop Loss locations.
Trend Lines:
Trend Lines may be useful for identifying Support and Resistance locations on the Vertical. Trend Lines may form many different patterns, such as Pennants, Channels, Flags and Wedges. These formations may help predict and drive the price in specific directions. Many traders draw or use Indicators to help create Trend Lines to visualize where these formations will be and they may be very useful alone even for identifying possible Support and Resistance locations.
If you refer to the previous example, and now to this example, you’ll notice that the Trend Line that supported it in 2023 was actually created in June 2020 (yellow circle). Trend Lines may be crucial for identifying Support and Resistance locations on the Vertical that may withhold over time.
Custom Bollinger Bands:
Bollinger Bands are used to help see Movement vs Consolidation Zones (When it's wide vs narrow). It's also very useful for seeing where the correction areas may be. Price may bounce between top and bottom of the Bollinger Bands, unless in a pump or dump. The Boom Meter will show you whether it is currently: Dumping, Consolidation or Pumping. If combined with Boom Meter Bar Colors it may be a good indication if it will break the Bollinger Band (go outside of it). The Middle Line of the Bollinger Band (White Line) may be a very strong support / resistance location. If the price closes above or below it, it may be a good indication of the trend changing (it may indicate one of the first stages to a pump or dump). The color of the Bollinger Bands change based on if it is within a Bull or Bear Zone.
What makes this Bollinger Band special is not only that it uses a custom multiplier, but it also incorporates volume to help add weight to the calculation.
Boom Meter Bar Colors:
Boom Meter Bar Colors are a way to see potential Overbought and Oversold locations on a per bar basis. There are 6 different colors within the Boom Meter bar colors. You have:
Overbought and Very Bullish = Dark Green
Overbought and Slightly Bullish = Light Green
Overbought and Slight Bearish = Light Red
Oversold and Very Bearish = Dark Red
Oversold and Slightly Bearish = Orange
Oversold and Slightly Bullish = Light Purple
When there is no Boom Meter Bar Color prevalent there won’t be a color change within the bar at all.
Just because there is a Boom Meter Bar Color change doesn’t mean you should act on it purchase or sell wise, but it may be an indication as to how that bar is fairing in an Overbought / Oversold perspective. Boom Meter Bar Colors are mainly based on RSI but do take in other factors like price movement to determine if it is Overbought or Oversold. When it comes to Boom Meter Bar Color, you should take it as it is, in the sense that it may be useful for seeing how Individual bars are fairing, but also note that there may be things such as:
When there is Very Overbought (Dark Green) or Very Oversold (Dark Red), during massive pump or dumps, it will maintain this color. However, once it has lost ‘some’ momentum it will likely lose this color.
When there has been a massive Pump or Dump, and there is likewise a light purple or light red, this may mean there is a correction or consolidation incoming.
True Value Zones:
True Value zones are our custom way of displaying something that is similar to a Bollinger Band that can likewise twist like an MA cross. The main purpose of it is to display where the price may reside within. Much like a Bollinger Band it has its High and Low within its zone to specify this location. Since it has the ability to cross over and under, it has the ability to specify what it thinks may be a Bullish or Bearish zone. This zone uses its upper level to display what may be a Resistance location and its lower level to display what may be a Support location. These Support and Resistance locations are based on Momentum and will move with the price in an attempt to stay relevant.
You may use these True Values zones as a gauge of if the price is Overbought or Oversold. When the price faces high volatility and moves outside of the True Value Zones, it may face consolidation or likewise a correction to bring it back within these zones. These zones may act as a guideline towards where the price is currently valued at and may belong within.
Bar Strength Indexes:
Bar Strength Indexes are our way of ranking each bar in correlation to the last few. It is based on a few things but is highly influenced on Open/Close/High/Low, Volume and how the price has moved recently. They may attempt to ‘rate’ each bar and how Bullish/Bearish each of these bars are. The Green number under the bar is its Bullish % and the Red number above the bar is its Bearish %. These %’s will always equal 100% when combined together. Bar Strength Indexes may be useful for seeing when either Bullish or Bearish momentum is picking up or when there may be a reversal / consolidation.
These Bar Strength Indexes may allow you to decipher different states. If you refer to the example above, you may notice how based on how the numbers are changing, you may see when it has entered / exited Bullish, Bearish and Consolidation. Likewise, if you refer to the current bar (yellow circle), you can see that the Bullish % has dropped from 93 to 49; this may be signifying that the Bullish movement is losing momentum. You may use these changes in Bar Indexes as a guide to when to enter / end trades.
Volume Profile:
Volume Profile has been something that has been within TradingView for quite some time. It is a very useful way of seeing at what Horizontal Price there has been the most volume. This may be very useful for seeing not only Support and Resistance locations based on Volume, but also seeing where the majority of Limit Orders are placed. Limit Orders are where traders decide they want to either Buy / Sell but have the order placed so the trade won’t happen until the price reaches a certain amount. Either through many orders from many traders, or a single order from a ‘Whale’ (trader with a lot of capital); you may see Support and Resistance at specific Price Points that have large Volume.
Many Volume Profile Indicators feature a breakdown of all the different locations of volume, along with a Point Of Control (POC) line to designate where the most Volume has been. To try and reduce clutter within our already very saturated Toolkit Indicator, we’ve decided to strip our Volume Profile to only display this POC line. This may allow you to see where the crucial Volume Support and Resistance is without all of the clutter.
You may be wondering, well how important is this Volume Profile POC line and how do I go about using it? Aside from it being a gauge towards where Support and Resistance may be within Volume, it may also be useful for identifying good Long/Short locations. If you think of the line as a ‘Battle’ between the Bulls and Bears, they’re both fighting over that line. The Bears are wanting to break through it downwards, and the Bulls are wanting to break through it upwards. When one side has temporarily won this battle, this means they may have more Capital to push the price in their direction. For instance, if both the Bulls and the Bears are fighting over this POC price, that means the Bears think that price is a good spot to sell; however, the Bulls also deem that price to be a good point to buy. If the Bulls were to win this battle, that means the Bears either canceled their orders to reevaluate, or all of their orders have been completed from the Bulls buying them all. What may happen after that is, if the Bulls were able to purchase all of these Limit Sell Orders, then they may still have more Capital left to continue to pressure the price upwards. The same may be true for if the Bears were to win this ‘Battle’.
How to use YinYang Trend as a cohesive whole:
Hopefully you’ve read and understand how each aspect of this Indicator works on its own, as knowing how/what they each do is important to understanding how it is used as a cohesive whole. Due to the fact that this Toolkit of an Indicator displays so much data, you may find it easier to use and understand when you’re zoomed in a little, somewhat like we are in this example above.
If we refer to the example above, you may like us, deduce a few things:
1. The current price may be VERY Overbought. This may be seen by a few different things:
The Boom Meter Bar Colors have been exhibiting a Dark Green color for 6 bars in a row.
The price has continuously been moving the High (red) Pivot Upwards.
Our Boom Meter displays ‘Pumping’ at 100%.
The price broke through a Downward Trend Line that was created in February of 2022 at 45,000 like it was nothing.
The Bar Strength Index hit a Bullish value of 93%.
The Price broke out of the Bollinger Bands and continues to test its upper levels.
The Low is much greater than our fastest moving MA that creates the Purchase Zones.
The Price is vastly outside of the True Value Zone.
The Bar Strength Index of our current bar is 50% bullish, which is a massive decrease from the previous bar of 93%. This may indicate that a correction is coming soon.
2. Since we’ve identified the current price may be VERY Overbought, next we need to identify if/when/to where it may correct to:
We’ve created a new example here to display potential correction areas. There are a few places it has the ability to correct to / within:
The downward Trend Line (red) below the current bar sitting currently at 32,750. This downward Trend Line is at the same price point as the Fastest MA of our Purchase Zone which may provide some decent Support there.
Between two crucial Pivot heights, within a zone of 30,000 to 31,815. This zone has the second fastest MA from the Purchase Zone right near the middle of it at 31,200 which may act as a Support within the Zone. Likewise there is the Bollinger Band Basis which is also resting at 30,000 which may provide a strong Support location here.
If 30,000 fails there may be a correction all the way to the bottom of our True Value Zone and the top of one of our Extremes at 27,850.
If 27,850 fails it may correct all the way to the bottom of our Purchase Zone / lowest of our Extremes at 27,350.
If all of the above fails, it may test our Volume Profile POC of 26,430. If this POC fails, the trend may switch to Bearish and continue further down to lower levels of Support.
The price can always correct more than the prices mentioned above, but considering overall this Indicator is favoring the Bulls, we will tailor this analysis in Favor of the Bullish Momentum maintaining even during this correction. For these reasons, we think the price may correct between the 30,000 and 31,815 zone before continuing upwards and maintaining this Bullish Momentum.
Please note, these correction estimates are just that, they’re estimates. Aside from the fact that the price is very overbought right now and our Bar Strength Index may be declining (bar hasn’t closed yet); the Boom Meter Strength remains at 100%, meaning there may not be much Bearish momentum changes happening yet. We just want to show you how an Preemptive analysis may be done before there are even Bearish Cipher Signals appearing.
Using this Indicator, you may be able to decipher Entry and Exits. In the previous example, we went over how you may use it to see where a correction (Exit / Take Profit) may be and how far this correction may go. In this example above we will be discussing how to identify Entry locations. We will be discussing a Bullish Buy entry but the same rules apply for a Bearish Sell Entry just the opposite with the Cipher Signals.
If you refer to where we circled in white, this is where the Purchase Zones faced Consolidation. When the Purchase Zones all get tight and close together like that, this may represent Volatility and Momentum in either direction may occur soon.
This was then followed by all 6 of the Standard Cipher Signals closely in succession to each other. This means the Momentum may be favoring the Bulls. If this was likewise all 6 of the Bearish Cipher Signals closely in succession, than the momentum change would favor the Bears.
If you were looking for an entry, and you saw Consolidation with the Purchase Zones and then shortly after you saw the Green Circle and Blue Flag (they can swap order); this may now be a good Entry location.
We will conclude this Tutorial here. Hopefully this has taught you how this Trend Analysis Toolkit may help you locate multiple different types of important Support and Resistance locations; as well as possible Entry and Exit locations.
Settings:
1. Bull/Bear Zones:
1.1. Purchase Speed (Bull/Bear Signals and Take Profit Signals):
Speed determines how much price movement is needed for a signal to occur.
'Sonic' uses the extremities to try and get you the best entry and exit points, but is so quick, its speed may reduce accuracy.
'Fast' may attempt to capitalize on price movements to help you get SOME or attempt to lose LITTLE quickly.
'Medium' may attempt to get you the most optimal entry and exit locations, but may miss extremities.
'Slow' may stay in trades until it is clear that momentum has changed.
'Snail' may stay in trades even if momentum has changed. Snail may only change when the price has moved significantly (This may result in BIG gains, but potentially also BIG losses).
1.2. Purchase Strength (Bull/Bear Signals and Take Profit Signals):
Strength ensures a certain amount of verifications required for signals to happen. The more verifications the more accurate that signal is, but it may also change entry and exit points, and you may miss out on some of the extremities. It is highly advised to find the best combination between Speed and Strength for the TimeFrame and Pair you are trading in, as all pairs and TimeFrames move differently.
'High' uses 15 verifications to ensure signal strength.
'Medium' uses 10 verifications to ensure signal strength.
'Low' uses 5 verifications to ensure signal strength.
'Very Low' uses 3 verifications to ensure signal strength.
2. Cipher Signals:
Cipher Signals are very strong EMA and SMA crosses, which may drastically help visualize movement and help you to predict where the price will go. All Symbols have counter opposites that cancel each other out (YinYang). Here is a list, in order of general appearance and strength:
White Cross / Diamond (Predictive): The initial indicator showing trend movement.
Green Cross / Diamond (Regular): Confirms the Predictive and may add a fair bit of strength to trend movement.
Blue Cross / Diamond (Confirming): Confirms the Regular, showing the trend might have some decent momentum now.
Green / Red X: Gives momentum to the current trend direction, possibly confirming the Confirming Cross/Diamond.
Blue / Orange Triangle: may confirm the X, Possible pump / dump of decent size may be coming soon.
Green / Red Circle: EITHER confirms the Triangle and may mean big pump / dump is potentially coming, OR it just hit its peak and signifies a potential reversal correction. PAY ATTENTION!
Green / Red Flag: Oddball that helps confirm trend movements on the short term.
Blue / Yellow Flag: Oddball that helps confirm trend movements on the medium term (Yin / Yang is the long term Oddball).
3. Bull/Bear Signals:
Bear and Bull signals are where the momentum has changed enough based on your Purchase Speed and Strength. They generally represent strong price movement in the direction of the signal, and may be more reliable on higher TimeFrames. Please don’t use JUST these signals for analysis, they are only meant to be a fraction of the important data you are using to make your technical analysis.
4. Take Profit Signals:
Take Profit signals are guidelines that momentum has started to change back and now may be a good time to take profit. Your Take Profit signals are based on your Take Profit Speed and Strength and may be adjusted to fit your trading style.
5. Information Tables:
Information tables display very important data and help to declutter the screen as they are much less intrusive compared to labels. Our Information tables display: Boom Meter, Purchase Strength of Bull/Bear Zones and Yin/Yang State.
Boom Meter: Uses over 50 different calculations to determine if the pair is currently 'Dumping' (0-29%), 'Consolidating' (30-70%), or 'Pumping' (71-100%).
Bull / Bear Strength: Shows the strength of the current Bull / Bear signal from 0-100% (Signals start at 100% and change when they hit 0%). The % it moves up or down is based on your 'Purchase Strength'.
Yin / Yang state: Is one of the strongest EMA/SMA crosses (long term Oddball) within this Indicator and may be a great indication of which way the price is moving. Do keep in mind if the price is consolidating when changing state, it may have the highest chance of switching back also. Once momentum kicks in and there is price movement the state may be confirmed. Refer to other Cipher Symbols, Extremes, Trend, BOLL, Boom %, Bull / Bear % and Bar colors when Bull / Bear Zones are consolidating and Yin / Yang State changes as this is a very strong indecision zone.
6. Bull / Bear Zones:
Our Bull / Bear zones are composed of 8 very important EMA lengths that may act as not only Support and Resistance, but they help to potentially display consolidation and momentum change. You can tell when they are getting tight and close together it may represent consolidation and when they start to flip over on each other it may represent a change in momentum.
7. MA Extremes:
Our MA Extremes may be 3 of the most important long term moving averages. They don’t always play a role in trades as sometimes they’re way off from the price (cause they’re extreme lengths), but when they are around price or they cross under or over each other, it may represent large changes in price are about to occur. They may be very useful for seeing strong resistance / support locations based on price averages. Extremes may transition from a Support to a Resistance based on its position above or below them and how many times the price has either bounced up off them (Supporting) or Bounced back down after hitting them (Resistance).
8. Pivots:
Pivots may be a very important indicator of support and resistance for horizontal price movement. Pivots may represent the current strongest Support and Resistance. When the Pivot changes, it means a new strong Support or Resistance has been created. Sometimes you'll notice the price constantly pushes the pivot during a massive Pump or Dump. This is normal, and may indicate high levels of volatility. This generally also happens when the price is outside of the Bollinger Bands and is also Over or Undervalued. The price usually consolidates for a while after something like this happens before more drastic movement may occur.
9. Trend Lines:
Trend lines may be one of the best indicators of support and resistance for diagonal price movement. When a Trend Line fails to hold it may be a strong indication of a dump. Keep a close eye to where Upward and Downward Trend Lines meet. Trend lines can create different trading formations known as Pennants, Flags and Wedges. Please familiarize yourself with these formations So you know what to look for.
10. Bollinger Bands (BOLL):
Bollinger Bands may be very useful, and ours have been customized so they may be even more accurate by using a modified calculation that also incorporates volume.
Bollinger Bands may be used to see Movement vs Consolidation Zones (When it’s wide vs narrow). It also may be very useful for seeing where the correction areas are likely to be. Price may bounce between top and bottom of the BOLL, unless perhaps in a pump or dump. The Boom Meter may show you whether it is currently: Dumping, Consolidation or Pumping, along with Boom Meter Bar Colors, may be a good indication if it will break the BOLL. The Middle Line of the BOLL (White Line) may be a very strong support / resistance line. If the price closes above or below it, it may be a good indication of the trend changing (it may be one of the first stages to a pump or dump).
11. Boom Meter Bar Colors:
Boom Meter bar colors may be very useful for seeing when the bar is Overbought or Underbought. There are 6 different types of boom meter bar colors, they are:
Dark Green: RSI may be very Overbought and price going UP (May be in a big pump. NOTICE, chance of small dump correction if Cherry Red bar appears).
Light Green: RSI may be slightly Overbought and price going UP (chance of small pump).
Light Purple: RSI may be very Underbought and price going UP (May have chance of small correction).
Dark Red: RSI may be very Underbought and price going DOWN (May be in a big dump. NOTICE, chance of small pump correction if Light Purple bar appears).
Light Orange: RSI may be slightly Underbought and price going DOWN (chance of small dump).
Cherry Red: RSI may be very Overbought and price going DOWN (Chance of small correction).
12. True Value Zone:
True Value Zones display zones that represent ranges to show what the price may truly belong within. They may be very useful for knowing if the Price is currently not valued correctly, which generally means a correction may happen soon. True Value Zones can swap from Bullish to Bearish and are represented by Red for Bearish and Green for Bullish. For example, if the price is ABOVE and OUTSIDE of the True Value Zone, this means it may be very overvalued and might correct to go back inside the True Value Zone. This correction may be done by either dumping in price back into the zone, or consolidating horizontally back into it over a longer period of time. Vice Versa is also true if it is BELOW and OUTSIDE of the True Value Zone.
13. Bar Strength Index:
Bar Strength Index may display how Bullish/Bearish the current bar is. The strength is important to help see if a pump may be losing momentum or vice versa if a dump may correct. Keep in mind, the Bar Strength Index does a small 'refresh' to account for new bars. It may help to keep the Index more accurate.
14. Volume Profile:
Volume Profiles may be important to know where the Horizontal Support/Resistance is in Price base on Volume. Our Volume Profile may identify the point where the most volume has occurred within the most relevant timeframe. Volume Profiles are helpful at identifying where Whales have their orders placed. The reason why they are so helpful at identifying whales is when the volume is profiled to a specific area, there may likely be lots of Limit Buy and/or Sells around there. Limit Buys may act as Support and Limit Sells may act as Resistance. It may be very useful to know where these lie within the price, similar to looking at Order Book Data for Whale locations.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
wtt volume
This indicator is based on the chapter Progress in Volume Capacity of WTT. The Fundamentals and Advance of Natural Trading Theory.
Progress in volume capacity focuses on the absolute strength or relative strength of the volume capacity of bulls and bears in a single k-bar.
The book grades volume capacity as follows:
Absolute Strength:
Absolute strength of bulls: the bulls win and close, with long lower shadow or long solid body.
Absolute strength of bears: the bears win and close, with long upper shadow or long solid body.
Relative Strength
Relative strength of bulls: long lower shadow much longer than the solid K-bar, even when the bears win; or well-matched solid K-bar and upper shadow when the bulls close.
Relative strength of bears: long upper shadow much longer than the solid K-bar, even when the bulls win; or well-matched solid K-bar and lower shadow when the bears close.
Crosshairs
Frequently found in market shocks or before turning points, to be analyzed on top of the above relative and absolute strength.
This indicator colors the volume by the size of volume capacity, dark colors for the strong, light colors for the weak, and grey crosshairs. This is to make it easier for you to draw the curve of volume capacity and feel the contrast of strength between the bulls and the bears. You may therefore have better timing and position for opening and closing a position. The bull-bear strength comparison reflected by a single k-bar helps you better decide the next move within a very short period, which could be opening a position, coming into the position at low, underweighting, or closing a position.
本指标根据《WTT.自然交易理论基础与进阶》量能精进一章编写。
量能精进关注的,是单个K柱中多空双方量能的绝对强势或相对强势。
该书把量能分为以下几个等级:
绝对强势
多头绝对强势:多头获胜收线,带有长下影线或长实心柱体。
空头绝对强势:空头获胜收线,带有长上影线或长实心柱体。
相对强势
多头相对强势:长下影线相对实心K柱长很多,即使是空头获胜收线;或多头收线时实心K柱与上影线旗鼓相当。
空头相对强势:长上影线相对实心K柱长很多,即使是多头获胜收线;或空头收线时实心K柱与下影线旗鼓相当。
十字线
在震荡行情或出现拐点前出现频率较高,可结合上述相对强势和绝对强势进行综合判断。
本指标根据量能强弱对交易量进行染色,强势为深色,弱势为浅色,灰色为十字线,方便你手绘量能曲线,感受多空量能强弱。能给你提供更优的开平仓时机和点位。通过单个k柱形态反映出来的多空强弱关系,你可以更好地执行下一个极短周期内的操作,可能是开仓,也可能是补仓、减仓或平仓。
Market Energy & Direction DashboardMarket Energy & Direction Dashboard - Daytrading
Overview
A comprehensive real-time market internals dashboard that combines NYSE TICK, NYSE Advance-Decline (ADD) momentum, VIX direction, and relative volume into a single visual traffic light system with intelligent signal synthesis. Designed for active daytraders who need instant confirmation of market direction and energy based on momentum alignment across all major internals.
What It Does
This indicator synthesizes multiple market internals using directional momentum analysis rather than static thresholds to provide clear, actionable signals:
• Traffic Light System: Single glance confirmation of market state
o Bright Green: Maximum bullish - all internals aligned (TICK + ADD rising + VIX falling + volume)
o Bright Red: Maximum bearish - all internals aligned (TICK + ADD falling + VIX rising + volume)
o Yellow: Exhaustion warning - TICK at extremes, potential reversal imminent
o Moderate Colors: Partial alignment - some confirmation but not complete
o Gray: Choppy, neutral, or conflicting signals
• Real-Time Dashboard displays:
o Current TICK value with exhaustion warnings
o Current ADD with directional momentum indicator (↑ rising = breadth improving, ↓ falling = breadth deteriorating, ± compression)
o VIX level with directional indicator (↓ declining = bullish, ↑ rising = bearish, ± compression = neutral)
o Relative volume (current vs 20-period average)
o Composite status message synthesizing all data into clear directional summary
Key Features
✓ Momentum-based analysis - all indicators show direction/change, not just levels ✓ Intelligent signal hierarchy from "Maximum" to "Moderate" based on internal alignment ✓ ADD directional momentum - catches breadth shifts early, works in all market conditions ✓ VIX directional analysis - shows if fear is increasing, decreasing, or stagnant ✓ Color-coded traffic light for instant decision making ✓ Detects TICK/ADD divergences (conflicting signals = caution) ✓ Exhaustion warnings at extreme TICK levels (±1000+) ✓ Composite status messages - "Maximum Bull", "Strong Bull", "Moderate Bull", etc. ✓ Customizable thresholds for all parameters ✓ Moveable dashboard (9 position options) ✓ Built-in alerts for all signal strengths, exhaustion, and divergences
How To Use
Setup:
1. Add indicator to your main trading chart (SPY, ES, NQ, etc.)
2. Default settings work well for most traders, but you can customize:
o TICK Extreme Level (default 1000)
o ADD Compression Threshold (default 100 - detects when breadth is stagnant)
o VIX Elevated Level (default 20)
o VIX Compression Threshold (default 2% - detects low volatility)
o Volume Threshold (default 1.5x average)
3. Position dashboard wherever convenient on your chart
Reading The Signals:
Signal Hierarchy (Strongest to Weakest):
MAXIMUM SIGNALS ⭐ (Brightest colors - All 4 internals aligned)
• "✓ MAXIMUM BULL": TICK bullish + ADD rising (↑) + VIX falling (↓) + Volume elevated
o This is the holy grail setup - all momentum aligned, highest conviction longs
• "✓ MAXIMUM BEAR": TICK bearish + ADD falling (↓) + VIX rising (↑) + Volume elevated
o Perfect storm bearish - all momentum aligned, highest conviction shorts
STRONG SIGNALS (Bright colors - Core internals aligned)
• "✓ STRONG BULL": TICK bullish + ADD rising (↑)
o Strong confirmation even without VIX/volume - breadth supporting the move
• "✓ STRONG BEAR": TICK bearish + ADD falling (↓)
o Strong confirmation - both momentum and breadth deteriorating
MODERATE SIGNALS (Faded colors - Partial confirmation)
• "MODERATE BULL": TICK bullish but ADD not confirming direction
o Proceed with caution - momentum present but breadth questionable
• "MODERATE BEAR": TICK bearish but ADD not confirming direction
o Proceed with caution - selling but breadth not fully participating
WARNING SIGNALS
• "⚠ EXHAUSTION" (Yellow): TICK at ±1000+ extremes
o Potential reversal zone - prepare to fade or take profits
o Often marks blow-off tops or capitulation bottoms
NEUTRAL/AVOID
• "CHOPPY/NEUTRAL" (Gray): Conflicting signals or low conviction
o Stay out or reduce size significantly
Individual Indicator Interpretation:
TICK:
• Green: Bullish momentum (>+300)
• Red: Bearish momentum (<-300)
• Yellow: Exhaustion (±1000+)
• Gray: Neutral
ADD (Advance-Decline):
• Green (↑): Breadth improving - more stocks participating in the move
• Red (↓): Breadth deteriorating - fewer stocks participating
• Gray (±): Breadth stagnant - no clear participation trend
VIX:
• Green (↓): Fear declining - healthy environment for rallies
• Red (↑): Fear rising - risk-off mode, supports downward moves
• Gray (±): Volatility compression - often precedes explosive moves
Volume:
• Green: High conviction (>1.5x average)
• Gray: Low conviction
Trading Strategy:
1. Wait for "MAXIMUM" or "STRONG" signals for highest probability entries
o Maximum signals = go full size with confidence
o Strong signals = good conviction, normal position sizing
2. Confirm directional alignment:
o For longs: Want ADD ↑ (rising) and VIX ↓ (falling)
o For shorts: Want ADD ↓ (falling) and VIX ↑ (rising)
3. Use exhaustion warnings (yellow) to:
o Take profits on existing positions
o Prepare counter-trend entries
o Tighten stops
4. Avoid "MODERATE" signals unless you have strong conviction from other analysis
o These work best as confirmation for existing setups
o Not strong enough to initiate new positions alone
5. Never trade "CHOPPY/NEUTRAL" signals
o Gray means stay out - preserve capital
o Wait for clear alignment
6. Watch for divergences:
o Price making new highs but ADD ↓ (falling) = distribution warning
o Price making new lows but ADD ↑ (rising) = potential bottom
o Divergence alert will notify you
Best Practices:
• Use on 1-5 minute charts for daytrading
• Combine with your price action or technical setup (support/resistance, trendlines, patterns)
• The dashboard confirms when to take your setup, not what setup to take
• Most effective during regular market hours (9:30 AM - 4:00 PM ET) when volume is present
• The strongest edge comes from "MAXIMUM" signals - wait for these for best risk/reward
• Pay special attention to ADD direction - it's the most predictive breadth indicator
• VIX compression (gray ±) often signals upcoming volatility expansion - prepare for bigger moves
Customization Option
All thresholds are adjustable in settings:
• TICK Extreme: Higher = fewer exhaustion warnings (try 1200-1500 for less sensitivity)
• ADD Compression Threshold: Change detection sensitivity
o Default 100 = balanced
o Lower (50) = more sensitive to small breadth changes
o Higher (200-300) = only shows major breadth shifts
• VIX Elevated: Adjust for current volatility regime (15-25 typical range)
• VIX Compression Threshold:
o Default 2% = balanced
o Lower (0.5-1%) = catches subtle VIX changes
o Higher (3-5%) = only shows significant VIX moves
• Volume Threshold: Lower for quieter stocks/times, higher for more confirmation
Alerts Available
• Maximum Bullish: All 4 internals aligned bullish (TICK + ADD↑ + VIX↓ + Volume)
• Maximum Bearish: All 4 internals aligned bearish (TICK + ADD↓ + VIX↑ + Volume)
• Strong Bullish: TICK bullish + ADD rising
• Strong Bearish: TICK bearish + ADD falling
• Exhaustion Warning: TICK at extreme levels
• Divergence Warning: TICK and ADD directions conflicting
Understanding the Signal Synthesis
The indicator uses intelligent logic to combine all internals:
"MAXIMUM" Signals require:
• TICK direction (bullish/bearish)
• ADD momentum (rising/falling) in same direction
• VIX direction (falling for bulls, rising for bears)
• Volume elevated (>1.5x average)
"STRONG" Signals require:
• TICK direction (bullish/bearish)
• ADD momentum (rising/falling) in same direction
• (VIX and volume are bonuses but not required)
"MODERATE" Signals:
• TICK showing direction
• But ADD not confirming or contradicting
• Weakest actionable signal
This hierarchy ensures you know exactly how much conviction the market has behind any move.
Technical Details
• Pulls real-time data from NYSE TICK (USI:TICK), NYSE ADD (USI:ADD), and CBOE VIX
• ADD direction calculated using bar-to-bar change with compression detection
• VIX direction calculated using bar-to-bar percentage change
• Volume calculation uses 20-period simple moving average
• Dashboard updates every bar
• No repainting - all calculations based on closed bar data
Who This Is For
• Active daytraders of stocks, futures (ES/NQ), and options
• Scalpers needing quick directional confirmation with multiple internal alignment
• Swing traders looking to time intraday entries with maximum confluence
• Volatility traders who monitor VIX behavior
• Market makers and professionals who trade based on breadth and internals
• Anyone who monitors market internals but wants intelligent synthesis vs raw data
Tips For Success
Trading Philosophy:
• Quality over quantity - wait for "MAXIMUM" signals for best results
• One "MAXIMUM" signal trade is worth five "MODERATE" signal trades
• Gray/neutral is not a sign of missing opportunity - it's protecting your capital
Signal Confidence Levels:
1. MAXIMUM (95%+ confidence) - Trade these aggressively with full size
2. STRONG (80-85% confidence) - Trade these with normal position sizing
3. MODERATE (60-70% confidence) - Only if confirmed by strong technical setup
4. CHOPPY/NEUTRAL - Do not trade, wait for clarity
Advanced Techniques:
• Breadth divergences: Watch for price making new highs while ADD shows ↓ (falling) = major warning
• VIX/Price divergences: Rallies with rising VIX (↑) are usually false moves
• Volume confirmation: "MAXIMUM" signals with 2x+ volume are the absolute best
• Compression zones: When both ADD and VIX show compression (±), expect explosive breakout soon
• Sequential signals: Back-to-back "MAXIMUM" signals in same direction = strong trending day
Common Patterns:
• Opening surge with "MAXIMUM BULL" that shifts to "EXHAUSTION" (yellow) = fade the high
• Selloff with "MAXIMUM BEAR" followed by ADD ↑ (rising) divergence = potential reversal
• Choppy morning followed by "MAXIMUM" signal afternoon = best trending opportunity
Example Scenarios
Perfect Bull Entry:
• Bright green signal box
• TICK: +650
• ADD: +1200 (↑)
• VIX: 18.30 (↓)
• Volume: 2.3x
• Status: "✓ MAXIMUM BULL" → ALL SYSTEMS GO - Take aggressive long positions
Strong Bull (Good Confidence):
• Green signal box (slightly less bright)
• TICK: +500
• ADD: +800 (↑)
• VIX: 19.50 (±)
• Volume: 1.2x
• Status: "✓ STRONG BULL" → Good long setup - breadth confirming even without VIX/volume
Caution Bull (Moderate):
• Faded green signal box
• TICK: +400
• ADD: +900 (↓)
• VIX: 20.10 (↑)
• Volume: 0.9x
• Status: "MODERATE BULL" → CAUTION - TICK bullish but breadth deteriorating and VIX rising = weak rally
Exhaustion Warning:
• Yellow signal box
• TICK: +1350 ⚠
• ADD: +2100 (↑)
• VIX: 17.20 (↓)
• Volume: 1.8x
• Status: "⚠ EXHAUSTION" → Take profits or prepare to fade - TICK overextended despite good internals
Divergence Setup (Potential Reversal):
• Faded green signal
• TICK: +300
• ADD: +1800 (↓)
• VIX: 21.50 (↑)
• Volume: 1.6x
• Status: "MODERATE BULL" → WARNING - Price rallying but breadth collapsing and fear rising = distribution
Perfect Bear Entry:
• Bright red signal box
• TICK: -780
• ADD: -1600 (↓)
• VIX: 24.80 (↑)
• Volume: 2.5x
• Status: "✓ MAXIMUM BEAR" → Perfect short setup - all momentum bearish with conviction
Compression (Wait Mode):
• Gray signal box
• TICK: +50
• ADD: -200 (±)
• VIX: 16.40 (±)
• Volume: 0.7x
• Status: "CHOPPY/NEUTRAL" → STAY OUT - Volatility compression, no conviction, await breakout
Performance Optimization
Best Market Conditions:
• Works excellent in trending markets (up or down)
• Particularly powerful during high-volume sessions (first/last hours)
• "MAXIMUM" signals most reliable during 9:45-11:00 AM and 2:00-3:30 PM ET
Less Effective During:
• Lunch period (11:30 AM - 1:30 PM) - lower volume reduces signal quality
• Low-volatility environments - compression signals dominate
• Major news events in first 5 minutes - wait for internals to stabilize
Recommended Use Cases:
• Scalping: Trade only "MAXIMUM" signals for quick 5-15 minute moves
• Daytrading: Use "MAXIMUM" and "STRONG" signals for position entries
• Swing entries: Use "MAXIMUM" signals for optimal intraday entry timing
• Exit timing: Use "EXHAUSTION" (yellow) warnings to take profits
________________________________________
Pro Tip: Create a dedicated workspace with this indicator on SPY/ES/NQ charts. Set alerts for "MAXIMUM BULL", "MAXIMUM BEAR", and "EXHAUSTION" signals. Most professional traders only trade the "MAXIMUM" setups and ignore everything else - this alone can dramatically improve win rates.
MACD HTF Hardcoded (A/B Presets) + Regimes [CHE] MACD HTF Hardcoded (A/B Presets) + Regimes — Higher-timeframe MACD emulation with acceptance-based regime filter and on-chart diagnostics
Summary
This indicator emulates a higher-timeframe MACD directly on the current chart using two hardcoded preset families and a time-bucket mapping, avoiding cross-timeframe requests. It classifies four MACD regimes and applies an acceptance filter that requires several consecutive bars before a state is considered valid. A small dead-band around zero reduces noise near the axis. An on-chart table reports the active preset, the inferred time bucket, the resolved lengths, and the current regime.
Pine version: v6
Overlay: false
Primary outputs: MACD line, Signal line, Histogram columns, zero line, regime-change alert, info table
Motivation: Why this design?
Cross-timeframe indicators often rely on external timeframe requests, which can introduce repaint paths and added latency. This design provides a deterministic alternative: it maps the current chart’s timeframe to coarse higher-timeframe buckets and uses fixed EMA lengths that approximate those views. The dead-band suppresses flip-flops around zero, and the acceptance counter reduces whipsaw by requiring sustained agreement across bars before acknowledging a regime.
What’s different vs. standard approaches?
Baseline: Classical MACD with user-selected lengths on the same timeframe, or higher-timeframe MACD via cross-timeframe requests.
Architecture differences:
Hardcoded A and B length families with a bucket map derived from the chart timeframe.
No `request.security`; all calculations occur on the current series.
Regime classification from MACD and Histogram sign, gated by an acceptance count and a small zero dead-band.
Diagnostics table for transparency.
Practical effect: The MACD behaves like a slower, higher-timeframe variant without external requests. Regimes switch less often due to the dead-band and acceptance logic, which can improve stability in choppy sessions.
How it works (technical)
The script derives a coarse bucket from the chart timeframe using `timeframe.in_seconds` and maps it to preset-specific EMA lengths. EMAs of the source build MACD and Signal; their difference is the Histogram. Signs of MACD and Histogram define four regimes: strong bull, weak bull, strong bear, and weak bear. A small, user-defined band around zero treats values near the axis as neutral. An acceptance counter checks whether the same regime persisted for a given number of consecutive bars before it is emitted as the filtered regime. A single alert condition fires when the filtered regime changes. The histogram columns change shade based on position relative to zero and whether they are rising or falling. A persistent table object shows preset, bucket tag, resolved lengths, and the filtered regime. No cross-timeframe requests are used, so repaint risk is limited to normal live-bar movement; values stabilize on close.
Parameter Guide
Source — Input series for MACD — Default: Close — Using a smoother source increases stability but adds lag.
Preset — A or B length family — Default: “3,10,16” — Switch to “12,26,9” for the classic family mapped to buckets.
Table Position — Anchor for the info table — Default: Top right — Choose a corner that avoids covering price action.
Table Size — Table text size — Default: Normal — Use small on dense charts, large for presentations.
Dark Mode — Table theme — Default: Enabled — Match your chart background for readability.
Show Table — Toggle diagnostics table — Default: Enabled — Disable for a cleaner pane.
Zero dead-band (epsilon) — Noise gate around zero — Default: Zero — Increase slightly when you see frequent flips near zero.
Acceptance bars (n) — Bars required to confirm a regime — Default: Three — Raise to reduce whipsaw; lower to react faster.
Reading & Interpretation
Histogram columns: Above zero indicates bullish pressure; below zero indicates bearish pressure. Darker shade implies the histogram increased compared with the prior bar; lighter shade implies it decreased.
MACD vs. Signal lines: The spread corresponds to histogram height.
Regimes:
Strong bull: MACD above zero and Histogram above zero.
Weak bull: MACD above zero and Histogram below zero.
Strong bear: MACD below zero and Histogram below zero.
Weak bear: MACD below zero and Histogram above zero.
Table: Inspect active preset, bucket tag, resolved lengths, and the filtered regime number with its description.
Practical Workflows & Combinations
Trend following: Use strong bull to favor long exposure and strong bear to favor short exposure. Use weak states as pullback or transition context. Combine with structure tools such as swing highs and lows or a baseline moving average for confirmation.
Exits and risk: In strong trends, consider exiting partial size on a regime downgrade to a weak state. In choppy sessions, increase the acceptance bars to reduce churn.
Multi-asset / Multi-timeframe: Works on time-based charts across liquid futures, indices, currencies, and large-cap equities. Bucket mapping helps retain a consistent feel when moving from lower to higher timeframes.
Behavior, Constraints & Performance
Repaint/confirmation: No cross-timeframe requests; values can evolve intrabar and settle on close. Alerts follow your TradingView alert timing settings.
Resources: `max_bars_back` is set to five thousand. Very large resolved lengths require sufficient history to seed EMAs; expect a warm-up period on first load or after switching symbols.
Known limits: Dead-band and acceptance can delay recognition at sharp turns. Extremely thin markets or large gaps may still cause brief regime reversals.
Sensible Defaults & Quick Tuning
Start with preset “3,10,16”, dead-band near zero, and acceptance of three bars.
Too many flips near zero: increase the dead-band slightly or raise the acceptance bars.
Too sluggish in clean trends: reduce the acceptance bars by one.
Too sensitive on fast lower timeframes: switch to the “12,26,9” preset family or raise the acceptance bars.
Want less clutter: hide the table and keep the alert.
What this indicator is—and isn’t
This is a visualization and regime layer for MACD using higher-timeframe emulation and stability gates. It is not a complete trading system and does not generate position sizing or risk management. Use it with market structure, execution rules, and protective stops.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Cnagda Pure Price ActionCnagda Pure Price Action (CPPA) indicator is a pure price action-based system designed to provide traders with real-time, dynamic analysis of the market. It automatically identifies key candles, support and resistance zones, and potential buy/sell signals by combining price, volume, and multiple popular trend indicators.
How Price Action & Volume Analysis Works
Silver Zone – Logic, Reason, and Trade Planning
Logic & Visualization:
The Silver Zone is created when the closing price is the lowest in the chosen window and volume is the highest in that window.
Visually, a large silver-colored box/rectangle appears on the chart.
Thick horizontal lines (top and bottom) are drawn at the high and low of that candle/bar, extending to the right.
Reasoning:
This combination typically occurs at strong “accumulation” or support areas:
Sellers push the price down to the lowest point, but aggressive buyers step in with high volume, absorbing supply.
Indicates potential exhaustion of selling and likely shift in market control to buyers.
How to Plan Trades Using Silver Zone:
Watch if price returns to the Silver Zone in the future: It often acts as powerful support.
Bullish entries (buys) can be planned when price tests or slightly pierces this zone, especially if new buy signals occur (like yellow/green candle labels).
Place your stop-loss below the bottom line of the Silver Zone.
Target: Look for the nearest resistance or opposing zone, or use indicator’s bullish label as confirmation.
Extra Tip:
Multiple touches of the Silver Zone reinforce its importance, but if price closes deeply below it with high volume, that’s a caution signal—support may be breaking.
Black Zone – Logic, Reason, and Trade Planning (as CPPA):
Logic & Visualization:
The Black Zone is created when the closing price is the highest in the chosen window and volume is the lowest in that window.
Visually, a large black-colored box/rectangle appears on the chart, along with thick horizontal lines at the top (high) and bottom (low) of the candle, extending to the right.
Reasoning:
This combination signals a strong “distribution” or resistance area:
Buyers push the price up to a local high, but low volume means there is not much follow-through or conviction in the move.
Often marks exhaustion where uptrend may pause or reverse, as sellers can soon step in.
How to Plan Trades Using Black Zone:
If price revisits the Black Zone in the future, it often acts as major resistance.
Bearish entries (sells) are considered when price is near, testing, or slightly above the Black Zone—especially if new sell signals appear (like blue/red candle labels).
Place your stop-loss just above the top line of the Black Zone.
Target: Nearest support zone (such as a Silver Zone) or next indicator’s bearish label.
Extra Tip:
Multiple touches of the Black Zone make it stronger, but if price closes far above with rising volume, be cautious—resistance might be breaking.
Support Line – Logic, Reason, and Trade Planning (as Cppa):
Logic & Visualization:
The Support Line is a dynamically drawn dashed line (usually blue) that marks key price levels where the market has previously shown significant buying interest.
The line is generated whenever a candle forms a high price with high volume (orange logic).
The script checks for historical pivot lows, past support zones, and even higher timeframe (HTF) supports, and then extends a blue dashed line from that price level to the right, labeling it (sometimes as “Prev Support Orange, HTF”).
Reasoning:
This line helps you visually identify where demand has been strong enough to hold price from falling further—essentially a floor in the market used by professional traders.
If price approaches or re-tests this line, there’s a good chance buyers will defend it again.
How to Plan Trades Using Support Line:
Watch for price to approach the Support Line during down moves. If you see a bullish candlestick pattern, buy labels (yellow/green), or other indicators aligning, this can be a high-probability entry zone.
Great for planning stop-loss for long trades: place stops just below this line.
Target: Next resistance zone, Black Zone, or the top of the last swing.
Extra Tip:
Multiple confirmations (support line + Silver Zone + bullish label) provide powerful entry signals.
If price closes strongly below the Support Line with volume, be cautious—support may be breaking, and a trend reversal or deeper correction could follow.
Resistance Line – Logic, Reason, and Trade Planning (from CPPA):
Logic & Visualization:
The Resistance Line is a dynamically drawn dashed line (usually purple or red) that identifies price levels where the market has previously faced significant selling pressure.
This line is created when a candle reaches a high price combined with high volume (orange logic), or from a historical pivot high/resistance,
The script also tracks higher timeframe (HTF) resistance lines, labeled as “Prev Resistance Orange, HTF,” and extends these dashed lines to the right across the chart.
Reasoning:
Resistance Lines are visual markers of “supply zones,” where buyers previously failed, and sellers took control.
If the price returns to this line later, sellers may get active again to defend this level, halting the uptrend.
How to Plan Trades Using Resistance Line:
Watch for price to approach the Resistance Line during up moves. If you see bearish candlestick patterns, sell labels (blue/red), or bearish indicator confirmation, this becomes a strong shorting opportunity.
Perfect for placing stop-loss in short trades—put your stop just above the Resistance Line.
Target: Next support zone (Silver Zone) or bottom of the last swing.
If the price breaks above with high volume, avoid shorting—resistance may be failing.
Extra Tip:
Multiple resistances (Resistance Line + Black Zone + bearish label) make short signals stronger.
Choppy movement around this line often signals indecision; wait for a clear rejection before entering trades.
Bullish / Bearish Label – Logic, Reason, and Trade Planning:
Logic & Visualization:
The indicator constantly calculates a "Bull Score" and a "Bear Score" based on several factors:
Trend direction from price slope
Confirmation by popular indicators (RSI, ADX, SAR, CMF, OBV, CCI, Bollinger Bands, TWAP)
Adaptive scoring (higher score for each bullish/bearish condition met)
If Bull Score > Bear Score, the chart displays a green "BULLISH" label (usually below the bar).
If Bear Score > Bull Score, the chart displays a red "BEARISH" label (usually above the bar).
If neither dominates, a "NEUTRAL" label appears.
Reasoning:
The labels summarize complex price action and indicator analysis into a simple, actionable sentiment cue:
Bullish: Majority of conditions indicate buying strength; trend is up.
Bearish: Majority signals show selling pressure; trend is down.
How to Use in Trade Planning:
Use the Bullish label as confirmation to enter or hold long (buy) positions, especially if near support/Silver Zone.
Use the Bearish label to enter/hold short (sell) positions, especially if near resistance/Black Zone.
For best results, combine with candle color, volume analysis, or other labels (yellow/green for buys, blue/red for sells).
Avoid trading against these labels unless you have strong confluence from zones/support levels.
Yellow Label (Buy Signal) – Logic, Reason & Trade Planning:
Logic & Visualization:
The yellow label appears below a candle (label.style_label_up, yloc.belowbar) and marks a potential buy signal.
Script conditions:
The candle must be a “yellow candle” (which means it’s at the local lowest close, not a high, with normal volume).
Volume is decreasing for 2 consecutive candles (current volume < previous volume, previous volume < second previous).
When these conditions are met, a yellow label is plotted below the candle.
Reasoning:
This scenario often marks the end of selling pressure and start of possible accumulation—buyers may be stepping in as sellers exhaust.
Decreasing volume during a local price low means selling is slowing, possibly hinting at a reversal.
How to Trade Using Yellow Label:
Entry: Consider buying at/just above the yellow-labeled candle’s close.
Stop-loss: A bit below the candle’s low (or Silver Zone line, if present).
Target: Next resistance level, Black Zone, or chart’s bullish label.
Extra Tip:
If the yellow label is found at/near a Silver Zone or Support Line, and trend is “Bullish,” the setup gets even stronger.
Avoid trading if overall indicator shows “Bearish.”
Green Label (Buy with Increasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The green label is plotted below a candle (label.style_label_up, yloc.belowbar) and marks a strong buy signal.
Script conditions:
The candle must be a “yellow candle” (at the local lowest close, normal volume).
Volume is increasing for 2 consecutive candles (current volume > previous volume, previous volume > second previous).
When these conditions are met, a green label is plotted below the candle.
Reasoning:
This scenario signals that buyers are stepping in aggressively at a local price low—the end of a downtrend with strong, rising activity.
Increasing volume at a price low is a classic sign of accumulation, where institutions or large players may be buying.
How to Trade Using Green Label:
Entry: Consider buying at/just above the green-labeled candle’s close for a momentum-based reversal.
Stop-loss: Slightly below the candle’s low, or the Silver Zone/support line if present.
Target: Nearest resistance zone/Black Zone, indicator’s bullish label, or next swing high.
Extra Tip:
If the green label is near other supports (Silver Zone, Support Line), the setup is extra strong.
Use confirmation from Bullish labels or trend signals for best results.
Green label setups are suitable for quick, high momentum trades due to increasing volume
Blue Label (Sell Signal on Decreasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The blue label is plotted above a candle (label.style_label_down, yloc.abovebar) as a potential sell signal.
Script conditions:
The candle is a “blue candle” (local highest close, but not also lowest, and volume is neither highest nor lowest).
Volume is decreasing over 2 consecutive candles (current volume < previous, previous < two ago).
When these match, a blue label appears above the candle.
Reasoning:
This typically signals buyer exhaustion at a local high: price has gone up, but volume is dropping, suggesting big players may not be buying any more at these levels.
The trend is losing strength, and a reversal or pullback is likely.
How to Trade Using Blue Label:
Entry: Look to sell at/just below the candle with the blue label.
Stop-loss: Just above the candle’s high (or above the Black Zone/resistance if present).
Target: Nearest support, Silver Zone, or a swing low.
Extra Tip:
Blue label signals are stronger if they appear near Black Zones or Resistance Lines, or when the general market label is "Bearish."
As with buy setups, always check for confirmation from trend or volume before trading aggressively.
Blue Label (Sell Signal on Decreasing Volume) – Logic, Reason & Trade Planning:
Logic & Visualization:
The blue label is plotted above a candle (label.style_label_down, yloc.abovebar) as a potential sell signal.
Script conditions:
The candle is a “blue candle” (local highest close, but not also lowest, and volume is neither highest nor lowest).
Volume is decreasing over 2 consecutive candles (current volume < previous, previous < two ago).
When these match, a blue label appears above the candle.
Reasoning:
This typically signals buyer exhaustion at a local high: price has gone up, but volume is dropping, suggesting big players may not be buying any more at these levels.
The trend is losing strength, and a reversal or pullback is likely.
How to Trade Using Blue Label:
Entry: Look to sell at/just below the candle with the blue label.
Stop-loss: Just above the candle’s high (or above the Black Zone/resistance if present).
Target: Nearest support, Silver Zone, or a swing low.
Extra Tip:
Blue label signals are stronger if they appear near Black Zones or Resistance Lines, or when the general market label is "Bearish."
As with buy setups, always check for confirmation from trend or volume before trading aggressively.
Here’s a summary of all key chart labels, zones, and trading logic of your Price Action script:
Silver Zone: Powerful support zone. Created at lowest close + highest volume. Best for buy entries near its lines.
Black Zone: Strong resistance zone. Created at highest close + lowest volume. Ideal for short trades near its levels.
Support Line: Blue dashed line at historical demand; buyers defend here. Look for bullish setups when price approaches.
Resistance Line: Purple/red dashed line at supply; sellers defend here. Great for bearish setups when price nears.
Bullish/Bearish Labels: Summarize trend direction using price action + multiple indicator confirmations. Plan buys, holds on bullish; sells, shorts on bearish.
Yellow Label: Buy signal on decreasing volume and local price low. Entry above candle, stop below, target next resistance.
Green Label: Strong buy on increasing volume at a price low. Entry for momentum trade, stop below, target next zone.
Blue Label: Sell signal on dropping volume and local price high. Entry below candle, stop above, target next support.
Best Practices:
Always combine zone/label signals for higher probability trades.
Use stop-loss near zones/lines for risk management.
Prefer trading in the trend direction (bullish/bearish label agrees with your entry).
if Any Question, Suggestion Feel free to ask
Disclaimer:
All information provided by this indicator is for educational and analysis purposes only, and should not be considered financial advice.
Liquidity StatusKey Points
The Liquidity Status (LS) indicator is designed to directly monitor liquidity conditions and determine if they are Bullish or Bearish.
If conditions are bullish, the candle is painted green (or whichever color is chosen by you to represent bullish liquidity) and the expected price action is up.
If conditions are bearish, the candle is painted red (or whichever color is chosen by you to represent bearish liquidity) and the expected price action is down.
LS allows you to monitor for when traders are absorbing or supplying liquidity and in which direction the liquidity is flowing.
LS works on equities, cryptocurrencies, forex, options data, and futures.
Summary
The Liquidity Status (LS) indicator measures liquidity directly without relying on bid/ask spreads, order-book information, or any other traditional means. The benefit of this non-traditional approach is a novel and unique way to interpret and analyze liquidity in the market.
LS is designed to be as straightforward as possible: when conditions are bullish then the outlook is bullish and the candles are painted the bullish color (default: green), and when conditions are bearish then the outlook is bearish and the candles are painted the bearish color (default: red).
This means the candles are not colored based on their price movements but rather based on their liquidity status.
Additionally, LS indicates Liquidity Flow (LF) as well. LF indicates where the source of liquidity is or is moving towards: either towards the Ask (if the Bid is requiring liquidity then the liquidity source becomes the Ask), or towards the Bid (if the Ask is requiring liquidity then the liquidity source becomes the Bid). This can be helpful in early identification of trend changes.
The default settings are designed to be streamlined but the Settings section below outlines how to add additional information and detail to your charts if desired.
Examples
An example of LS on default setting:
With Full and Declarative reporting:
ES Futures:
Details
In the default settings, LS indicates if conditions are:
Bullish : meaning that current liquidity is bullish and so too are outlooks, or
Bearish: meaning that current liquidity is bearish and so too are outlooks.
There are additional data that are provided via LS, if toggled on (as described below). They include:
Aggressive Bid / Ask : This indicates that there is an aggressive trader present. Aggressive traders are large liquidity absorbers and are defined as having a sense of urgency in their trading that will cause them to go where-ever (whichever price) they can in order to transact. A classic Aggressive Bid, for instance, is a short-seller currently being squeezed.
Eager Bid / Ask : This indicates that there is an eager trader present. Eager traders are defined by their willingness to “cross the isle” in order to transact. For example, an eager bid will move to the ask in order to transact whereas an organic bid would not.
Organic Bid / Ask : This indicates that transactions are occurring at the organic traders. Organic traders are defined as having a large time-horizon and are value-seekers. For instance, an organic ask will likely move price up in order to sell high (the second part of buy low, sell high).
Additionally, LS indicates LF by specifying which party has the demand for liquidity and which has the supply for liquidity.
Flow to Ask : This indicates that the demand to transact is flowing to the ask (i.e.: the bid needs to transact more than the ask) and thus the ask is becoming the liquidity supplier.
Flow to Bid : This indicates that the demand to transact is flowing to the bid (i.e.: the ask needs to transact more than the bid) and thus the bid is becoming the liquidity supplier.
Neutral : No discernable difference in liquidity demand.
In combination, these signals can produce powerful measurements of underlying liquidity activity. For instance:
If LS indicates “At Organic Ask” and LF indicates “Flow to Ask” then this means that (1) transactions are predominantly occurring at or near the organic ask and (2) the organic ask is the dominate liquidity supplier. The consequence is likely substantial price appreciation (remember: the organic ask wants to sell high and now they are setting the terms and conditions of transacting!).
Example - How it started: transactions started to occur at the Organic Ask with Flow to Ask:
Example - How it ended:
Conversely, “At Organic Bid” and “Flow to Bid” indicates that transactions are predominantly occurring at or near the organic bid (who wants to buy low) and they the ones fulfilling the demand to transact coming from the ask. The expected outlook? Price depreciation as the organic bid lowers their orders to average down!
Example - How it started: transactions started to occur at Organic Bid with Flow to Bid:
Example - How it ended:
Lastly, LS (in combination with Liquidity Triggers) can identify moments of high-risk for bull and bear traps (see FAQ for details on how traps are found).
Example: Bear-Trap (with LT displayed)
Example: Bull-Trap (with LT displayed)
Customization
LS has many customization options available.
Sensitivity Mode
LS comes in a variety of sensitivities (for the nerds: adjusting the Sensitivity vs. Specificity), outlined below:
Aggressive : The Aggressive sensitivity mode puts LS in a state of hyper-awareness for anything that might indicate a change in overall liquidity status (i.e.: Bullish to Bearish or Bearish to Bullish) is underway. The benefit of the Aggressive mode is that it does not take much for LS to change its mind about current conditions. The trade-off, however, is increase in false alarms.
Balance : The balanced setting works to balance specificity (how right LS is) with sensitivity (how much chang it takes to convince LS to change its mind).
Conservative : The conservative setting is prone to change slower than both Aggressive and Balance but is intended to be more “certain” of the changes when they are indicated. This can lower the sensitivity (early entrances to trend-changes might be delayed slightly) in exchange for greater confidence in the future.
Diamond : This is the most specific and least sensitive option. Designed for when you only want LS to indicate a change with the strictest of criteria met.
Examples:
Aggressive LS:
Balanced LS:
Conservative LS:
Diamond LS:
LS Detail Amount
Controls how much detail and information you want displayed.
Simplified : Keeps messaging straightforward: Bearish or Bullish.
Full : Parsing the data for greater detail about if conditions are Strong or Weak. Produces candles and text output.
LS Reporting Style
Interpretive : Text output from LS is kept as either Bullish or Bearish.
Declarative : Additional information regarding if the transactions are being performed by an Aggressive, Eager or Organic trader.
LS Candle Replacement
In order to have LS produce candles colored by liquidity, the `LS Candle Replacement` option must be selected, along with deselecting the charts candle-making by going to Settings -> Symbol and de-selecting `Body`, `Border`, and `Wick`.
Otherwise, LS’ colors will be over-ridden by the chart.
Alerts
LS comes with several alerts to help keep track of changing liquidity conditions in the market. They include:
Is Bullish / Bearish : fires at the start of the candle if conditions are bullish/bearish.
Has Become Bullish / Bearish : Fires at the end of the candle if conditions have swapped (as compared to the previous candle).
Flow is to Ask / Bid : Fires at the start of the candle to indicate which direction liquidity is flowing via LF.
Flow Switch to Bid / Ask : Fires if there is a change in the LF from one to the other.
Suspected Bear Trap : Fires if a bear trap is detected.
Suspected Bear Trap Ended : Fires if an on-going bear-trap has ended.
Suspected Bull Trap : Fires if a bull trap is detected.
Suspected Bull Trap Ended : Fires if an on-going bull-trap has ended.
Frequently Asked Questions
How can I get access to LS?
Please see the Author’s Instructions for more information.
Where can I get more information on LS?
Please see the Author’s Instructions for more information.
I tried to add LS to my chart but nothing is showing.
That’s no good! Be sure that the indicator hasn’t errored out (if there is a small red dot next to its name then it has errored out). If it has, then try re-applying the indicator to your chart.
If there is no error indicated, and you still do not see anything it may be likely that the requested symbol either:
Doesn’t have sufficient data to calculate LS on, or
Lacks the data for LS to be calculated completed.
To check, try using LS on a smaller interval. If LS starts to populate, it is likely that the needed data is present but just not enough for the timeframe you were interested in. If there is no LS even when moving to lower intervals, then it may be that the specified underlying lacks the required data.
How come LS is saying things are Bearish but price is going up?
Sometimes that can happen! But until LS indicates bullish liquidity, the expectation is that price will fall back down.
How come LS is saying things are Bullish but price is going down?
Sometimes that can happen! But until LS indicates bearish liquidity, the expectation is that price will recover and continue moving on upwards.
How do you locate Bear and Bull traps?
LS has LT (Liquidity Triggers) baked into it for alerts and uses LT to compare expected conditions with real conditions. If LS and LT are mismatched then a trap is detected. The LT conditions checked are:
If LT is in a bull-stack : that means LT(144) > LT(377) > LT(610), or
If LT is in a bear-stack : that means LT(610) < LT(377) < LT(144)
Then once the stack is determined, if LS disagrees:
LS is indicating Bullish while LT is in a bear-stack, or
LS is indicating Bearish while LT is in a bull-stack
Then the alert is triggered (based off of LT’s orientation). This means:
If conditions are Bullish but LT is showing a Bearish stack, then a Bull Trap is detected, and
If conditions are Bearish but LT is showing a Bullish Stack, then a Bear Trap is detected.
I have questions and maybe a bug!
Please reach out and report! Please refer to the Author’s Instructions for more information on how to reach out.
Does LS get updates?
Yup! Improvements come relatively frequently and if you have any suggestions for improvements, please don’t hesitate to reach out.
Trend Fib Zone Bounce (TFZB) [KedArc Quant]Description:
Trend Fib Zone Bounce (TFZB) trades with the latest confirmed Supply/Demand zone using a single, configurable Fib pullback (0.3/0.5/0.6). Trade only in the direction of the most recent zone and use a single, configurable fib level for pullback entries.
• Detects market structure via confirmed swing highs/lows using a rolling window.
• Draws Supply/Demand zones (bearish/bullish rectangles) from the latest MSS (CHOCH or BOS) event.
• Computes intra zone Fib guide rails and keeps them extended in real time.
• Triggers BUY only inside bullish zones and SELL only inside bearish zones when price touches the selected fib and closes back beyond it (bounce confirmation).
• Optional labels print BULL/BEAR + fib next to the triangle markers.
What it does
Finds structure using confirmed swing highs/lows (you choose the confirmation length).
Builds the latest zone (bullish = demand, bearish = supply) after a CHOCH/BOS event.
Draws intra-zone “guide rails” (Fib lines) and extends them live.
Signals only with the trend of that zone:
BUY inside a bullish zone when price tags the selected Fib and closes back above it.
SELL inside a bearish zone when price tags the selected Fib and closes back below it.
Optional labels print BULL/BEAR + Fib next to triangles for quick context
Why this is different
Most “zone + fib + signal” tools bolt together several indicators, or fire counter-trend signals because they don’t fully respect structure. TFZB is intentionally minimal:
Single bias source: the latest confirmed zone defines direction; nothing else overrides it.
Single entry rule: one Fib bounce (0.3/0.5/0.6 selectable) inside that zone—no counter-trend trades by design.
Clean visuals: you can show only the most recent zone, clamp overlap, and keep just the rails that matter.
Deterministic & transparent: every plot/label comes from the code you see—no external series or hidden smoothing
How it helps traders
Cuts decision noise: you always know the bias and the only entry that matters right now.
Forces discipline: if price isn’t inside the active zone, you don’t trade.
Adapts to volatility: pick 0.3 in strong trends, 0.5 as the default, 0.6 in chop.
Non-repainting zones: swings are confirmed after Structure Length bars, then used to build zones that extend forward (they don’t “teleport” later)
How it works (details)
*Structure confirmation
A swing high/low is only confirmed after Structure Length bars have elapsed; the dot is plotted back on the original bar using offset. Expect a confirmation delay of about Structure Length × timeframe.
*Zone creation
After a CHOCH/BOS (momentum shift / break of prior swing), TFZB draws the new Supply/Demand zone from the swing anchors and sets it active.
*Fib guide rails
Inside the active zone TFZB projects up to five Fib lines (defaults: 0.3 / 0.5 / 0.7) and extends them as time passes.
*Entry logic (with-trend only)
BUY: bar’s low ≤ fib and close > fib inside a bullish zone.
SELL: bar’s high ≥ fib and close < fib inside a bearish zone.
*Optionally restrict to one signal per zone to avoid over-trading.
(Optional) Aggressive confirm-bar entry
When do the swing dots print?
* The code confirms a swing only after `structureLen` bars have elapsed since that candidate high/low.
* On a 5-min chart with `structureLen = 10`, that’s about 50 minutes later.
* When the swing confirms, the script plots the dot back on the original bar (via `offset = -structureLen`). So you *see* the dot on the old bar, but it only appears on the chart once the confirming bar arrives.
> Practical takeaway: expect swing markers to appear roughly `structureLen × timeframe` later. Zones and signals are built from those confirmed swings.
Best timeframe for this Indicator
Use the timeframe that matches your holding period and the noise level of the instrument:
* Intraday :
* 5m or 15m are the sweet spots.
* Suggested `structureLen`:
* 5m: 10–14 (confirmation delay \~50–70 min)
* 15m: 8–10 (confirmation delay \~2–2.5 hours)
* Keep Entry Fib at 0.5 to start; try 0.3 in strong trends, 0.6 in chop.
* Tip: avoid the first 10–15 minutes after the open; let the initial volatility set the early structure.
* Swing/overnight:
* 1h or 4h.
* `structureLen`:
* 1h: 6–10 (6–10 hours confirmation)
* 4h: 5–8 (20–32 hours confirmation)
* 1m scalping: not recommended here—the confirmation lag relative to the noise makes zones less reliable.
Inputs (all groups)
Structure
• Show Swing Points (structureTog)
o Plots small dots on the bar where a swing point is confirmed (offset back by Structure Length).
• Structure Length (structureLen)
o Lookback used to confirm swing highs/lows and determine local structure. Higher = fewer, stronger swings; lower = more reactive.
Zones
• Show Last (zoneDispNum)
o Maximum number of zones kept on the chart when Display All Zones is off.
• Display All Zones (dispAll)
o If on, ignores Show Last and keeps all zones/levels.
• Zone Display (zoneFilter): Bullish Only / Bearish Only / Both
o Filters which zone types are drawn and eligible for signals.
• Clean Up Level Overlap (noOverlap)
o Prevents fib lines from overlapping when a new zone starts near the previous one (clamps line start/end times for readability).
Fib Levels
Each row controls whether a fib is drawn and how it looks:
• Toggle (f1Tog…f5Tog): Show/hide a given fib line.
• Level (f1Lvl…f5Lvl): Numeric ratio in . Defaults active: 0.3, 0.5, 0.7 (0 and 1 off by default).
• Line Style (f1Style…f5Style): Solid / Dashed / Dotted.
• Bull/Bear Colors (f#BullColor, f#BearColor): Per-fib color in bullish vs bearish zones.
Style
• Structure Color: Dot color for confirmed swing points.
• Bullish Zone Color / Bearish Zone Color: Rectangle fills (transparent by default).
Signals
• Entry Fib for Signals (entryFibSel): Choose 0.3, 0.5 (default), or 0.6 as the trigger line.
• Show Buy/Sell Signals (showSignals): Toggles triangle markers on/off.
• One Signal Per Zone (oneSignalPerZone): If on, suppresses additional entries within the same zone after the first trigger.
• Show Signal Text Labels (Bull/Bear + Fib) (showSignalLabels): Adds a small label next to each triangle showing zone bias and the fib used (e.g., BULL 0.5 or BEAR 0.3).
How TFZB decides signals
With trend only:
• BUY
1. Latest active zone is bullish.
2. Current bar’s close is inside the zone (between top and bottom).
3. The bar’s low ≤ selected fib and it closes > selected fib (bounce).
• SELL
1. Latest active zone is bearish.
2. Current bar’s close is inside the zone.
3. The bar’s high ≥ selected fib and it closes < selected fib.
Markers & labels
• BUY: triangle up below the bar; optional label “BULL 0.x” above it.
• SELL: triangle down above the bar; optional label “BEAR 0.x” below it.
Right-Panel Swing Log (Table)
What it is
A compact, auto-updating log of the most recent Swing High/Low events, printed in the top-right of the chart.
It helps you see when a pivot formed, when it was confirmed, and at what price—so you know the earliest bar a zone-based signal could have appeared.
Columns
Type – Swing High or Swing Low.
Date – Calendar date of the swing bar (follows the chart’s timezone).
Swing @ – Time of the original swing bar (where the dot is drawn).
Confirm @ – Time of the bar that confirmed that swing (≈ Structure Length × timeframe after the swing). This is also the earliest moment a new zone/entry can be considered.
Price – The swing price (high for SH, low for SL).
Why it’s useful
Clarity on repaint/confirmation: shows the natural delay between a swing forming and being usable—no guessing.
Planning & journaling: quick reference of today’s pivots and prices for notes/backtesting.
Scanning intraday: glance to see if you already have a confirmed zone (and therefore valid fib-bounce entries), or if you’re still waiting.
Context for signals: if a fib-bounce triangle appears before the time listed in Confirm @, it’s not a valid trade (you were too early).
Settings (Inputs → Logging)
Log swing times / Show table – turn the table on/off.
Rows to keep – how many recent entries to display.
Show labels on swing bar – optional tags on the chart (“Swing High 11:45”, “Confirm SH 14:15”) that match the table.
Recommended defaults
• Structure Length: 10–20 for intraday; 20–40 for swing.
• Entry Fib for Signals: 0.5 to start; try 0.3 in stronger trends and 0.6 in choppier markets.
• One Signal Per Zone: ON (prevents over trading).
• Zone Display: Both.
• Fib Lines: Keep 0.3/0.5/0.7 on; turn on 0 and 1 only if you need anchors.
Alerts
Two alert conditions are available:
• BUY signal – fires when a with trend bullish bounce at the selected fib occurs inside a bullish zone.
• SELL signal – fires when a with trend bearish bounce at the selected fib occurs inside a bearish zone.
Create alerts from the chart’s Alerts panel and select the desired condition. Use Once Per Bar Close to avoid intrabar flicker.
Notes & tips
• Swing dots are confirmed only after Structure Length bars, so they plot back in time; zones built from these confirmed swings do not repaint (though they extend as new bars form).
• If you don’t see a BUY where you expect one, check: (1) Is the active zone bullish? (2) Did the candle’s low actually pierce the selected fib and close above it? (3) Is One Signal Per Zone suppressing a second entry?
• You can hide visual clutter by reducing Show Last to 1–3 while keeping Display All Zones off.
Glossary
• CHOCH (Change of Character): A shift where price breaks beyond the last opposite swing while local momentum flips.
• BOS (Break of Structure): A cleaner break beyond the prior swing level in the current momentum direction.
• MSS: Either CHOCH or BOS – any event that spawns a new zone.
Extension ideas (optional)
• Add fib extensions (1.272 / 1.618) for target lines.
• Zone quality score using ATR normalization to filter weak impulses.
• HTF filter to only accept zones aligned with a higher timeframe trend.
⚠️ Disclaimer This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
RSI WMA VWMA Divergence Indicator// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Kenndjk
//@version=6
indicator(title="RSI WMA VWMA Divergence Indicator", shorttitle="Kenndjk", format=format.price, precision=2)
oscType = input.string("RSI", "Oscillator Type", options = , group="General Settings")
// RSI Settings
rsiGroup = "RSI Settings"
rsiLengthInput = input.int(14, minval=1, title="RSI Length", group=rsiGroup)
rsiSourceInput = input.source(close, "Source", group=rsiGroup)
// WMA VWMA
wmaLength = input.int(9, "WMA Length", minval=1, group="WMA Settings")
vwmaLength = input.int(3, "VWMA Length", minval=1, group="WMA Settings")
wma = ta.wma(close, wmaLength)
vwma = ta.vwma(close, vwmaLength)
useVWMA = input.bool(true, "Use VWMA for Divergence (when WMA + VWMA mode)", group="WMA Settings")
// Oscillator selection
rsi = ta.rsi(rsiSourceInput, rsiLengthInput) // Calculate RSI always, but use conditionally
osc = oscType == "RSI" ? rsi : useVWMA ? vwma : wma
// RSI plots (conditional)
isRSI = oscType == "RSI"
rsiPlot = plot(isRSI ? rsi : na, "RSI", color=isRSI ? #7E57C2 : na)
rsiUpperBand = hline(isRSI ? 70 : na, "RSI Upper Band", color=isRSI ? #787B86 : na)
midline = hline(isRSI ? 50 : na, "RSI Middle Band", color=isRSI ? color.new(#787B86, 50) : na)
rsiLowerBand = hline(isRSI ? 30 : na, "RSI Lower Band", color=isRSI ? #787B86 : na)
fill(rsiUpperBand, rsiLowerBand, color=isRSI ? color.rgb(126, 87, 194, 90) : na, title="RSI Background Fill")
midLinePlot = plot(isRSI ? 50 : na, color = na, editable = false, display = display.none)
fill(rsiPlot, midLinePlot, 100, 70, top_color = isRSI ? color.new(color.green, 0) : na, bottom_color = isRSI ? color.new(color.green, 100) : na, title = "Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 30, 0, top_color = isRSI ? color.new(color.red, 100) : na, bottom_color = isRSI ? color.new(color.red, 0) : na, title = "Oversold Gradient Fill")
// WMA VWMA plots
wmaColor = oscType != "RSI" ? (useVWMA ? color.new(color.blue, 70) : color.blue) : na
wmaWidth = useVWMA ? 1 : 2
vwmaColor = oscType != "RSI" ? (useVWMA ? color.orange : color.new(color.orange, 70)) : na
vwmaWidth = useVWMA ? 2 : 1
plot(oscType != "RSI" ? wma : na, "WMA", color=wmaColor, linewidth=wmaWidth)
plot(oscType != "RSI" ? vwma : na, "VWMA", color=vwmaColor, linewidth=vwmaWidth)
// Smoothing MA inputs (only for RSI)
GRP = "Smoothing (RSI only)"
TT_BB = "Only applies when 'Show Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maLengthSMA = input.int(14, "SMA Length", minval=1, group=GRP, display=display.data_window)
maLengthEMA = input.int(14, "EMA Length", minval=1, group=GRP, display=display.data_window)
maLengthRMA = input.int(14, "SMMA (RMA) Length", minval=1, group=GRP, display=display.data_window)
maLengthWMA = input.int(14, "WMA Length", minval=1, group=GRP, display=display.data_window)
maLengthVWMA = input.int(14, "VWMA Length", minval=1, group=GRP, display=display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP, display=display.data_window)
showSMA = input.bool(false, "Show SMA", group=GRP)
showEMA = input.bool(false, "Show EMA", group=GRP)
showRMA = input.bool(false, "Show SMMA (RMA)", group=GRP)
showWMAsmooth = input.bool(false, "Show WMA", group=GRP)
showVWMAsmooth = input.bool(false, "Show VWMA", group=GRP)
showBB = input.bool(false, "Show SMA + Bollinger Bands", group=GRP, tooltip=TT_BB)
// Smoothing MA Calculations
sma_val = (showSMA or showBB) and isRSI ? ta.sma(rsi, maLengthSMA) : na
ema_val = showEMA and isRSI ? ta.ema(rsi, maLengthEMA) : na
rma_val = showRMA and isRSI ? ta.rma(rsi, maLengthRMA) : na
wma_val = showWMAsmooth and isRSI ? ta.wma(rsi, maLengthWMA) : na
vwma_val = showVWMAsmooth and isRSI ? ta.vwma(rsi, maLengthVWMA) : na
smoothingStDev = showBB and isRSI ? ta.stdev(rsi, maLengthSMA) * bbMultInput : na
// Smoothing MA plots
plot(sma_val, "RSI-based SMA", color=(showSMA or showBB) ? color.yellow : na, display=(showSMA or showBB) ? display.all : display.none, editable=(showSMA or showBB))
plot(ema_val, "RSI-based EMA", color=showEMA ? color.purple : na, display=showEMA ? display.all : display.none, editable=showEMA)
plot(rma_val, "RSI-based RMA", color=showRMA ? color.red : na, display=showRMA ? display.all : display.none, editable=showRMA)
plot(wma_val, "RSI-based WMA", color=showWMAsmooth ? color.blue : na, display=showWMAsmooth ? display.all : display.none, editable=showWMAsmooth)
plot(vwma_val, "RSI-based VWMA", color=showVWMAsmooth ? color.orange : na, display=showVWMAsmooth ? display.all : display.none, editable=showVWMAsmooth)
bbUpperBand = plot(showBB ? sma_val + smoothingStDev : na, title="Upper Bollinger Band", color=showBB ? color.green : na, display=showBB ? display.all : display.none, editable=showBB)
bbLowerBand = plot(showBB ? sma_val - smoothingStDev : na, title="Lower Bollinger Band", color=showBB ? color.green : na, display=showBB ? display.all : display.none, editable=showBB)
fill(bbUpperBand, bbLowerBand, color=showBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display=showBB ? display.all : display.none, editable=showBB)
// Divergence Settings
divGroup = "Divergence Settings"
calculateDivergence = input.bool(true, title="Calculate Divergence", group=divGroup, tooltip = "Calculating divergences is needed in order for divergence alerts to fire.")
lookbackLeft = input.int(5, "Pivot Lookback Left", minval=1, group=divGroup)
lookbackRight = input.int(5, "Pivot Lookback Right", minval=1, group=divGroup)
rangeLower = input.int(5, "Min Range for Divergence", minval=0, group=divGroup)
rangeUpper = input.int(60, "Max Range for Divergence", minval=1, group=divGroup)
showHidden = input.bool(true, "Show Hidden Divergences", group=divGroup)
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
bool plFound = false
bool phFound = false
bool bullCond = false
bool bearCond = false
bool hiddenBullCond = false
bool hiddenBearCond = false
float oscLBR = na
float lowLBR = na
float highLBR = na
float prevPlOsc = na
float prevPlLow = na
float prevPhOsc = na
float prevPhHigh = na
if calculateDivergence
plFound := not na(ta.pivotlow(osc, lookbackLeft, lookbackRight))
phFound := not na(ta.pivothigh(osc, lookbackLeft, lookbackRight))
oscLBR := osc
lowLBR := low
highLBR := high
prevPlOsc := ta.valuewhen(plFound, oscLBR, 1)
prevPlLow := ta.valuewhen(plFound, lowLBR, 1)
prevPhOsc := ta.valuewhen(phFound, oscLBR, 1)
prevPhHigh := ta.valuewhen(phFound, highLBR, 1)
// Regular Bullish
oscHL = oscLBR > prevPlOsc and _inRange(plFound )
priceLL = lowLBR < prevPlLow
bullCond := priceLL and oscHL and plFound
// Regular Bearish
oscLL = oscLBR < prevPhOsc and _inRange(phFound )
priceHH = highLBR > prevPhHigh
bearCond := priceHH and oscLL and phFound
// Hidden Bullish
oscLL_hidden = oscLBR < prevPlOsc and _inRange(plFound )
priceHL = lowLBR > prevPlLow
hiddenBullCond := priceHL and oscLL_hidden and plFound and showHidden
// Hidden Bearish
oscHH_hidden = oscLBR > prevPhOsc and _inRange(phFound )
priceLH = highLBR < prevPhHigh
hiddenBearCond := priceLH and oscHH_hidden and phFound and showHidden
// Plot divergences (lines and labels on pane)
if bullCond
leftBar = ta.valuewhen(plFound, bar_index , 1)
line.new(leftBar, prevPlOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bullColor, width=2)
label.new(bar_index , oscLBR, "R Bull", style=label.style_label_up, color=noneColor, textcolor=textColor)
if bearCond
leftBar = ta.valuewhen(phFound, bar_index , 1)
line.new(leftBar, prevPhOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bearColor, width=2)
label.new(bar_index , oscLBR, "R Bear", style=label.style_label_down, color=noneColor, textcolor=textColor)
if hiddenBullCond
leftBar = ta.valuewhen(plFound, bar_index , 1)
line.new(leftBar, prevPlOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bullColor, width=2, style=line.style_dashed)
label.new(bar_index , oscLBR, "H Bull", style=label.style_label_up, color=noneColor, textcolor=textColor)
if hiddenBearCond
leftBar = ta.valuewhen(phFound, bar_index , 1)
line.new(leftBar, prevPhOsc, bar_index , oscLBR, xloc=xloc.bar_index, color=bearColor, width=2, style=line.style_dashed)
label.new(bar_index , oscLBR, "H Bear", style=label.style_label_down, color=noneColor, textcolor=textColor)
// Alert conditions
alertcondition(bullCond, title="Regular Bullish Divergence", message="Found a new Regular Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(bearCond, title="Regular Bearish Divergence", message="Found a new Regular Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(hiddenBullCond, title="Hidden Bullish Divergence", message="Found a new Hidden Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(hiddenBearCond, title="Hidden Bearish Divergence", message="Found a new Hidden Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")






















