Custom RSI + Divergence + Bold Lines (v6, matched)📌 Custom RSI with Divergence & Dynamic Coloring
This indicator enhances the classic Relative Strength Index (RSI) by combining
dynamic visual feedback with automatic regular divergence detection.
It is designed to help traders quickly identify overbought / oversold conditions
and potential momentum shifts through clear and intuitive visualization.
⸻
🔍 Key Features
1️⃣ Dynamic RSI Line Coloring
• Overbought zone (RSI > Overbought level) → RSI line turns green
• Oversold zone (RSI < Oversold level) → RSI line turns red
• Neutral zone → RSI line remains white
This allows instant recognition of the current RSI state.
⸻
2️⃣ Overbought / Oversold Visual Highlighting
• Clear overbought and oversold reference lines
• Background shading when RSI enters these zones
→ improves signal visibility and reaction speed
⸻
3️⃣ Automatic Regular Divergence Detection
• Bullish Divergence
• Price makes a lower low
• RSI makes a higher low
• Pivot lows are connected with a bold green line
• Bearish Divergence
• Price makes a higher high
• RSI makes a lower high
• Pivot highs are connected with a bold red line
Pivot points are connected directly, making divergence structures easy to identify at a glance.
⸻
4️⃣ Clear Signal Markers
• Bullish divergence: ▲ (bottom of the RSI pane)
• Bearish divergence: ▼ (top of the RSI pane)
⸻
⚙️ Inputs
• RSI Length
• Overbought / Oversold Levels
• Pivot Length (controls divergence sensitivity)
⸻
💡 How to Use
• Oversold + Bullish Divergence → Potential rebound setup
• Overbought + Bearish Divergence → Potential pullback or reversal
• Best used in combination with trend analysis, support/resistance, and volume
⸻
⚠️ Notes
• Divergence signals are probabilistic, not guaranteed.
• In ranging markets, divergences may appear more frequently.
• Always apply proper risk management.
⸻
🎯 Best For
• Traders who actively use RSI
• Traders looking for clean and intuitive divergence visualization
• Users who prefer minimal but informative indicators
חפש סקריפטים עבור "Divergence"
Luxy VWAP Magic - MTF Projection EngineThis indicator transforms the classic VWAP into a comprehensive trading system. Instead of switching between multiple indicators, you get everything in one place: multi-timeframe analysis, statistical bands, momentum detection, volume profiling, session tracking, and divergence signals.
What Makes This Different
Traditional VWAP indicators show a single line. This tool treats VWAP as a foundation for complete market analysis. The indicator automatically detects your asset type (stocks, crypto, forex, futures) and adjusts its behavior accordingly. Crypto traders get 24/7 session tracking. Stock traders get proper market hours handling. Everyone gets institutional-grade analytics.
Anchor Period Options
The anchor period determines when VWAP resets and recalculates. You have three categories of options:
Time-Based Anchors:
Session - Resets at market open. Best for intraday stock trading where you want fresh VWAP each day.
Day - Resets at midnight UTC. Standard option for most traders.
Week / Month / Quarter / Year - Longer reset periods for swing traders and position traders who want broader context.
Rolling Window Anchors:
Rolling 5D - A sliding 5-day window that never resets. Solves the Monday problem where weekly VWAP equals daily VWAP on first day of week.
Rolling 21D - Approximately one month of trading data in continuous calculation. Excellent for crypto and forex markets that trade 24/7 without clear session breaks.
Event-Based Anchors:
Dividends - Resets on ex-dividend dates. Track institutional cost basis from dividend events.
Splits - Resets on stock split dates. Useful for analyzing post-split trading behavior.
Earnings - Resets on earnings report dates. See where volume-weighted trading occurred since last quarterly report.
Standard Deviation Bands
Three sets of bands surround the main VWAP line:
Band 1 (Aqua) - Plus and minus one standard deviation. Approximately 68% of price action occurs within this range under normal distribution. Touches suggest minor extension.
Band 2 (Fuchsia) - Plus and minus two standard deviations. Only 5% of trading should occur outside this range statistically. Touches here indicate significant overextension and high probability of mean reversion.
Band 3 (Purple) - Plus and minus three standard deviations. Touches are rare (0.3% probability) and represent extreme conditions. Often marks climax moves or panic selling/buying.
Each band can be toggled independently. Most traders show Band 1 by default and add Band 2 and 3 for specific setups or volatile instruments.
Multi-Timeframe VWAP System
The MTF section plots previous period VWAPs as horizontal support and resistance levels:
Daily VWAP - Previous day's final VWAP value. Key intraday reference level.
Weekly VWAP - Previous week's final VWAP. Important for swing traders.
Monthly VWAP - Previous month's final VWAP. Institutional benchmark level.
Quarterly VWAP - Previous quarter's final VWAP. Major support/resistance for position traders.
Previous Day VWAP - Yesterday's closing VWAP specifically, separate from current daily calculation.
The Confluence Zone percentage setting determines how close multiple VWAPs must be to trigger a confluence alert. When two or more timeframe VWAPs converge within this threshold, you get a high-probability support/resistance zone.
Session VWAPs for Global Markets
For forex, crypto, and futures traders who operate in 24/7 markets, the indicator tracks three major global sessions:
Asia Session - UTC 21:00 to 08:00. Gold colored line. Typically lower volatility, range-bound action that sets overnight levels.
London Session - UTC 08:00 to 17:00. Orange colored line. Often determines daily direction with high volume European participation.
New York Session - UTC 13:00 to 22:00. Blue colored line. Highest volume session globally. Sharp directional moves common.
Previous session VWAP values display as horizontal lines when each session closes, acting as intraday support and resistance. The table shows which sessions are currently active with checkmarks.
On-Chart Labels and Signals
The indicator plots several types of labels directly on price action when significant events occur:
Volume Spike Labels
Fire when current bar volume exceeds configurable thresholds relative to both the previous bar and the 20-bar average. Default settings require 300% of previous bar AND 200% of average volume. Green labels indicate bullish candles. Red labels indicate bearish candles. These spikes often mark institutional entry points.
Momentum Shift Labels
Appear when VWAP acceleration changes direction. The Slowing label warns when an active trend loses steam, often preceding reversal. The Accelerating label confirms trend continuation or potential bottom during downtrends. Filters available to show only reversal signals in existing trends.
VWAP Squeeze Labels
Detect when standard deviation bands contract relative to ATR (Average True Range). Low volatility compression often precedes explosive breakout moves. When the squeeze fires (releases), a label appears with directional prediction based on VWAP slope.
Divergence Labels
Mark price/volume divergences using CVD (Cumulative Volume Delta) analysis:
Bullish divergence: Price makes lower low, but CVD makes higher low. Hidden accumulation despite price weakness.
Bearish divergence: Price makes higher high, but CVD makes lower high. Hidden distribution despite price strength.
Dynamic VWAP Coloring
The main VWAP line changes color based on its slope direction:
Green - VWAP is rising. Institutional buying pressure. Volume-weighted price increasing.
Red - VWAP is falling. Institutional selling pressure. Volume-weighted price decreasing.
Gray - VWAP is flat. Consolidation or balance between buyers and sellers.
This coloring can be disabled for a static blue line if you prefer cleaner visuals. The VWAP label next to the line shows the current trend direction and delta percentage.
Calculated Projection Cone
One of the most powerful features is the Calculated Projection Cone. Unlike traditional extrapolation methods that simply extend a trend line forward, this system analyzes what actually happened in similar market conditions throughout the chart's history.
How It Works:
The system classifies each bar into one of 27 unique market states:
Z-Score Level - LOW (oversold), MID (fair value), or HIGH (overbought) based on configurable thresholds
Trend Direction - DOWN, FLAT, or UP based on VWAP slope
Volume Profile - LOW (below 80%), NORMAL (80-150%), or HIGH (above 150%) relative volume
When you look at the current bar, the indicator:
1. Identifies the current market state (e.g., LOW Z-Score + UP Trend + HIGH Volume)
2. Searches through all historical bars on the chart that had the same state
3. Calculates what happened in those bars X bars later (where X is your projection horizon)
4. Shows you the probability of up/down and the average move size
Visual Elements:
Probability Cone - Colored green (bullish probability above 55%), red (bearish below 45%), or gold (neutral). The cone width represents the historical range of outcomes (roughly the 20th to 80th percentile).
Center Line - Shows the average expected price based on historical outcomes in similar conditions.
Probability Label - Displays direction probability and average move. Example: "67% UP (+0.8%)" means 67% of similar past cases moved up, averaging 0.8% gain.
Fallback System:
When the exact 27-state match has insufficient historical data:
First fallback: Uses Z-Score plus Trend only (9 broader states, ignoring volume)
Second fallback: Uses Z-Score only (3 states)
When fallback is active, confidence automatically adjusts
Settings:
Projection Horizon - How many bars forward to analyze outcomes (5, 10, 15, or 20 bars, default 10)
Lookback Period - Historical data window in days (30-252, default 60)
Minimum Samples - Cases needed before using fallback (5-30, default 10)
Z-Score Threshold - Bucket boundary for LOW/MID/HIGH classification (1.0, 1.5, or 2.0 sigma)
Cloud Transparency - Adjust visibility (50-95%)
Colors - Customize bullish, bearish, and neutral cone colors
Confidence Levels:
HIGH - 30 or more similar historical cases found
MEDIUM - 15-29 similar cases
LOW - Fewer than 15 cases (more uncertainty)
IMPORTANT DISCLAIMER:
The Calculated Projection is based on past patterns only. It is NOT a price prediction or financial advice. Similar market states in the past do not guarantee similar outcomes in the future. The probability shown is historical frequency, not a guarantee. Always combine with other analysis and never rely solely on projections for trading decisions.
Alert Conditions
The indicator includes over 20 pre-built alert conditions:
Price vs VWAP:
Price crosses above VWAP
Price crosses below VWAP
Band Touches:
Price touches plus or minus one sigma band
Price touches plus or minus two sigma band (extreme)
Price touches plus or minus three sigma band (very extreme)
Z-Score Extremes:
Z-Score crosses above plus two (overbought extreme)
Z-Score crosses below minus two (oversold extreme)
Momentum and Trend:
Momentum slowing
Momentum accelerating
Trend turns bullish/bearish/neutral
Volume:
Volume spike detected
CVD Direction:
Buyers take control
Sellers take control
High Probability Signals:
Bullish reversal signal (oversold plus accelerating momentum)
Bearish reversal signal (overbought plus slowing momentum)
MTF and Special:
MTF confluence zone entry
VWAP squeeze fired
Bullish/Bearish divergence detected
Any significant signal (catch-all)
All signals use confirmed bar data to prevent false alerts from incomplete candles.
Settings Overview
Settings are organized into logical groups:
VWAP Settings
Anchor Period selection
Show/Hide VWAP line
Dynamic coloring toggle
VWAP label visibility
Bands Visibility
Toggle each of three bands independently
Info Table
Show/Hide table
Table position (9 options)
Text size
Volume spike label settings with adjustable thresholds
Momentum label settings with filters
Signal labels limited to 5 most recent (auto-managed)
Probability engine lookback period
Multi-Timeframe VWAP
Enable/Disable MTF system
Show MTF in table
Show MTF lines on chart
Individual timeframe toggles
Confluence zone threshold
Squeeze detection toggle
Session VWAPs
Enable/Disable session tracking
Apply to all assets option
Show session labels
Divergence Detection
Enable/Disable divergence
Pivot lookback period
Show divergence labels
Calculated Projection
Enable/Disable projection cone
Projection horizon (5, 10, 15, or 20 bars)
Lookback period in days (30-252)
Minimum samples threshold
Z-Score classification threshold (1.0, 1.5, or 2.0 sigma)
Cloud transparency adjustment
Bullish, bearish, and neutral colors
The Info Table - Your Trading Dashboard
The right side of your chart displays a compact table with up to twelve metrics.
Row-by-Row Breakdown:
Asset and Period - Shows what the indicator detected (US Stock, Crypto, Forex, etc.) and your selected anchor period. The detection happens automatically based on exchange data, so VWAP resets and calculations match your actual trading instrument.
Delta Percentage - How far current price sits from VWAP, expressed as a percentage. Positive means price trades above fair value. Negative means below. Large delta values (beyond 1-2%) often precede mean reversion moves. Day traders watch this for overextension.
Z-Score - Statistical deviation from VWAP measured in standard deviations. Unlike raw delta, Z-Score accounts for volatility. A 2% move in a volatile biotech stock differs from 2% in a stable utility. Z-Score normalizes this. Values beyond plus or minus two sigma occur only 5% of the time statistically.
Trend Direction - Whether VWAP itself is rising, falling, or flat. Rising VWAP means the volume-weighted average price is increasing, which indicates institutional accumulation. Falling VWAP suggests distribution. This differs from price trend since it weights by volume.
Momentum State - Is the trend accelerating or slowing down? This measures the rate of change in VWAP slope. When an uptrend shows slowing momentum, it often precedes reversal. Accelerating momentum in a downtrend can signal capitulation and potential bottom.
Relative Volume - Current bar volume compared to the 20-bar average, shown as percentage. Values above 150% indicate above-average activity. Spikes above 200-300% often mark institutional involvement. Low volume (below 80%) warns of potential fake moves.
MTF Bias - Four checkmarks or X marks showing whether price sits above or below Daily, Weekly, Monthly, and Quarterly VWAP. Four checkmarks means strong bullish alignment across all timeframes. Four X marks indicates bearish alignment. Mixed readings suggest consolidation or transition.
Band Probabilities - Historical statistics showing how often price touched each standard deviation band over your lookback period. This helps you understand if mean reversion or trend following works better for your specific instrument.
Session Status - Which global trading sessions are currently active (Asia, London, New York). Shows checkmarks for active sessions. Important for forex and crypto traders who need to know when major liquidity windows open and close.
Divergence State - Whether the indicator detects bullish or bearish divergence between price and cumulative volume delta. Bullish divergence occurs when price makes lower lows but buying pressure (CVD) makes higher lows, suggesting hidden accumulation.
Confidence Score - A weighted composite of all factors displayed as a progress bar and percentage. Combines MTF alignment, Z-Score, trend direction, volume delta, momentum, and relative volume into a single 0-100 score. Higher scores indicate stronger conviction setups.
Calculated Projection - When the Projection Cone is enabled, shows the historical probability of price direction and expected move. For example: "▲ 67% (+0.8%)" means in similar market states historically, price moved up 67% of the time with an average gain of 0.8%. The system analyzes 27 unique market states based on Z-Score, Trend, and Volume conditions.
Recommended Use Cases
Day Trading Stocks:
Use Session anchor with Band 1 visible. Watch for price returning to VWAP after morning move. Volume spikes near VWAP often mark institutional accumulation zones.
Swing Trading:
Use Weekly or Rolling 21D anchor. Enable MTF lines for Daily and Weekly levels. Trade pullbacks to these levels in direction of MTF bias.
Crypto and Forex:
Enable Session VWAPs. Use Rolling anchors to avoid artificial resets. Monitor session transitions for breakout opportunities.
Mean Reversion:
Focus on Z-Score reaching plus or minus two. Add Band 2 visibility. Combine with slowing momentum for highest probability reversals.
Trend Following:
Watch MTF bias alignment. Four checkmarks plus accelerating momentum plus high volume confirms trend continuation setups.
Projection Planning:
Enable the Calculated Projection to see what happened historically in similar market conditions. Use 5-10 bars for intraday setups, 15-20 bars for swing trade planning. Focus on high probability readings (above 60%) with HIGH confidence (30 or more samples). The cone shows the probable range of outcomes based on actual historical data. Combine with other factors like MTF alignment and volume for higher conviction setups.
Important Notes
The indicator does not repaint. MTF values use previous period's confirmed data.
Rolling VWAP works best on 15-minute timeframes and above due to bar lookback requirements.
Session VWAPs apply to global markets by default (forex, crypto, futures). Enable the all-assets option for stocks if desired.
Volume data for forex represents tick volume, not actual traded volume.
All alert conditions fire only on confirmed (closed) bars to prevent false signals.
The Calculated Projection updates each bar as market state changes. This is expected behavior. The projection shows probabilities based on similar past conditions, not a fixed prediction.
Q AND A
Q: Does this indicator repaint?
A: No. The main VWAP calculation uses standard TradingView VWAP methodology. Multi-timeframe values use previous period's confirmed data with appropriate lookahead settings. All alert signals require bar confirmation.
Q: Why does my Rolling VWAP look different on 1-minute versus 15-minute charts?
A: Rolling VWAP calculates across a fixed number of trading days. On very short timeframes, the bar lookback may hit TradingView limits. For best Rolling VWAP accuracy, use 15-minute or higher timeframes.
Q: Can I use this on any instrument?
A: Yes. The indicator automatically detects asset type and adjusts behavior. Stocks use standard market hours. Crypto uses 24/7 calculations. Forex uses tick volume. Everything adapts automatically.
Q: What does the Confidence Score actually measure?
A: The score combines six weighted factors: MTF alignment (25%), Z-Score position (20%), Trend direction (20%), CVD pressure (15%), Momentum state (10%), and Relative volume (10%). Higher scores indicate more factors aligned in one direction.
Q: Why are Session VWAPs not showing on my stock chart?
A: Session VWAPs apply to 24-hour markets by default (forex, crypto, futures). For stocks, enable the Use for All Assets option in Session VWAP settings.
Q: The Divergence labels appear delayed. Is this a bug?
A: Divergence detection requires pivot confirmation, which needs bars on both sides of the pivot point. The label appears at the actual pivot location (several bars back) once confirmed. This is intentional and prevents false signals.
Q: Can I change the band colors?
A: Yes. Each of the three bands has its own color input setting. You can customize Band 1, Band 2, and Band 3 colors to match your preferences. The defaults are Aqua, Fuchsia, and Purple. The main VWAP line color adapts dynamically based on slope direction or can be set to static blue.
Q: How do I set up alerts?
A: Right-click on the chart, select Add Alert, choose this indicator, and select your desired condition from the dropdown. All conditions include descriptive alert messages with relevant data.
Q: What is the Probability Engine lookback period?
A: This setting determines how many trading days the indicator analyzes to calculate band touch rates and mean reversion statistics. Default is 60 days (approximately 3 months). Longer periods provide more stable statistics but may miss recent behavior changes.
Q: Why do I see fewer labels than expected?
A: Signal labels (Volume, Momentum, Squeeze, Divergence) are limited to 5 most recent labels on the chart to keep it clean. When a new label appears, the oldest one is automatically removed. Additionally, momentum labels have several filters: check the slope multiplier setting (higher values require stronger trends) and the Only Reversal Signals option (when enabled, labels only appear for potential reversals, not trend confirmations).
Q: What is the Calculated Projection and how accurate is it?
A: The Calculated Projection analyzes what happened in past market conditions similar to the current state. It classifies each bar by Z-Score level, Trend direction, and Volume profile (27 unique states), then shows the historical probability of up vs down and the average move size. It is NOT a price prediction or guarantee. The probability shown is how often similar conditions led to up/down moves historically, not a future guarantee. Always use it as one input among many.
Q: Why does the Projection probability change?
A: The projection updates on each bar as market state changes. If Z-Score moves from LOW to MID, or trend shifts from UP to FLAT, the system looks up a different historical category. This is expected behavior. The projection shows what happened in similar past conditions to the current bar's state.
Q: The Projection shows LOW confidence. What does that mean?
A: Confidence levels indicate sample size: HIGH means 30 or more historical cases found, MEDIUM means 15-29 cases, LOW means fewer than 15 cases. When sample size is low, the system uses a fallback: first aggregating by Z-Score plus Trend only (ignoring volume), then by Z-Score only. LOW confidence means less statistical reliability, so weight other factors more heavily in your decision.
Q: Why does the cone sometimes show 50/50 probability?
A: A 50/50 reading means that in similar past market states, price moved up roughly half the time and down half the time. This indicates a neutral or balanced condition where historical patterns provide no directional edge. Consider waiting for a higher probability setup or using other analysis methods.
CREDITS AND ACKNOWLEDGMENTS
Methodology Foundation:
VWAP (Volume Weighted Average Price) - Standard institutional benchmark calculation, widely used since the 1980s for algorithmic execution and fair value assessment
Standard Deviation Bands - Statistical volatility measurement applying normal distribution principles to price deviation from mean
Z-Score Analysis - Classic statistical normalization technique for comparing values across different volatility regimes
Cumulative Volume Delta (CVD) - Order flow analysis concept measuring aggressive buying versus selling pressure
Concept Integration:
Mean reversion probability engine - Custom historical statistics tracking for band touch rates
Momentum acceleration detection - Second derivative analysis of VWAP slope changes
VWAP Squeeze - Volatility compression concept adapted from TTM Squeeze methodology applied to VWAP bands versus ATR
Confidence scoring system - Weighted composite scoring combining multiple technical factors
Calculated Projection Cone - Probability-based projection using 27-state market classification (Z-Score, Trend, Volume) with historical outcome analysis and weighted fallback system
All calculations use standard public domain formulas and TradingView built-in functions. No proprietary third-party code was used.
For questions, feedback, or feature requests, please comment below or send a private message.
Happy Trading!
Volume Weighted Stochastic RSIThis indicator calculates the Stochastic RSI, enhanced with optional Volume Weighting (VWStochRSI). It measures the level of a (Volume-Weighted) RSI relative to its high-low range over a set period, providing a sensitive momentum oscillator.
Key Features:
Volume-Weighted Core: The indicator is built on a Relative Strength Index (RSI) that can be optionally volume-weighted (Volume weighted).
Customizable Smoothing: The %K and %D lines are smoothed using a customizable moving average. The MA type (Smooth Method) can be selected (e.g., EMA, SMA, WMA) and will also be volume-weighted if the main Volume weighted option is enabled.
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the %K line level of the confirming pivot.
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF VWStochRSI Lines: The %K and %D lines can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 20 comprehensive alerts for:
The start and end of all 6 divergence types.
The %K line crossing the %D line.
The %K line crossing the Overbought, Oversold, or 50-level lines.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Volume Weighted Relative Strength IndexThis indicator calculates the Relative Strength Index (RSI) and enhances it with optional volume weighting (VWRSI). It also includes a customizable signal line and a built-in divergence detection engine.
Key Features:
Volume-Weighted Calculation: An option (Volume weighted) allows for volume to be incorporated into the calculation of both the RSI itself and its moving average signal line, making the oscillator more sensitive to high-volume price changes.
Customizable Signal Line: Includes an optional moving average of the VWRSI, which serves as a signal line. The type of MA (Smooth Method) and its length can be customized.
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the VWRSI level of the confirming pivot.
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF VWRSI Line: The VWRSI and its signal line can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 20 comprehensive alerts for:
The start and end of all 6 divergence types.
The VWRSI crossing its signal line.
The VWRSI crossing the Overbought, Oversold, or 50-level lines.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Chaikin Money FlowThis indicator provides an implementation of the classic Chaikin Money Flow (CMF), a volume-weighted oscillator designed to measure money flow pressure. It is enhanced with a customizable signal line and a built-in divergence detection engine.
Key Features:
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise, leading to more robust signals.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the CMF level of the confirming pivot.
Customizable Signal Line: Includes an optional moving average of the CMF, which serves as a signal line. The type of MA (Signal Smoothing) and its length can be customized. This signal line can also be optionally volume-weighted (Volume weighted).
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF CMF & Signal Lines: The CMF and its signal line can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 16 comprehensive alerts for:
The start and end of all 6 divergence types.
The CMF crossing its signal line.
The CMF crossing the zero line.
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
Accumulation Distribution LineThis indicator provides an implementation of the classic Accumulation/Distribution Line (ADL). It enhances the standard indicator with a built-in divergence detection engine.
Key Features:
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise, leading to more robust signals.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the ADL level of the confirming pivot.
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF ADL Line: The ADL line itself can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 12 comprehensive alerts that trigger on the start and end of all 6 divergence types (e.g., "Regular Bullish Started", "Regular Bullish Ended").
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
On Balance VolumeThis indicator provides an implementation of the classic On Balance Volume (OBV) momentum indicator, enhanced with a built-in divergence detection engine.
Key Features:
Full Divergence Suite (Class A, B, C): The primary feature is the integrated divergence engine. It automatically detects and plots all three major types of divergences:
Regular (A): Signals potential trend reversals.
Hidden (B): Signals potential trend continuations.
Exaggerated (C): Signals weakness at double tops/bottoms.
Divergence Filtering and Visualization:
Price Tolerance Filter: Divergence detection is enhanced with a percentage-based price tolerance (pivPrcTol) to filter out insignificant market noise, leading to more robust signals.
Persistent Visualization: Divergence markers are plotted for the entire duration of the signal and are visually anchored to the OBV level of the confirming pivot.
Note on Confirmation (Lag): Divergence signals rely on a pivot confirmation method to ensure they do not repaint.
The Start of a- divergence is only detected after the confirming pivot is fully formed (a delay based on Pivot Right Bars).
The End of a divergence is detected either instantly (if the signal is invalidated by price action) or with a delay (when a new, non-divergent pivot is confirmed).
Multi-Timeframe (MTF) Capability:
MTF OBV Line: The OBV line itself can be calculated on a higher timeframe, with standard options to handle gaps (Fill Gaps) and prevent repainting (Wait for...).
Limitation: The Divergence detection engine (pivDiv) is disabled if a timeframe other than the chart's timeframe is selected. Divergences are only calculated on the active chart timeframe.
Integrated Alerts: Includes 12 comprehensive alerts that trigger on the start and end of all 6 divergence types (e.g., "Regular Bullish Started", "Regular Bullish Ended").
DISCLAIMER
For Informational/Educational Use Only: This indicator is provided for informational and educational purposes only. It does not constitute financial, investment, or trading advice, nor is it a recommendation to buy or sell any asset.
Use at Your Own Risk: All trading decisions you make based on the information or signals generated by this indicator are made solely at your own risk.
No Guarantee of Performance: Past performance is not an indicator of future results. The author makes no guarantee regarding the accuracy of the signals or future profitability.
No Liability: The author shall not be held liable for any financial losses or damages incurred directly or indirectly from the use of this indicator.
Signals Are Not Recommendations: The alerts and visual signals (e.g., crossovers) generated by this tool are not direct recommendations to buy or sell. They are technical observations for your own analysis and consideration.
OBV with Divergence (SMA Smoother)Title: OBV Divergence with SMA Smoothing
Description:
This indicator is a powerful tool designed to identify regular (reversal) and hidden (continuation) On-Balance Volume (OBV) divergences against price action. It uses a modified OBV calculation (an OBV Oscillator) and integrates pivot analysis to automatically highlight potential turning points or trend continuations directly on your chart.
Key Features
Advanced Divergence Detection: Automatically detects and labels four types of divergences:
Regular Bullish/Bearish: Signals potential trend reversals.
Regular Bullish: Price makes a Lower Low (LL) but the OBV Oscillator makes a Higher Low (HL).
Regular Bearish: Price makes a Higher High (HH) but the OBV Oscillator makes a Lower High (LH).
Hidden Bullish/Bearish: Signals potential trend continuations.
Hidden Bullish: Price makes a Higher Low (HL) but the OBV Oscillator makes a Lower Low (LL).
Hidden Bearish: Price makes a Lower High (LH) but the OBV Oscillator makes a Higher High (HH).
OBV Oscillator: Instead of plotting the raw OBV, this script uses the difference between the OBV and its Exponential Moving Average (EMA). This technique centers the indicator around zero, making it easier to visualize volume momentum shifts and clearly identify peaks and troughs for divergence analysis.
Optional SMA Smoothing Line (New Feature): An added Simple Moving Average (SMA) line can be toggled on to further smooth the OBV Oscillator. Traders can use this line for crossover signals or to confirm the underlying trend of the volume momentum, reducing whipsaws.
Customizable Lookback: The indicator allows you to define the lookback periods (Pivot Lookback Left/Right) for price and oscillator pivots, giving you precise control over sensitivity. The Max/Min of Lookback Range helps filter out divergences that are too close or too far apart.
Smart Money Proxy IndexOverview
The Smart Money Proxy Index (SMPI) is an educational tool that attempts to identify potential institutional-style behavior patterns using publicly available market data. This comprehensive tool combines multiple institutional analysis techniques into a single, easy-to-read 0-100 oscillator.
Important Disclaimer
This is an educational proxy indicator that analyzes volume and price patterns. It cannot identify actual institutional trading activity and should not be interpreted as tracking real "smart money." Use for educational purposes and combine with other analysis methods.
Inspiration & Methodology
This indicator is inspired by MAPsignals' Big Money Index (BMI) methodology but uses publicly available price and volume data with original calculations. This is an independent educational interpretation designed to teach smart money concepts to retail traders.
What It Analyzes
SMPI tracks potential "smart money" activity by combining:
Block Trading Detection - Identifies unusual volume surges with significant price impact
Money Flow Analysis - Volume-weighted price pressure using Money Flow Index
Accumulation/Distribution Patterns - Modified On-Balance Volume signals
Institutional Control Proxy - End-of-day positioning and control analysis
Key Features
– Multi-Component Analysis - Combines 4 different institutional detection methods
– BMI-Style 0-100 Scale - Familiar oscillator range with clear extreme levels
– Professional Visualization - Dynamic colors, gradient fills, and clean data table
– Comprehensive Alerts - Buy/sell signals plus divergence detection
– Fully Customizable - Adjust all parameters, colors, and display options
– Non-Repainting Signals - All alerts use confirmed data for reliability
– Educational Focus - Designed to teach institutional flow concepts
How to Interpret
Above 80: Potential smart money distribution phase (bearish pressure)
Below 20: Potential smart money accumulation phase (bullish opportunity)
Signal Generation: Buy signals when crossing above 20, sell signals when crossing below 80
Divergences: Price vs SMPI divergences can signal potential trend changes
Volume Confirmation: Higher volume ratios strengthen signal reliability
Best Practices
Timeframes: Works best on higher timeframes for institutional behavior analysis
Confirmation: Combine with other technical analysis tools and market context
Volume: Pay attention to volume confirmation in the data table
Context: Consider overall market conditions and fundamental factors
Risk Management: Not recommended as standalone trading system
Customizable Parameters
Block Volume Threshold: Sensitivity for unusual volume detection (default: 2.5x average)
SMPI Smoothing Period: Index calculation smoothing (default: 25 bars)
Extreme Levels: Overbought/oversold thresholds (default: 80/20)
Money Flow Length: MFI calculation period (default: 14)
Visual Options: Colors, signals, and display preferences
Available Alerts
Buy Signal: SMPI crosses above oversold level (20)
Sell Signal: SMPI crosses below overbought level (80)
Extreme Levels: Alerts when reaching overbought/oversold zones
Divergence Detection: Bullish and bearish price vs SMPI divergences
Educational Purpose & Limitations
This indicator is designed as an educational proxy for understanding institutional flow concepts. It analyzes publicly available price and volume data to identify potential smart money behavior patterns.
Cannot access actual institutional transaction data
Signals may be slower than day-trading indicators (intentionally designed for institutional timeframes)
Should be used in conjunction with other analysis methods
Past performance does not guarantee future results
What Makes This Different
Unlike simple volume or momentum indicators, SMPI combines multiple institutional analysis techniques into one comprehensive tool. The multi-component approach provides a more robust view of potential smart money activity.
Comprehensive Trading Toolkit [BigBeluga]Trading Toolkit is a comprehensive indicator inspired by the trading strategies of the renowned crypto influencer Michaël van de Poppe . This tool combines RSI divergences, correction zones, and advanced support/resistance levels to provide traders with a robust framework for analyzing market movements.
🔵 Key Features:
RSI Divergences on Chart:
Automatically identifies and plots RSI divergences (bullish and bearish) directly on the main price chart.
Green lines indicate bullish divergences, suggesting potential upward reversals.
Red lines indicate bearish divergences, signaling possible downward movements.
Correction Boxes:
Traders typically define a correction as a drop in value of 10% or more. This drop can happen over a few hours or a few days. Also, it can last for less than 24 hours or many months.
This indicator visualizes corrections with blue shaded boxes, triggered by a percentage decline defined in the settings.
The boxes highlight sharp price drops, helping traders identify significant market movements quickly.
Advanced Support and Resistance Levels:
Dynamically detects key support and resistance levels based on price pivots.
When the price is above a level, it plots a green shaded area from the cross point, marking support.
When the price drops below a level, it plots a red shaded area, highlighting resistance.
Dashed lines indicate weaker levels, while solid lines represent stronger, more reliable levels.
🔵 Usage:
Identify Divergences: Use plotted RSI divergences to detect potential market reversals and align them with price action.
Analyze Correction Zones: Utilize correction boxes to evaluate significant price declines and find potential buying opportunities during these corrections.
Leverage Support and Resistance Levels: Confirm breakouts, reversals, or consolidation zones with the color-coded areas.
Enhance Risk Management: Combine divergences and correction zones to set informed stop-loss or take-profit levels.
Trading Toolkit empowers traders with actionable insights into market trends, corrections, and support/resistance dynamics, making it an invaluable tool for crypto and forex markets.
Volume/Price Divergence v2The "Volume/Price Divergence v2" indicator is designed to analyze the relationship between volume and price movements in a financial market. It helps traders identify potential divergences that may indicate a change in market trends. Here’s a breakdown of how it works:
### Key Components
1. **Volume Calculation**:
- **Buying Volume**: This is calculated based on the relationship between the closing price and the high/low range. If the closing price is closer to the low, more volume is attributed to buying.
- **Selling Volume**: Conversely, if the closing price is closer to the high, more volume is considered selling.
The formulas used are:
```pinescript
buyVolume = high == low ? 0 : volume * (close - low) / (high - low)
sellVolume = high == low ? 0 : volume * (high - close) / (high - low)
```
2. **Plotting Volume**:
- The total volume is plotted in red and buying volume is plotted in teal. This helps visualize the volume distribution during different price movements.
3. **Rate of Change (ROC)**:
- The indicator calculates the rate of change for both volume and price over a specified period. This allows traders to see how volume and price are changing relative to each other.
```pinescript
roc = source / source
roc2 = source2 / source2
```
4. **Volume/Price Divergence (VPD)**:
- The VPD is derived from the ratio of the ROC of volume to the ROC of price. This ratio helps identify divergences:
- A VPD significantly above 10 may indicate strong divergence, suggesting that price movements are not supported by volume.
- A VPD around 1 indicates that volume and price are moving in harmony.
5. **Horizontal Lines**:
- The indicator includes horizontal lines at levels 10 (high divergence) and 1 (low divergence), serving as visual cues for traders to assess the market's state.
### Interpretation
- **Divergence**: If price makes a new high but volume does not follow (or vice versa), it may signal a potential reversal or weakness in the trend.
- **Volume Trends**: Analyzing the buying vs. selling volume can provide insights into market sentiment, helping traders make informed decisions.
- **Potential for a Strong Move**: A high VPD during a breakout indicates that while volume is increasing, the price isn’t moving significantly, suggesting that a big price move could be imminent.
- **Caution Before Entry**: Traders should be aware that the lack of price movement relative to high volume may signal an impending volatility spike, which could lead to a rapid price change in either direction.
Overall, this indicator is useful for traders looking to gauge the strength of price movements and identify potential reversals or breakouts based on volume trends.
MTF TMOTMO - (T)rue (M)omentum (O)scillator) MTF (Higher Aggregation) Version
TMO calculates momentum using the DELTA of price. Giving a much better picture of the trend, reversals & divergences than most momentum oscillators using price. Aside from the regular TMO, this study combines four different TMO aggregations into one indicator for an even better picture of the trend. Once you look deeper into this study you will realize how complex this tool is. This version also produce much more information like crosses, divergences, overbought / oversold signals, higher aggregation fades etc. It is probably not even possible to explain them all, there could easily be an entire e-book about this study.
I have been using this tool for a couple of years now, and this is what i have learned so far:
Favorite Time Frame Variations:
1. 1m / 5m / 30m - Great for intraday futures or options scalps. 30m TMO serves as the overall trend gauge for the day. 5min dictates the longer term intraday moves as well as direction of the 1min. 1min is for the scalps. When the 5min TMO is sloping higher focus should be on 1min buy signals (red to green cross) and vice versa for the 5min agg. sloping down.
2. 5m / 30m / 60m - Also an interesting variation for day trading the 3-5 min charts. Producing more cleaner & beginner-friendly signals that lasts couple of minutes instead of seconds.
3. 120m / Day / 2 Day - For the 30m to 1H or 2H timeframes. Daily & 2 Day dictates the overall trend. 120 min for the signals. Great for a multi-day swings.
4. Day / 2 Day / Week - Good for the daily charts, swing trading analysis as the weekly dictates the overall trend, daily dictates the signals and the 2 day cleans out the daily signals. If the daily & 2 day are not aligned togather, daily signal means nothing. Weekly dictates 2 day - 2 day dictates daily.
5. Week / Month / 3 Month - Same thing as the previous variation but for the weekly charts.
TMO Length:
The default vanilla settings are 14,5,3. Some traders prefer 21,5,3 as the TMO length is litle higher = TMO will potenially last little longer which could teoretically produce less false signals but slower crosses which means signals will lag more behind price. The lower the length, the faster the oscillator oscillates. It is the noice vs. the lag debate. The Length can be changed, but i would not personally touch the other two. Few points up or down on length will not drastically change much. But changes on Calc Length and Smooth Length can produce totally different signals from the original.
Tips & Tricks:
1. Observe
- This is the best tip & trick I can give you. The #1 best way to learn how any study operates is to just observe how it works in certain situations from the past. MTF TMO is not
an exception.
2. The Power of the Higher Aggregation
- The higher aggregation ALWAYS dictates the lower one. Best way to see this? Just 2x the current timeframe aggregation = so on daily chart, plot the daily & two day TMOs and you will notice how the higher agg. smooths out the current agg. The higher the aggregation is, the smoother (but slower) will the TMO turn. The real power kicks in when the 3 or 4 aggregations are aligned togather in one direction.
3. Position of the Higher Aggregation in Relation to the Extremes
- Overbought / oversold signals might not really work on the current aggregation. But pay attention to the higher aggregations in relation to the extremes. Ex: on the daily chart - daily TMO inside the OB / OS extremes might not mean much. But once the higher aggregations such as 3 day or Weekly TMO enters OB/OS zone togather with the daily, this can be a very powerful signal for a TMO reversion to the zeroline.
4. Crosses
- Yes, crosses do work. Personally, I never really focused on them. The thing about the crosses is that it is crucial to pick the right higher aggregation to the combination of the current one that would be reliable but also print enough signals. The closer the cross is to the OB / OS extremes, the more bigger move can occur. Crosses around the zero line can be considered as less quality crosses.
5. Divergences
- TMO can print awesome divergences. The best divergences are on the current aggregation (TMO agg. same as the chart) since the current agg. oscillates fast, it can usually produce lower lows & higher highs faster then any higher aggregations. Easy setup: wait for the higher aggregation to reach the OB / OS extremes and watch the current (chart) aggregation to print a divergence.
6. Three is Enough
- I personally find more than three aggregations messy and hard to read. But there is always the option to turn on the 4th one. Just switch the TMO 4 Main, TMO 4 Signal and TMO 4 Fill in the style settings.
Hope it helps.
Stochastic Pro+ Suite📚 What Is the Stochastic Oscillator?
The stochastic oscillator is a momentum indicator comparing a security's closing price to its price range over a set number of periods. The %K line represents the raw stochastic value, while the %D line is a smoothed moving average of %K.
Stochastic helps identify:
Overbought and oversold conditions
Bullish and bearish crossovers
Momentum shifts before price reversals
It is widely used in both trending and ranging markets.
💡 What Makes This Suite Different?
This script supercharges the traditional stochastic with a multi-timeframe engine , divergence detection , and a highly customizable visual suite , including:
✅ Core Features:
- Multi-Timeframe (%K, %D, Spread): Pulls stochastic data from any higher timeframe for improved signal quality.
- Custom Overbought/Oversold Levels: Fully adjustable OB/OS thresholds (default: 80/20).
- %K-%D Spread Histogram: View the difference between %K and %D visually as a histogram.
- Color-coded Cross Highlights: Optional background shading for key crossover events in OB/OS zones (high probability reversal areas).
🔍 Divergence Detection (Optional):
- Bullish Divergence: Price makes lower lows while %K makes higher lows.
- Bearish Divergence: Price makes higher highs while %K makes lower highs.
- Customizable pivot lookbacks and range filters to control divergence strictness.
- Visual divergence labels plotted directly on the oscillator.
🎛️ Fully Toggleable Visuals:
Show/hide %K, %D, OB/OS lines, spread histogram, background highlight, and divergence — all via simple checkboxes.
🔔 Alerts:
Set alerts for both bullish and bearish divergences — ideal for swing, day, or trend reversal strategies.
⚙️ Use Cases
- Spot exhaustion in overbought/oversold zones
- Confirm or filter entries with divergence signals
- Monitor multiple timeframes without switching charts
- Use as a signal tool in confluence with price action or volume indicators
⚠️ Disclaimer
This tool is for educational and informational purposes only. It does not constitute financial advice, trading advice, or investment guidance. Always do your own research and consult a qualified financial advisor before making trading decisions.
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 -------------------------------------------
//------------------------------------------------------
KDJ Divergence Indicator(Regular & Hidden)📌 中文介绍
KDJ 背离指标(副图版,支持 Regular & Hidden)
这是一个基于 KDJ 指标 的背离检测工具,可以在副图中直观显示 Regular 背离(顶背离/底背离) 和 Hidden 背离(隐藏顶/隐藏底)。
功能特点:
可选计算基线:支持以 J 值 或 K 值 作为背离判定依据。
多种背离类型:
Regular Bullish(底背离):价格创新低,但指标不创新低 → 可能反弹。
Regular Bearish(顶背离):价格创新高,但指标不创新高 → 可能回落。
Hidden Bullish(隐藏底背离):价格不创新低,但指标创新低 → 可能延续上涨。
Hidden Bearish(隐藏顶背离):价格不创新高,但指标创新高 → 可能延续下跌。
连线显示:在副图用线条连接前后两个背离点,帮助更直观地发现趋势变化。
自定义选项:
可选择是否显示 Regular / Hidden 背离。
可调整回溯范围(左侧/右侧/最大最小)。
可自定义颜色和信号样式。
报警提醒:背离出现时会触发报警。
适合:
波段交易者寻找趋势反转。
短线交易者捕捉关键拐点。
技术分析结合 KDJ 的交易策略。
📌 English Introduction
KDJ Divergence Indicator (Sub-Chart, Regular & Hidden Supported)
This is a KDJ-based divergence detection tool, plotted in a sub-window, that highlights Regular Divergences (Bullish/Bearish) and Hidden Divergences (Hidden Bullish/Hidden Bearish).
Key Features:
Selectable Oscillator Line: Choose between J or K line as the basis for divergence detection.
Divergence Types:
Regular Bullish: Price makes a lower low, but oscillator makes a higher low → potential rebound.
Regular Bearish: Price makes a higher high, but oscillator makes a lower high → potential drop.
Hidden Bullish: Price holds higher low, but oscillator makes a lower low → potential trend continuation upward.
Hidden Bearish: Price holds lower high, but oscillator makes a higher high → potential trend continuation downward.
Line Connections: Draws connecting lines between divergence points for better visual clarity.
Customizable Settings:
Enable/disable Regular & Hidden divergences.
Adjustable left/right lookback and range filters.
Custom colors and shapes for signals.
Alert Ready: Alerts trigger when divergences are detected.
Best for:
Swing traders spotting trend reversals.
Short-term traders catching turning points.
Technical analysts using KDJ-based strategies.
RSI Divergence Pro+ VolumeRSI Divergence Pro+ Volume
What It Does:
RSI Divergence Pro+ Volume is a non-repainting indicator that helps traders spot potential bullish and bearish reversal zones using a classic technical analysis concept—RSI divergence—combined with advanced volume confirmation. The script highlights moments when price and RSI disagree, filtering for signals only when there is a significant volume spike, which helps reduce false positives in quiet or illiquid markets.
How It Works:
Bullish Divergence: Triggered when price makes a lower low but RSI forms a higher low, suggesting possible exhaustion in selling pressure.
Bearish Divergence: Triggered when price makes a higher high but RSI forms a lower high, signaling potential buying exhaustion.
Volume Confirmation: Signals only appear when trading volume exceeds a dynamic threshold (based on a user-defined moving average and multiplier), making alerts more reliable.
Visual Features: Customizable labels and optional gradient highlights mark the exact bars where divergence with volume confirmation occurs, making signals easy to see.
Alert System: Built-in alerts for both bullish and bearish divergences so traders can receive instant notifications.
How to Use:
Apply the script to any timeframe or liquid asset (15m–4H recommended for best results).
Watch for green “BULL↑” labels below bars (bullish divergence) and red “BEAR↓” labels above bars (bearish divergence).
Blue/violet background highlights confirm volume-verified signals.
Combine with your own risk management and confirmation tools for trade entries/exits.
Adjust lookback and volume settings to match your asset and style.
Originality & Usefulness:
This indicator stands out by combining traditional RSI divergence with advanced volume filtering, giving more credible and actionable reversal alerts. All logic is non-repainting and calculated on closed bars only. Settings are fully grouped and customizable, with professional visuals for clarity.
Limitations & Disclaimers:
Not every divergence results in a major reversal—use with other analysis.
More effective in trending or volatile markets; may produce more false signals in choppy/range conditions.
Signals are generated on bar close and do not repaint.
No indicator is a substitute for proper trading discipline and risk management.
BTC CME Futures Divergence TrackerThis script tracks divergences between price action and open interest for the BTC CME Futures contract (symbol "BTC1!") using the following components:
Key Features:
1. Price Analysis: Identifies lower highs in the price over a specified lookback period. Marks these points with red upward-facing triangles above the bars.
2. Open Interest Analysis: Retrieves open interest (OI) data for the BTC CME Futures contract via request.security. Detects lower highs in open interest over the same lookback period. Highlights these points with blue downward-facing triangles below the bars.
3. Divergence Detection: A divergence is identified when both price and open interest form lower highs simultaneously. Highlights such occurrences with a purple background, indicating potential bearish sentiment or weakening momentum.
4. Alerts: If divergences are detected, an alert is triggered (if enabled), notifying the trader to take action.
5. Visualization: Open interest is plotted as a blue line in a separate pane for added context. Red and blue markers highlight significant points in price and open interest trends.
Use Cases:
- Spot Weakening Trends: Divergences between price and open interest may indicate a loss of momentum or bearish sentiment, allowing traders to preemptively adjust their strategies.
- Monitor Institutional Activity: Open interest changes reflect shifts in market participation, especially in derivative markets like CME Futures.
- Set Alerts for Key Signals: With automated alerts, traders can stay informed of potential divergence signals without constant monitoring.
Customization Options:
- Lookback Period: Adjust the number of bars used to detect lower highs.
- Timeframe: Choose the timeframe for fetching open interest data (e.g., daily, hourly).
- Alert Activation: Enable or disable alerts for divergences.
This tool combines price action with open interest dynamics to provide a robust method for identifying market trends and potential reversals in BTC CME Futures.
SMI Ergodic Indicator/Oscillator of Money Flow Index▮ Introduction
The Stochastic Momentum Index Ergodic (SMII) indicator is a technical analysis tool designed to predict trend reversals in the price of an asset.
It functions as a momentum oscillator, measuring the ratio of the smoothed price change to the smoothed absolute price change over a given number of previous periods.
The Ergodic SMI is based on the True Strength Index (TSI) and integrates a signal line, which is an exponential moving average (EMA) of the SMI indicator itself.
The Ergodic SMI oscillator provides a clearer picture of market trends than the traditional stochastic oscillator by incorporating the concept of 'ergodicity', which helps remove market noise.
On ther other hand, MFI (Money Flow Index) is a technical analysis indicator used to measure the inflow of money into an asset and thus help identify buying and selling pressure in a given financial instrument.
When these two indicators are combined, they can provide a more comprehensive view of price direction and market strength.
▮ Motivation: why another indicator?
By combining SMII with MFI, we can gain even more insights into the market.
One way to do this is to use the MFI as an input to the SMII, rather than just using price.
This means we are measuring momentum based on buying and selling pressure rather than just price.
Furthermore, there is the possibility of making several fine adjustments to both the calculation and visualization parameters that are not present in other indicators.
▮ What to look for
When using the SMII MFI indicator, there are a few things to look out for.
First, look at the SMII signal line.
When the line crosses above -40, it is considered a buy signal, while the crossing below +40 is considered a sell signal.
Also, pay attention to divergences between the SMII and the price.
If price is rising but the SMII is showing negative divergence, it could indicate that momentum is waning and a reversal could be in the offing.
Likewise, if price is falling but the SMII is showing positive divergence, this could indicate that momentum is building and a reversal could also be in the offing.
Divergences can be considered in both indicator and/or histogram.
Examples:
▮ Notes
The indicator presented here offers both the 'SMII' and the 'SMIO', that is, the 'Stochastic Momentum Index Ergodic Indicator' together with the 'Stochastic Momentum Index Ergodic Oscillator' (histogram), as per the documentation described in reference links.
So it is important to highlight the differences in relation to my other indicator, the 'Stochastic Momentum Index (SMI) of Money Flow Index (MFI)':
This last one is purely based on the SMI , which is implemented using SMA smoothing for the relative range and the high/low range.
Although they may seem the same in some situations, the calculation is actually different. The TSI tends to be more responsive at the expense of being noisier, while the SMI tends to be smoother. Which of these two indicators is best depends on the situation, the context, and the analyst's personal preference.
Please refer to reference links to more info.
▮ References
SMI documentation
SMII documentation
SMIO documentation
MFI documentation
VWAP DivergenceThe "VWAP Divergence" indicator leverages the VWAP Rolling indicator available in TradingView's library to analyze price and volume dynamics. This custom indicator calculates a rolling VWAP (Volume Weighted Average Price) and compares it with a Simple Moving Average (SMA) over a specified historical period.
Advantages:
1. Accurate VWAP Calculation: The VWAP Rolling indicator computes a VWAP that dynamically adjusts based on recent price and volume data. VWAP is a vital metric used by traders to understand the average price at which a security has traded, factoring in volume.
2. SMA Comparison: By contrasting the rolling VWAP from the VWAP Rolling indicator with an SMA of the same length, the indicator highlights potential divergences. This comparison can reveal shifts in market sentiment.
3. Divergence Identification: The primary purpose of this indicator is to detect divergences between the rolling VWAP from VWAP Rolling and the SMA. Divergence occurs when the rolling VWAP significantly differs from the SMA, indicating potential changes in market dynamics.
Interpretation:
1. Positive Oscillator Values: A positive oscillator (difference between rolling VWAP and SMA) suggests that the rolling VWAP, derived from the VWAP Rolling indicator, is above the SMA. This could indicate strong buying interest or accumulation.
2. Negative Oscillator Values: Conversely, a negative oscillator value indicates that the rolling VWAP is below the SMA. This might signal selling pressure or distribution.
3. Divergence Signals: Significant divergences between the rolling VWAP (from VWAP Rolling) and SMA can indicate shifts in market sentiment. For instance, a rising rolling VWAP diverging upwards from the SMA might suggest increasing bullish sentiment.
4. Confirmation with Price Movements: Traders often use these divergences alongside price action to confirm potential trend reversals or continuations.
Implementation:
1. Length Parameter: Adjust the Length input to modify the lookback period for computing both the rolling VWAP from VWAP Rolling and the SMA. A longer period provides a broader view of market sentiment, while a shorter period is more sensitive to recent price movements.
2. Visualization: The indicator plots the VWAP SMA Oscillator, which visually represents the difference (oscillator) between the rolling VWAP (from VWAP Rolling) and SMA over time.
3. Zero Line: The zero line (gray line) serves as a reference point. Oscillator values crossing above or below this line can be interpreted as bullish or bearish signals, respectively.
4. Contextual Analysis: Interpret signals from this indicator in conjunction with broader market conditions and other technical indicators to make informed trading decisions.
This indicator, utilizing the VWAP Rolling component, is valuable for traders seeking insights into the relationship between volume-weighted price levels and traditional moving averages, aiding in the identification of potential trading opportunities based on market dynamics.
Volume Delta Divergence Candle ColorThis indicator identifies divergences between price action and volume delta, highlighting potential reversal or continuation signals by coloring candles when buyer/seller pressure conflicts with the candle's direction.
**How It Works:**
The indicator analyzes real-time up/down volume data to detect two types of divergences:
🟣 **Seller Divergence (Fuscia)** - Occurs when a candle closes bullish (green) but the volume delta is negative, indicating more selling pressure despite the upward price movement. This suggests weak buying or potential distribution.
🔵 **Buyer Divergence (Cyan)** - Occurs when a candle closes bearish (red) but the volume delta is positive, indicating more buying pressure despite the downward price movement. This suggests weak selling or potential accumulation.
**Features:**
✓ Colors only divergent candles - non-divergent candles maintain your chart's default colors
✓ Uses actual exchange volume delta data (works best with CME futures and other instruments with tick-level data)
✓ Optional triangle markers above/below divergent candles for quick visual identification
✓ Clean, minimal design that doesn't clutter your chart
**Best Used For:**
- Identifying potential reversals or continuations
- Spotting weak price movements that may not follow through
- Confirming price action with underlying volume pressure
- Works on any timeframe with available volume delta data
**Note:** This indicator requires volume data from exchanges that provide tick-level information (CME futures, cryptocurrency exchanges, etc.). Results may vary on instruments with limited volume data.
cd_RSI_Divergence_CxGeneral:
The Relative Strength Index (RSI) is a momentum oscillator widely used by traders in price analysis. In addition to showing overbought/oversold zones, divergences between RSI and price are also tracked to identify trading opportunities.
The general consensus is that oscillators alone are not sufficient for entries and should be evaluated together with multiple confirmations.
This oscillator is designed as an additional confirmation/compatible tool for strategies that already use higher time frame (HTF) sweeps and lower time frame (LTF) confirmations such as Change in State Delivery (CISD) or Change of Character (CHOCH).
Features:
While RSI oscillators are commonly displayed in line format (classic), this indicator also offers candlestick-style visualization.
Depending on the selected source, period length, and EMA length, RSI can be displayed as lines and/or candlesticks.
Divergence detection & tracking:
Price and RSI values are monitored on the chosen higher time frame (from the menu) to determine highs and lows. For divergence display, the user can choose between two modes:
1- Alignment with HTF Sweep
2- All
1 - Alignment with HTF Sweep:
First, the price must sweep the previous high/low of the candle on the HTF (i.e., break it) but fail to continue in that direction and return inside (sweep).
If this condition is met, RSI values are checked:
If price makes a high sweep but RSI fails to make a new high → divergence is confirmed.
If price makes a low sweep but RSI fails to make a new low → divergence is confirmed.
Divergence is then displayed on the chart.
2 - All:
In this mode, sweep conditions are ignored. Divergence is confirmed if:
Price makes a new high on HTF but RSI does not.
RSI makes a new high on HTF but price does not.
Price makes a new low on HTF but RSI does not.
RSI makes a new low on HTF but price does not.
Menu & Settings:
RSI visualization (source + period length + EMA period length)
Option to choose classic/candlestick style display
Color customization
Higher time frame selection
Adjustable HTF boxes and table display
Final notes:
This oscillator is designed as an additional confirmation tool for strategies based on HTF sweep + LTF CISD/CHOCH confirmation logic. The chosen HTF in the oscillator should match the time frame where sweeps are expected.
Divergence signals from this oscillator alone will not make you profitable.
For spot trades, monitoring sweeps and divergences on higher time frames is more suitable (e.g., Daily–H1 / Weekly–H4).
My personal usage preferences:
Entry TF: 3m
HTF bias: Daily + H1
Sweep + CISD: 30m / 3m
Market Structure: 3m
RSI divergence: HTF = 30m
If all of them align bullish or bearish ( timeframe alignment ), I try to take the trade.
I’d be glad to hear your feedback and suggestions for improvement.
Happy trading!
TradeQUO Herrick Payoff RSIHerrick Payoff Index RSI (HPI-RSI) with Signal Line
An advanced oscillator that measures market strength not just by price, but by "smart money flow."
This indicator is not a typical RSI. Instead of applying the Relative Strength Index to price alone, it calculates it on the cumulative Herrick Payoff Index (HPI) . This creates a unique oscillator that reflects the underlying sentiment and capital flow in the market.
What is the Herrick Payoff Index (HPI)?
The HPI is a classic sentiment indicator that combines three crucial elements to determine if money is flowing into or out of an asset:
Price Change: The direction and momentum of the market.
Trading Volume: The conviction behind the price movement.
Open Interest (OI): The total number of open contracts (mainly in futures), which indicates if new capital is entering the market.
By combining these factors, the HPI provides a more comprehensive picture of market strength than indicators based solely on price.
How This Indicator Works
The script follows a logical, multi-step process:
It calculates the raw Herrick Payoff Index for each bar.
It creates a cumulative sum of this index to generate a continuous money flow value.
This cumulative value is smoothed with a short-period EMA to reduce noise.
The RSI is then applied to this smoothed HPI value.
An additional, configurable signal line (moving average) is added to facilitate trading signals.
Interpretation and Application
You can use this indicator much like a standard RSI, but with the added context of money flow:
Overbought/Oversold: Values above 70 suggest an overbought condition, while values below 30 signal an oversold condition.
Signal Line Crossovers: A cross of the HPI-RSI line above the signal line can be seen as a bullish signal. A cross below can be seen as a bearish signal.
Divergences: Look for divergences between the indicator and the price. A bullish divergence (price makes a lower low, indicator makes a higher low) can indicate an upcoming move to the upside. A bearish divergence (price makes a higher high, indicator makes a lower high) can signal a potential move to the downside.
Settings
The indicator has been deliberately kept simple:
HPI Smoothing Length: Smoothing length (1-5) for the cumulative HPI.
RSI Length: The lookback period for the RSI calculation.
Signal Line Settings: Here you can enable/disable the signal line and customize its type and length.
Display Settings: Adjust the colors of the RSI and signal lines to your preference.
This indicator is a tool for analysis and should always be used in combination with other methods and a solid risk management strategy. Happy trading!
Advanced Divergence OscillatorIntroduction to ADO
The Advanced Divergence Oscillator (ADO) is a modern tool crafted for traders in various markets like stocks, forex, or cryptocurrencies. Imagine it as a smart gadget that helps you understand the ebb and flow of market prices. Unlike standard tools, ADO provides a more nuanced view, enabling you to grasp subtle changes in market trends.
Functionality of ADO
ADO operates by observing and comparing market price movements over different timeframes. Picture a racetrack where cars are moving at various speeds. Some are racing ahead, while others are gradually picking up pace. ADO keeps track of these varying 'speeds' in market prices.
By analyzing these movements, ADO generates a smooth, flowing line – the oscillator. This line moves in a wave-like pattern, offering hints about the market's momentum and possible future trends. When the line moves up, it suggests increasing prices, and when it moves down, it hints at falling prices.
How to Use ADO
Setup: You can easily integrate ADO into your trading platform, adjusting settings like length and color to suit your preference.
Reading the Oscillator: Watch for the oscillator's movement. Rising and falling patterns can indicate potential buying or selling opportunities.
Identifying Divergences: ADO excels in spotting divergences – situations where market prices and the oscillator don't align. For instance, if prices are climbing but the oscillator is falling, it might signal a potential price drop ahead.
Brief History of the Ultimate Oscillator
The concept of oscillators in trading isn’t new. The Ultimate Oscillator, developed by Larry Williams in the 1970s, is a foundational tool in this field. Williams' innovation was to combine short, intermediate, and long-term market trends into a single oscillator. This approach offered a more comprehensive market view, helping traders make informed decisions.
The ADO is a step further in this evolution. It takes the core principles of the Ultimate Oscillator and enhances them with proper smoothing and divergence detection methods. This evolution represents the continuous effort in the trading community to refine tools for better market analysis and decision-making.






















