Chaikin DivergenceOverview
The Chaikin Divergence is a powerful technical indicator designed to enhance the traditional Chaikin Oscillator by incorporating divergence detection between the oscillator and price action. This advanced tool not only plots the Chaikin Oscillator but also identifies and highlights bullish and bearish divergences, providing traders with valuable insights into potential trend reversals and momentum shifts.
Key Features
Chaikin Oscillator Plotting: Visual representation of the Chaikin Oscillator, aiding in the analysis of market momentum based on volume and price.
Divergence Detection:
Bullish Divergence: Indicates potential upward reversals when price forms lower lows while the oscillator forms higher lows.
Bearish Divergence: Signals possible downward reversals when price creates higher highs while the oscillator forms lower highs.
Customizable Settings:
Fast Length & Slow Length: Adjust the periods for the Exponential Moving Averages (EMA) used in the oscillator calculation.
Pivot Detection Parameters: Define the sensitivity of pivot high and pivot low detection with adjustable left and right bars.
Bars Lookback for Divergence: Set the number of bars to look back for identifying divergences.
Color Customization: Choose distinct colors for bullish and bearish divergence labels to match your trading preferences.
Visual Indicators:
Divergence Labels: Clear and distinct labels (arrows or dots) on the chart indicating the type and location of divergences.
Zero Line: A dashed zero line to reference the oscillator’s crossing points.
Chaikin Oscillator Calculation:
The indicator calculates the Chaikin Oscillator by subtracting the slow EMA of the Accumulation/Distribution Line (ta.accdist) from the fast EMA.
This oscillates around the zero line, indicating buying and selling pressure.
Pivot Detection:
Utilizes ta.pivothigh and ta.pivotlow functions to identify significant pivot points in price action. These pivot points serve as reference points for divergence analysis.
Divergence Identification:
Bullish Divergence: Detected when a recent pivot low in price is lower than the previous pivot low, while the corresponding oscillator value is higher than the previous oscillator pivot.
Bearish Divergence: Identified when a recent pivot high in price is higher than the previous pivot high, but the oscillator value is lower than the previous oscillator pivot.
Label Plotting:
When a divergence is detected, the indicator plots a label (arrow or dot) on the chart at the pivot point, signaling the type of divergence.
Adding the Indicator:
Open TradingView and navigate to the chart where you want to apply the indicator.
Open the Pine Editor, paste the Chaikin Oscillator with Divergences script, and add it to your chart.
Configuring Settings:
Fast Length & Slow Length: Adjust these to modify the sensitivity of the Chaikin Oscillator. Shorter periods make the oscillator more responsive to price changes.
Left Bars for Pivots & Right Bars for Pivots: Define how many bars to the left and right are considered when identifying pivot points. Increasing these values makes pivot detection less sensitive.
Bars Lookback for Divergence: Set how far back the indicator should search for previous pivot points when identifying divergences. A higher value allows detection over a longer timeframe.
Bullish/Bearish Divergence Colors: Choose colors that stand out against your chart background for easy identification of divergence signals.
Interpreting Signals:
Bullish Divergence Labels: Appear when there's a potential upward reversal, signaling a possible buying opportunity.
Bearish Divergence Labels: Show up when a downward reversal might be imminent, indicating a possible selling opportunity.
Oscillator Crosses Zero: Pay attention to when the oscillator crosses the zero line, as this can also signal changes in momentum.
Combining with Other Indicators:
For enhanced trading strategies, combine divergence signals with other technical indicators or chart patterns to confirm potential trade setups.
Tìm kiếm tập lệnh với "Divergence"
hidden & regular rsi divergenceThis is a divergence indicator that draws regular and hidden divergences based on the Zigzag indicator and RSI indicator. There are two degrees of Zigzag. So, in each Zigzag degree, there are two types of regular divergences and one type of hidden divergence.
👉(The logic is written in case of a bearish regular divergence. The opposite will apply for a bullish one.)
Type 1 of regular divergence (Logic 1):
Zigzag has to form a higher high. The highest RSI within both Zigzag legs must form lower highs, but the RSI values which are exactly at the Zigzag highs should not form lower highs.
Type 2 of regular divergence (Logic 2):
Zigzag has to form a higher high. The highest RSI within both Zigzag legs must form lower highs, and the RSI values which are exactly at the Zigzag highs should form lower highs.
👉(The logic is written in case of a bearish hidden divergence. The opposite will apply for a bullish one.)
Zigzag has to form a lower high. The highest RSI within both Zigzag legs must form higher highs.
👉There is also a filter that will be applied to all the divergences. It only shows the divergences whose corresponding RSI value was above/below a level (overbought level/oversold level).
Logic for regular divergences:
Bearish regular divergence's first high's (leftmost) RSI value should be greater than or equal to 70.
Bullish regular divergence's first low's (leftmost) RSI value should be less than or equal to 30.
Logic for hidden divergences:
Bearish hidden divergence's second high's (rightmost) RSI value should be greater than or equal to 70.
Bullish hidden divergence's second low's (rightmost) RSI value should be less than or equal to 30.
👉There is another feature also. This indicator colors the background based on whether the RSI is in a bullish or bearish range.
If it's within 80-60, the background will be colored green (this means that RSI is in a bullish range).
If it's within 40-20, the background will be colored red (this means that RSI is in a bearish range).
Adaptive Cycle Oscillator with EMADescription of the Adaptive Cycle Oscillator with EMA Pine Script
This Pine Script, titled "Adaptive Cycle Oscillator with EMA", is a custom technical indicator designed for TradingView to help traders analyze market cycles and identify potential buy or sell opportunities. It combines an Adaptive Cycle Oscillator (ACO) with multiple Exponential Moving Averages (EMAs), displayed as colorful, wavy lines, and includes features like buy/sell signals and divergence detection. Below is a beginner-friendly explanation of how the script works, adhering to TradingView's Script Publishing Rules.
What This Indicator Does
The Adaptive Cycle Oscillator with EMA helps you:
Visualize market cycles using an oscillator that adapts to price movements.
Track trends with seven EMAs of different lengths, plotted as a rainbow of wavy lines.
Identify potential buy or sell signals when the oscillator crosses predefined thresholds.
Spot divergences between the oscillator and price to anticipate reversals.
Use customizable settings to adjust the indicator to your trading style.
Note: This is a technical analysis tool and does not guarantee profits. Always combine it with other analysis methods and practice risk management.
Step-by-Step Explanation for New Users
1. Understanding the Indicator
Adaptive Cycle Oscillator (ACO): The ACO analyzes price data (based on high, low, and close prices, or HLC3) to detect market cycles. It smooths price movements to create an oscillator that swings between overbought and oversold levels.
EMAs: Seven EMAs of different lengths are applied to the ACO and scaled based on the market's dominant cycle. These EMAs are plotted as colorful, wavy lines to show trend direction.
Buy/Sell Signals: The script generates signals when the ACO crosses above or below user-defined thresholds, indicating potential entry or exit points.
Divergence Detection: The script identifies bullish or bearish divergences between the ACO and the fastest EMA, which may signal potential reversals.
Visual Style: The indicator uses a rainbow of seven colors (red, orange, yellow, green, blue, indigo, violet) for the EMAs, with wavy lines for a unique visual effect. Static levels (zero, overbought, oversold) are also wavy for consistency.
2. How to Add the Indicator to Your Chart
Open TradingView and load the chart of any asset (e.g., stock, forex, crypto).
Click on the Indicators button at the top of the chart.
Search for "Adaptive Cycle Oscillator with EMA" (or paste the script into TradingView’s Pine Editor if you have access to it).
Click to add the indicator to your chart. It will appear in a separate panel below the price chart.
3. Customizing the Indicator
The script offers several input options to tailor it to your needs:
Base Cycle Length (Default: 20): Sets the initial period for calculating the dominant cycle. Higher values make the indicator slower; lower values make it more sensitive.
Alpha Smoothing (Default: 0.07): Controls how much the ACO smooths price data. Smaller values produce smoother results.
Show Buy/Sell Signals (Default: True): Toggle to display green triangles (buy) and red triangles (sell) on the chart.
Threshold (Default: 0.0): Defines overbought (above threshold) and oversold (below threshold) levels. Adjust to widen or narrow signal zones.
EMA Base Length (Default: 10): Sets the starting length for the fastest EMA. Other EMAs are incrementally longer (12, 14, 16, etc.).
Divergence Lookback (Default: 14): Determines how far back the script looks to detect divergences.
To adjust these:
Right-click the indicator on your chart and select Settings.
Modify the inputs in the pop-up window.
Click OK to apply changes.
4. Reading the Indicator
Oscillator and EMAs: The ACO and seven EMAs are plotted in a separate panel. The EMAs (colored lines) move in a wavy pattern:
Red (fastest) to Violet (slowest) represent different response speeds.
When the faster EMAs (e.g., red, orange) are above slower ones (e.g., blue, violet), it suggests bullish momentum, and vice versa.
Zero Line: A gray wavy line at zero acts as a neutral level. The ACO above zero indicates bullish conditions; below zero indicates bearish conditions.
Overbought/Oversold Lines: Red (overbought) and green (oversold) wavy lines mark threshold levels. Extreme ACO values near these lines may suggest reversals.
Buy/Sell Signals:
Green Triangle (Bottom): Appears when the ACO crosses above the oversold threshold, suggesting a potential buy.
Red Triangle (Top): Appears when the ACO crosses below the overbought threshold, suggesting a potential sell.
Divergences:
Green Triangle (Bottom): Indicates a bullish divergence (price makes a lower low, but the EMA makes a higher low), hinting at a potential upward reversal.
Red Triangle (Top): Indicates a bearish divergence (price makes a higher high, but the EMA makes a lower high), hinting at a potential downward reversal.
5. Using Alerts
You can set alerts for key events:
Right-click the indicator and select Add Alert.
Choose a condition (e.g., "ACO Buy Signal", "Bullish Divergence").
Configure the alert settings (e.g., notify via email, app, or pop-up).
Click Create to activate the alert.
Available alert conditions:
ACO Buy Signal: When the ACO crosses above the oversold threshold.
ACO Sell Signal: When the ACO crosses below the overbought threshold.
Bullish Divergence: When a potential upward reversal is detected.
Bearish Divergence: When a potential downward reversal is detected.
6. Tips for Using the Indicator
Combine with Other Tools: Use the indicator alongside support/resistance levels, candlestick patterns, or other indicators (e.g., RSI, MACD) for confirmation.
Test on Different Timeframes: The indicator works on any timeframe (e.g., 1-minute, daily). Shorter timeframes may produce more signals but with more noise.
Practice Risk Management: Never rely solely on this indicator. Set stop-losses and position sizes to manage risk.
Backtest First: Use TradingView’s Strategy Tester (if you convert the script to a strategy) to evaluate performance on historical data.
Compliance with TradingView’s Script Publishing Rules
This description adheres to TradingView’s Script Publishing Rules (as outlined in the provided link):
No Performance Claims: The description avoids promising profits or specific results, emphasizing that the indicator is a tool for analysis.
Clear Instructions: It provides step-by-step guidance for adding, customizing, and using the indicator.
Risk Disclaimer: It notes that trading involves risks and the indicator should be used with other analysis methods.
No Misleading Terms: Terms like “buy” and “sell” are used to describe signals, not guaranteed actions.
Transparency: The description explains the indicator’s components (ACO, EMAs, signals, divergences) without exaggerating its capabilities.
No External Links: The description avoids linking to external resources or soliciting users.
Educational Tone: It focuses on educating users about the indicator’s functionality.
Limitations
Not a Standalone System: The indicator is not a complete trading strategy. It provides insights but requires additional analysis.
Lagging Nature: As with most oscillators and EMAs, signals may lag behind price movements, especially in fast markets.
False Signals: Signals and divergences may not always lead to successful trades, particularly in choppy markets.
Market Dependency: Performance varies across assets and market conditions (e.g., trending vs. ranging markets).
SMT (DXY) DIVERGENCESThis indicator detects Smart Money Technique (SMT) Divergences between the chart symbol and up to two comparison symbols defined in the settings.
It identifies swing highs and swing lows on correlated/uncorrelated instruments, compares their highs and lows, and determines possible divergences.
🔷 What It Detects
-Bullish SMT Divergence: When the lows of the chart symbol slope in the opposite direction of the comparison symbol’s lows.
-Bearish SMT Divergence: When the highs of the chart symbol slope in the opposite direction of the comparison symbol’s highs.
-Multi-Symbol Compatibility: Ability to compare the main symbol with one or two external tickers (default: DXY and GBPUSD).
-Negative Divergence Option: The inversion feature allows comparison with opposite-moving charts.
🔷 Calculation Logic
-Swing Detection: Swing highs and lows are confirmed using pivot-based logic.
-Comparison: Slopes of highs and lows are calculated for both the chart symbol and the comparison symbols.
-Divergence Identification: If slopes point in opposite directions, an SMT divergence (bullish or bearish) is marked.
-Visualization: Lines and labels (“+ SMT” or “– SMT”) are drawn on the chart. Historical lines can be kept or cleared depending on user settings.
🔷 Visual
Bearish SMT: Downward line with “– SMT” label.
Bullish SMT: Upward line with “+ SMT” label.
Style Options: Predefined color schemes (TLAB, standard, monochrome) or fully customizable colors.
Line Style: Solid, dashed, or dotted.
🔷 Customization Options
-Show Historical: Decide whether past divergences remain visible on the chart.
-Comparison Symbols: Define up to two external tickers, with optional inversion.
-Swing Lengths: Preconfigured pivot lengths automatically adapt to the selected timeframe (Daily, 4H, 1H, 5m/15m).
-Lines & Labels: Enable or disable bullish/bearish SMT divergences and their annotations.
🔷 Indicator Usage
Select the comparison symbol with positive or negative correlation.
Wait for the “+ SMT” or “– SMT” marker to appear on the chart.
Divergences can be used as contextual confluence when studying potential market shifts:
A + SMT marker may suggest bullish divergence.
A – SMT marker may suggest bearish divergence.
Dskyz (DAFE) Aurora Divergence - Dskyz (DAFE) Aurora Divergence Indicator
Advanced Divergence Detection for Traders. Unleash the power of divergence trading with this cutting-edge indicator that combines price and volume analysis to spot high-probability reversal signals.
🧠 What Is It?
The Dskyz (DAFE) Aurora Divergence Indicator is designed to identify bullish and bearish divergences between the price trend and the On Balance Volume (OBV) trend. Divergence occurs when the price of an asset and a technical indicator (in this case, OBV) move in opposite directions, signaling a potential reversal. This indicator uses linear regression slopes to calculate the trends of both price and OBV over a specified lookback period, detecting when these two metrics are diverging. When a divergence is detected, it highlights potential reversal points with visually striking aurora bands, orbs, and labels, making it easy for traders to spot key signals.
⚙️ Inputs & How to Use Them
The indicator is highly customizable, with inputs grouped under "⚡ DAFE Aurora Settings" for clarity. Here’s how each input works:
Lookback Period: Determines how many bars are used to calculate the price and OBV slopes. Higher values detect longer-term trends (e.g., 20 for 1H charts), while lower values are more responsive to short-term movements.
Price Slope Threshold: Sets the minimum slope value for the price to be considered in an uptrend or downtrend. A value of 0 allows all slopes to be considered, while higher values filter for stronger trends.
OBV Slope Threshold: Similar to the price slope threshold but for OBV. Helps filter out weak volume trends.
Aurora Band Width: Adjusts the width of the visual bands that highlight divergence areas. Wider bands make the indicator more visible but may clutter the chart.
Divergence Sensitivity: Scales the strength of the divergence signals. Higher values make the indicator more sensitive to smaller divergences.
Minimum Strength: Filters out weak signals by only showing divergences above this strength level. A default of 0.3 is recommended for beginners.
Signal Cooldown (Bars): Prevents multiple signals from appearing too close together. Default is 5 bars, reducing chart clutter and helping traders focus on significant signals.
These inputs allow traders to fine-tune the indicator to match their trading style and timeframe.
🚀 What Makes It Unique?
This indicator stands out with its innovative features:
Price-Volume Divergence: Combines price trend (slope) and OBV trend for more reliable signals than price-only divergences.
Aurora Bands: Dynamic visual bands that highlight divergence zones, making it easier to spot potential reversals at a glance.
Interactive Dashboard: Displays real-time information on trend direction, volume flow, signal type, strength, and recommended actions (e.g., "Consider Buying" or "Consider Selling").
Signal Cooldown: Ensures only the most significant divergences are shown, reducing noise and improving usability.
Alerts: Built-in alerts for both bullish and bearish divergences, allowing traders to stay informed even when not actively monitoring the chart.
Beginner Guide: Explains the indicator’s visuals (e.g., aqua orbs for bullish signals, fuchsia orbs for bearish signals), making it accessible for new users.
🎯 Why It Works
The indicator’s effectiveness lies in its use of price-volume divergence, a well-established concept in technical analysis. When the price trend and OBV trend diverge, it often signals a potential reversal because the underlying volume support (or lack thereof) is not aligning with the price action. For example:
Bullish Divergence: Occurs when the price is making lower lows, but the OBV is making higher lows, indicating weakening selling pressure and potential upward reversal.
Bearish Divergence: Occurs when the price is making higher highs, but the OBV is making lower highs, suggesting weakening buying pressure and potential downward reversal.
The use of linear regression ensures smooth and accurate trend calculations over the specified lookback period. The divergence strength is then normalized and filtered based on user-defined thresholds, ensuring only high-quality signals are displayed. Additionally, the cooldown period prevents signal overload, allowing traders to focus on the most significant opportunities.
🧬 Indicator Recommendation
Best For: Traders looking to identify potential trend reversals in any market, especially those where volume data is reliable (e.g., stocks, futures, forex).
Timeframes: Suitable for all timeframes. Adjust the lookback period accordingly—smaller values for shorter timeframes (e.g., 1H), larger for longer ones (e.g., 4H or daily).
Pair With: Support and resistance levels, trend lines, other oscillators (e.g., RSI, MACD) for confirmation, and volume profile tools for deeper analysis.
Tips:
Look for divergences at key support/resistance levels for higher-probability setups.
Pay attention to signal strength; higher strength divergences are often more reliable.
Use the dashboard to quickly assess market conditions before entering a trade.
Set up alerts to catch divergences even when not actively watching the chart.
🧾 Credit & Acknowledgement
This indicator builds upon the classic concept of price-volume divergence, enhancing it with modern visualization techniques, advanced filtering, and user-friendly features. It is designed to provide traders with a powerful yet intuitive tool for spotting reversals.
📌 Final Thoughts
The Dskyz (DAFE) Aurora Divergence Indicator is more than just a divergence tool; it’s a comprehensive trading assistant that combines advanced calculations, intuitive visualizations, and actionable insights. Whether you’re a seasoned trader or just starting out, this indicator can help you spot high-probability reversal points with confidence.
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
-Dskyz
Volumetric Toolkit [LuxAlgo]The Volumetric Toolkit is a complete and comprehensive set of tools that display price action-related analysis methods from volume data.
A total of 4 features are included within the toolkit. Symbols that do not include volume data will not be supported by the script.
🔶 USAGE
The volumetric toolkit puts a heavy focus on price action, returning support/resistance levels, ranges, volume divergences...etc.
The main premise between each feature is that volume has a direct relationship with market participants level of interest over a specific symbol, and that this interest is not constant over time.
Each individual feature is detailed below.
🔹 Ranges Of Interest
The Ranges Of Interest construct a range from a surge of high liquidity in the market. This range is constructed from the price high and price low of the candle with the associated significant liquidity.
The returned extremities can be used as support and resistance, with breakouts often being accompanied by significant liquidity as well, suggesting potential trend continuations.
The length setting associated with this feature determines how sensitive the range detection algorithm is to volume, with higher values requiring more significant volume in order to display a new range.
🔹 Impulses
Impulses highlight times when volume makes a new higher high while the price makes a new higher high or lower low, suggesting increased market participation.
When this occurs when the price makes a new higher high the impulse is considered bullish (green), if the price makes a new lower low the impulse is bearish (red).
Impulses occurring within an established trend opposite to it (e.g a bearish impulse on an uptrend) might be indicative of reversals.
The length setting works similarly to the previously described ranges of interest, with higher values requiring longer-term volume higher high and price higher high/lower low, highlighting more significant impulse and potentially longer-term reversals.
🔹 Levels Of Interest
Levels of interest display price levels of significant trading activity, contrary to the range of interest only the closing price is taken into account, also volume peaks are used to detect significant trading activity.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
Users can determine the amount of most recent levels to display on the chart. These can be used as classical support/resistances.
🔹 Volume Divergence
We define volume divergence as a decreased market participation while a trend is still developing.
More precisely volume divergences are highlighted if volume makes a lower high while price is making a new higher high/lower low.
This can be indicative of a lack of further participation in the current trend, indicating a potential reversal.
Using higher length values will return longer-term divergences.
Note that this feature is subject to backpainting, that is lines are set retrospectively.
🔶 SETTINGS
🔹 Ranges Of Interest
Show Ranges Of Interest: Display Ranges Of Interest.
Length: Ranges Of Interest sensitivity to volume.
🔹 Impulses
Show Impulses: Display Ranges Of Interest.
Length: Impulses sensitivity to volume.
🔹 Levels Of Interest
Show: Determine if Levels Of Interest are displayed, and how many from the most recent.
Length: Level detection sensitivity to volume.
🔹 Volume Divergences
Show Divergences: Determine if Volume Divergences are displayed.
Length: Period for the detection of price tops/bottoms and volume peaks.
RSI MA Cross + Divergence Signal (V2) Core Logic
RSI + Moving Average
The script calculates a standard RSI (default 14).
It then overlays a moving average (SMA/EMA/WMA, default 9).
When RSI crosses above its MA → bullish momentum.
When RSI crosses below its MA → bearish momentum.
Divergence Filter
Signals are only valid if there’s confirmed divergence:
Bullish divergence: Price makes a lower low, RSI makes a higher low.
Bearish divergence: Price makes a higher high, RSI makes a lower high.
Overbought / Oversold Filter
Optional extra:
Bullish signals only valid if RSI ≤ 30 (oversold).
Bearish signals only valid if RSI ≥ 70 (overbought).
This ensures signals happen in “stretched” conditions.
Risk & Trade Management
Entries taken only when all conditions align.
Exits can be managed with ATR stops, partial take-profits, breakeven moves, and trailing stops (we coded these in the strategy version).
Cooldown, session filters, and daily loss guard to keep risk tight.
🔹 Strengths
✅ High selectivity: Combining RSI cross + divergence + OB/OS means signals are rare but higher quality.
✅ Great at catching reversals: Divergence highlights where price may be running out of steam.
✅ Risk management baked in: ATR stops + partial exits smooth out equity curve.
✅ Works across markets: ES, FX, crypto — anywhere RSI divergences are respected.
✅ Flexible: You can loosen/tighten filters depending on aggressiveness.
🔹 Weaknesses
❌ Lag from pivots: Divergence only confirms after a few bars → you enter late sometimes.
❌ Choppy in ranges: In sideways markets, RSI divergences appear often and whipsaw.
❌ Filters reduce signals: With all filters ON (divergence + OB/OS + trend + session), signals can be very rare — may under-trade.
❌ Not standalone: Needs higher-timeframe context (trend, liquidity pools) to avoid counter-trend entries.
🔹 Best Ways to Trade It
Use Higher Timeframe Bias
Run the strategy on 15m/1H, but only trade in direction of higher timeframe trend (e.g., 4H EMA).
Example: If daily is bullish → only take bullish divergences.
Pair With Structure
Look for signals at key zones: HTF support/resistance, VWAP, or FVGs.
Divergence + RSI cross inside an FVG is a strong entry trigger.
Adjust OB/OS for Volatility
For crypto/FX: use 35/65 instead of 30/70 (markets trend harder).
For ES/S&P: 30/70 works fine.
Risk Management Is King
Use partial exits: take profit at 1R, trail rest.
Size by % of equity (we coded this into the strategy).
Avoid News Spikes
Divergences break down around CPI, NFP, Fed announcements — stay flat.
🔹 When It Shines
Trending markets that make extended pushes → clean divergences.
Reversal zones (oversold → bullish bounce, overbought → bearish fade).
Swing trading (15m–4H) — less noise than 1m/5m scalping.
🔹 When to Avoid
Low volatility chop → lots of false divergences.
During high-impact news → RSI swings wildly.
In strong one-way trends without pullbacks — divergence keeps calling tops/bottoms too early.
✅ Summary:
This is a reversal-focused RSI divergence strategy with strict filters. It’s powerful when combined with higher-timeframe bias + structure confluence, but weak if traded blindly in choppy or news-driven conditions. Best to treat it as a precision entry trigger, not a full system — layer it on top of your FVG/ORB framework for maximum edge.
PulseWave + DivergenceOverview
PulseWave + Divergence is a momentum oscillator designed to optimize the classic RSI. Unlike traditional RSI, which can produce delayed or noisy signals, PulseWave offers a smoother and faster oscillator line that better responds to changes in market dynamics. By using a formula based on the difference between RSI and its moving average, the indicator generates fewer false signals, making it a suitable tool for day traders and swing traders in stock, forex, and cryptocurrency markets.
How It Works
Generating the Oscillator Line
The PulseWave oscillator line is calculated as follows:
RSI is calculated based on the selected data source (default: close price) and RSI length (default: 20 periods).
RSI is smoothed using a simple moving average (MA) with a selected length (default: 20 periods).
The oscillator value is the difference between the current RSI and its moving average: oscillator = RSI - MA(RSI).
This approach ensures high responsiveness to short-term momentum changes while reducing market noise. Unlike other oscillators, such as standard RSI or MACD, which rely on direct price values or more complex formulas, PulseWave focuses on the dynamics of the difference between RSI and its moving average. This allows it to better capture short-term trend changes while minimizing the impact of random price fluctuations. The oscillator line fluctuates around zero, making it easy to identify bullish trends (positive values) and bearish trends (negative values).
Divergences
The indicator optionally detects bullish and bearish divergences by comparing price extremes (swing highs/lows) with oscillator extremes within a defined pivot window (default: 5 candles left and right). Divergences are marked with "Bull" (bullish) and "Bear" (bearish) labels on the oscillator chart.
Signals
Depending on the selected signal type, PulseWave generates buy and sell signals based on:
Crosses of the overbought and oversold levels.
Crosses of the oscillator’s zero line.
A combination of both (option "Both").
Signals are displayed as triangles above or below the oscillator, making them easy to identify.
Input Parameters
RSI Length: Length of the RSI used in calculations (default: 20).
RSI MA Length: Length of the RSI moving average (default: 20).
Overbought/Oversold Level: Oscillator overbought and oversold levels (default: 12.0 and -12.0).
Pivot Length: Number of candles used to detect extremes for divergences (default: 5).
Signal Type: Type of signals to display ("Overbought/Oversold", "Zero Line", "Both", or "None").
Colors and Gradients: Full customization of line, gradient, and label colors.
How to Use
Adjust Parameters:
Increase RSI Length (e.g., to 30) for high-volatility markets to reduce noise.
Decrease Pivot Length (e.g., to 3) for faster divergence detection on short timeframes.
Interpret Signals:
Buy Signal: The oscillator crosses above the oversold level or zero line, especially with a bullish divergence.
Sell Signal: The oscillator crosses below the overbought level or zero line, especially with a bearish divergence.
Combine with Other Tools:
Use PulseWave alongside moving averages or support/resistance levels to confirm signals.
Monitor Divergences:
"Bull" and "Bear" labels indicate potential trend reversals. Set up alerts to receive notifications for divergences.
MACDh with divergences & impulse system (overlayed on prices)-----------------------------------------------------------------
General Description:
This indicator ( the one on the top panel above ) consists on some lines, arrows and labels drawn over the price bars/candles indicating the detection of regular divergences between price and the classic MACD histogram (shown on the low panel). This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra features" Impulse System and Keltner Channels, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Some cool features included in this indicator:
1. This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Price bars are colored blue when conditions for a Red Price Bar or Green Price Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green price bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red price bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue price bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
2. Another "extra feature" included here is the " Keltner Channels ". Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
3. It were also included a couple of EMAs.
Everything can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*Shows a pair of EMAs.
*Shows Keltner Channels (using ATR)
Keltner Channels are volatility-based envelopes set above and below an exponential moving average.
*This indicator also has the option to show the Impulse System over the price bars/candles.
MACDh with divergences & impulse system-----------------------------------------------------------------
General Description:
This indicator ( the one on the low panel ) is a classic MACD that also shows regular divergences between its histogram and the prices. This script is special because it can be adjusted to fit several criteria when trading divergences filtering them according to the "height" and "width" of the patterns. The script also includes the "extra feature" Impulse System, which you will hardly find anywhere else in similar classic MACD histogram divergence indicators.
The indicator helps to find trend reversals, and it works on any market, any instrument, any timeframe, and any market condition (except against really strong trends that do not show any other sign of reversion yet).
Please take on consideration that divergences should be taken with caution.
-----------------------------------------------------------------
Definition of classic Bullish and Bearish divergences:
* Bearish divergences occur in uptrends identifying market tops. A classical or regular bearish divergence occurs when prices reach a new high and then pull back, with an oscillator (MACD histogram in this case) dropping below its zero line. Prices stabilize and rally to a higher high, but the oscillator reaches a lower peak than it did on a previous rally.
In the chart above (weekly charts of NKE, Nike, Inc.), in area X (around August 2021), NKE rallied to a new bull market high and MACD-Histogram rallied with it, rising above its previous peak and showing that bulls were extremely strong. In area Y, MACD-H fell below its centerline and at the same time prices punched below the zone between the two moving averages. In area Z, NKE rallied to a new bull market high, but the rally of MACD-H was feeble, reflecting the bulls’ weakness. Its downtick from peak Z completed a bearish divergence, giving a strong sell signal and auguring a nasty bear market.
* Bullish divergences , in the other hand, occur towards the ends of downtrends identifying market bottoms. A classical (also called regular) bullish divergence occurs when prices and an oscillator (MACD histogram in this case) both fall to a new low, rally, with the oscillator rising above its zero line, then both fall again. This time, prices drop to a lower low, but the oscillator traces a higher bottom than during its previous decline.
In the example in the chart above (weekly charts of NKE, Nike, Inc.), you see a bearish divergence that signaled the October 2022 bear market bottom, giving a strong buy signal right near the lows. In area A, NKE (weekly charts) appeared in a free fall. The record low A of MACD-H indicated that bears were extremely strong. In area B, MACD-H rallied above its centerline. Notice the brief rally of prices at that moment. In area C, NKE slid to a new bear market low, but MACD-H traced a much more shallow low. Its uptick completed a bullish divergence, giving a strong buy signal.
-----------------------------------------------------------------
Extra feature: Impulse System
This indicator also includes the “ Impulse System ”. The Impulse System is based on two indicators, a 13-day exponential moving average and the MACD-Histogram, and identifies inflection points where a trend speeds up or slows down. The moving average identifies the trend, while the MACD-Histogram measures momentum. This unique indicator combination is color coded into the price bars or macd histogram bars for easy reference.
Calculation:
Green Price Bar: (13-period EMA > previous 13-period EMA) and
(MACD-Histogram > previous period's MACD-Histogram)
Red Price Bar: (13-period EMA < previous 13-period EMA) and
(MACD-Histogram < previous period's MACD-Histogram)
Histogram bars are colored blue when conditions for a Red Histogram Bar or Green Histogram Bar are not met. The MACD-Histogram is based on MACD(12,26,9).
The Impulse System works more like a censorship system. Green histogram bars show that the bulls are in control of both trend and momentum as both the 13-day EMA and MACD-Histogram are rising (you don't have permission to sell). A red histogram bar indicates that the bears have taken control because the 13-day EMA and MACD Histogram are falling (you don't have permission to buy). A blue histogram bar indicates mixed technical signals, with neither buying nor selling pressure predominating (either both buying or selling are permitted).
The impulse system can be removed from the chart any time.
-----------------------------------------------------------------
Options/adjustments for this indicator:
*Horizontal Distance (width) between two tops/bottoms criteria.
Refers to the horizontal distance between the MACH histogram peaks involved in the divergence
*Height of tops/bottoms criteria (for Histogram).
Refers to the difference/relation/vertical distance between the MACH HISTOGRAM peaks involved in the divergence: 1st Histogram Peak is X times the 2nd.
*Height/Vertical deviation of tops/bottoms criteria (for Price).
Deviation refers to the difference/relation/vertical distance between the PRICE peaks involved in the divergence.
*Plot Regular Bullish Divergences?.
*Plot Regular Bearish Divergences?.
*Delete Previous Cancelled Divergences?.
*This indicator also has the option to show the Impulse System over the MACD histogram bars
UFO + Realtime Divergences (UO x MFI)UFO + Realtime Divergences (UO x MFI) + Alerts
The UFO is a hybrid of two powerful oscillators - the Ultimate Oscillator (UO) and the Money Flow Index (MFI)
Features of the UFO include:
- Optional divergence lines drawn directly onto the oscillator in realtime.
- Configurable alerts to notify you when divergences occur, as well as centerline crossovers.
- Configurable lookback periods to fine tune the divergences drawn in order to suit different trading styles and timeframes.
- Background colouring option to indicate when the oscillator has crossed its centerline.
- Alternate timeframe feature allows you to configure the oscillator to use data from a different timeframe than the chart it is loaded on.
- 2x MTF triple-timeframe Stochastic RSI overbought and oversold confluence signals painted at the top of the panel for use as a confluence for reversal entry trades.
The core calculations of the UFO+ combine the factory settings of the Ultimate Oscillator and Money Flow Index, taking an average of their combined values for its output eg:
UO_Value + MFI_Value / 2
The result is a powerful oscillator capable of detecting high quality divergences, including on very low timeframes and highly volatile markets, it benefits from the higher weighting of the most recent price action provided by the Ultimate Oscillators calculations, as well as the calculation of the MFI, which incorporates volume data. The UFO and its incorporated 2x triple-timeframe MTF Stoch RSI overbought and oversold signals makes it well adapted for low timeframe scalping and regular divergence trades in particular.
The Ultimate Oscillator (UO)
Tradingview describes the Ultimate Oscillator as follows:
“The Ultimate Oscillator indicator (UO) is a technical analysis tool used to measure momentum across three varying timeframes. The problem with many momentum oscillators is that after a rapid advance or decline in price, they can form false divergence trading signals. For example, after a rapid rise in price, a bearish divergence signal may present itself, however price continues to rise. The Ultimate Oscillator attempts to correct this by using multiple timeframes in its calculation as opposed to just one timeframe which is what is used in most other momentum oscillators.”
You can read more about the UO and its calculations here
The Money Flow Index ( MFI )
Investopedia describes the True Strength Indicator as follows:
“The Money Flow Index ( MFI ) is a technical oscillator that uses price and volume data for identifying overbought or oversold signals in an asset. It can also be used to spot divergences which warn of a trend change in price. The oscillator moves between 0 and 100. Unlike conventional oscillators such as the Relative Strength Index ( RSI ), the Money Flow Index incorporates both price and volume data, as opposed to just price. For this reason, some analysts call MFI the volume-weighted RSI .”
You can read more about the MFI and its calculations here
The Stochastic RSI (relating to the built-in MTF Stoch RSI feature)
The popular oscillator has been described as follows:
“The Stochastic RSI is an indicator used in technical analysis that ranges between zero and one (or zero and 100 on some charting platforms) and is created by applying the Stochastic oscillator formula to a set of relative strength index ( RSI ) values rather than to standard price data. Using RSI values within the Stochastic formula gives traders an idea of whether the current RSI value is overbought or oversold. The Stochastic RSI oscillator was developed to take advantage of both momentum indicators in order to create a more sensitive indicator that is attuned to a specific security's historical performance rather than a generalized analysis of price change.”
You can read more about the Stochastic RSI and its calculations here
How do traders use overbought and oversold levels in their trading?
The oversold level, that is when the Stochastic RSI is above the 80 level is typically interpreted as being 'overbought', and below the 20 level is typically considered 'oversold'. Traders will often use the Stochastic RSI at an overbought level as a confluence for entry into a short position, and the Stochastic RSI at an oversold level as a confluence for an entry into a long position. These levels do not mean that price will necessarily reverse at those levels in a reliable way, however. This is why this version of the Stoch RSI employs the triple timeframe overbought and oversold confluence, in an attempt to add a more confluence and reliability to this usage of the Stoch RSI .
What are divergences?
Divergence is when the price of an asset is moving in the opposite direction of a technical indicator, such as an oscillator, or is moving contrary to other data. Divergence warns that the current price trend may be weakening, and in some cases may lead to the price changing direction.
There are 4 main types of divergence, which are split into 2 categories;
regular divergences and hidden divergences. Regular divergences indicate possible trend reversals, and hidden divergences indicate possible trend continuation.
Regular bullish divergence: An indication of a potential trend reversal, from the current downtrend, to an uptrend.
Regular bearish divergence: An indication of a potential trend reversal, from the current uptrend, to a downtrend.
Hidden bullish divergence: An indication of a potential uptrend continuation.
Hidden bearish divergence: An indication of a potential downtrend continuation.
How do traders use divergences in their trading?
A divergence is considered a leading indicator in technical analysis , meaning it has the ability to indicate a potential price move in the short term future.
Hidden bullish and hidden bearish divergences, which indicate a potential continuation of the current trend are sometimes considered a good place for traders to begin, since trend continuation occurs more frequently than reversals, or trend changes.
When trading regular bullish divergences and regular bearish divergences, which are indications of a trend reversal, the probability of it doing so may increase when these occur at a strong support or resistance level . A common mistake new traders make is to get into a regular divergence trade too early, assuming it will immediately reverse, but these can continue to form for some time before the trend eventually changes, by using forms of support or resistance as an added confluence, such as when price reaches a moving average, the success rate when trading these patterns may increase.
Typically, traders will manually draw lines across the swing highs and swing lows of both the price chart and the oscillator to see whether they appear to present a divergence, this indicator will draw them for you, quickly and clearly, and can notify you when they occur.
Setting alerts.
With this indicator you can set alerts to notify you when any/all of the above types of divergences occur, on any chart timeframe you choose.
Configurable pivot period.
You can adjust the default pivot lookback values to suit your prefered trading style and timeframe. If you like to trade a shorter time frame, lowering the default lookback values will make the divergences drawn more sensitive to short term price action.
Disclaimer: This script includes code from the stock UO and MFI by Tradingview as well as the Divergence for Many Indicators v4 by LonesomeTheBlue.
SuperTrend Weighted by Divergence█ OVERVIEW
SuperTrend Weighted by Divergence is a trend-following indicator based on the classic SuperTrend, enhanced with dynamic ATR weighting driven by divergences. Its key feature is adaptive behavior: when a divergence appears, the indicator temporarily reduces the ATR multiplier, allowing the trend line to react faster to potential market reversals.
The indicator remains clean, visually clear, and well suited for traders who want to combine trend-following with early detection of weakening momentum.
█ CONCEPT
One of the biggest drawbacks of trend indicators is their lagging nature, caused by the characteristics of source data. Classic SuperTrends react only after the trend has already developed, which often leads to late entries or exits.
The idea behind SuperTrend Weighted by Divergence is to introduce dynamic adjustment of the trend line in response to the first signs of trend weakening.
Instead of treating ATR as a constant volatility buffer, the indicator temporarily modifies its impact when the market sends warning signals in the form of price–oscillator divergences.
For divergence detection, a hidden auxiliary oscillator called “MPO4 Lines – Modal Engine” (default settings) is used. This oscillator is not displayed on the chart – only the points where divergences are detected are shown as markers on price bars.
Divergences do not generate direct entry signals; they are used solely to temporarily adjust the behavior of the SuperTrend.
If, after detecting a divergence against the current trend, a divergence in line with the trend appears, the previous divergence is invalidated and the SuperTrend returns to its standard behavior (base ATR multiplier).
█ FEATURES
Data sources:
- ATR (Average True Range)
- Reference point: HL2 (high/low average)
- MPO4 Lines – Modal Engine oscillator (hidden, used only for divergence detection)
Divergence logic:
- Bullish divergence: lower low in price + higher low in the oscillator
- Bearish divergence: higher high in price + lower high in the oscillator
- Divergences are detected using pivots (left/right)
- Divergence detection is delayed by the pivot length, as confirmation requires a fixed number of bars on the right side
Divergence impact:
- After a divergence is detected, the ATR multiplier is reduced
- The reduction strength is controlled by Divergence Sensitivity
- The effect is active only for a limited number of bars – 200 bars by default (divBars)
- The effect is canceled on trend change or when a trend-aligned divergence appears
Trend change logic:
- Trend changes only after a confirmed close beyond the trailing line
- No repainting
- Trend lines break at reversal points
Visual signals:
- “Buy” and “Sell” labels only on confirmed trend changes
- Optional bar coloring based on current trend (Color bars by trend)
- Soft fill between price and the trend line
- Divergence markers (dots above/below bars) shown at the point of divergence detection, not across the entire divergence structure
Alerts:
- Buy Signal – trend change to bullish
- Sell Signal – trend change to bearish
- Bullish Divergence
- Bearish Divergence
█ HOW TO USE
Adding the indicator:
Paste the code into Pine Editor or search for “SuperTrend Weighted by Divergence” on TradingView
Main settings:
- ATR Length – ATR period
- Base ATR Multiplier – base SuperTrend width
- Pivot Length – divergence sensitivity and detection delay
- Divergence Sensitivity – strength of divergence impact (0.0–1.0)
- Color bars by trend – enable / disable bar coloring
- Line and fill colors – fully customizable
Interpretation:
- Green line and bars = uptrend
- Red line and bars = downtrend
- Divergence against the trend = possible weakening and faster SuperTrend reaction
- Trend-aligned divergence = return to standard SuperTrend behavior
- No divergence = classic, stable SuperTrend behavior
█ APPLICATIONS
Ideal for:
- Trend-following
Entering positions only in the direction of the current trend, using the SuperTrend as a directional filter.
- Early detection of trend weakness
Repeated divergences against the trend may indicate decreasing momentum and a potential upcoming reversal.
- Markets with variable dynamics (crypto, indices, forex)
Entries based on trend changes, preferably confirmed by other tools such as Fibonacci levels, RSI, support/resistance, or market structure.
- Scalping, day trading, and swing trading (with parameter adjustments)
Increasing Divergence Sensitivity to around 0.4–0.5 produces many more signals on small, often short-lived moves.
These settings work well for scalping and day trading, but are not ideal for swing trading, as they tend to generate more false signals and frequent trend changes.
█ NOTES
- Works on all markets and timeframes
- Divergences are used to adapt SuperTrend behavior, not as standalone entry signals
- Higher Divergence Sensitivity = faster reaction and more signals
- Lower Divergence Sensitivity = smoother trend and fewer changes
- Best results are achieved by tuning parameters to the instrument and trading style
MADALGO`s Enhanced OBV DivergencesDescription:
MADALGO's Enhanced OBV Divergences indicator is a unique tool designed for traders to visualize the divergences between price action and On Balance Volume (OBV), a fundamental aspect often indicative of underlying strength or weakness in the market. By keenly identifying these divergences, traders are better positioned to anticipate potential trend reversals or trend continuations, making this script an invaluable addition to their technical analysis toolkit.
This script meticulously scans for both regular and hidden bullish/bearish divergences, providing a comprehensive view of market sentiment. The core of this indicator is built around the OBV, which cumulatively adds or subtracts volume based on the price movement per period, thus providing a running total of volume and portraying the force behind the price movements.
The regular divergences are classic indicators of a potential reversal in the current trend, while hidden divergences are often indicative of trend continuation. These divergences are pinpointed based on the relative positions of the OBV and price highs/lows, over customizable lookback periods and within specified lookback ranges.
Features:
Regular and Hidden Divergences: Clearly marked bullish and bearish divergences provide insights into potential market turning points.
On Balance Volume (OBV) Line: Visualize the continuous flow of buying and selling pressure, enabling the identification of accumulation or distribution phases essential for understanding the market's strength or weakness.
Moving Average of OBV: An optional feature to smooth the OBV line, aiding in the identification of the overarching trend.
Dynamic Statistics Label: A floating label provides real-time updates on essential statistics like the Rate of Percentage Change (RPC) of OBV, the last divergences, and bars since the last divergences.
Inputs:
Pivot Lookback Right and Pivot Lookback Left: Define the lookback periods for identifying pivot points in the OBV line.
Max of Lookback Range and Min of Lookback Range: Define the range for considering divergences.
RPC Period: Defines the period for calculating the Rate of Percentage Change of the OBV.
MA Period: Defines the period for the optional moving average of the OBV.
Plot Bullish, Plot Hidden Bullish, Plot Bearish, Plot Hidden Bearish: Toggle visibility of respective divergences.
Plot Moving Average: Toggle visibility of the OBV moving average.
Usage:
Add the script to your TradingView chart.
Tailor the input parameters in the settings panel to align with your analysis requirements.
The divergences, OBV line, and optional moving average will be plotted on your chart, with a dynamic label displaying real-time statistics.
Set up alerts to be notified of identified divergences, enabling timely decision-making.
Alerts:
Regular bullish/bearish divergence in OBV found: Triggered when a regular bullish or bearish divergence is identified.
Hidden bullish/bearish divergence in OBV found: Triggered when a hidden bullish or bearish divergence is identified.
Underlying Concepts:
The OBV Divergences indicator is rooted in the principle that volume precedes price movement. When prices are rising with increased volume, it suggests that buying pressure is prevailing and may lead to continued upward momentum. Conversely, rising prices with decreasing volume might indicate a lack of buying conviction and could signal a potential price reversal. The identification of divergences between price and OBV can therefore serve as a powerful signal for traders. These examples can be seen below in the image
The Moving Average of the OBV further aids in understanding the prevailing trend by smoothing out the OBV line, providing a clearer picture of the market's longer-term momentum. The Rate of Percentage Change (RPC) provides insight into the momentum of volume, offering an additional layer of analysis. Together, these additional features enhance the core OBV analysis, enabling a more nuanced understanding of volume dynamics fundamental for making more informed trading decisions.
License:
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, you can obtain one at Mozilla Public License 2.0.
RSI Divergences on price chart - Open Source CodeHello Traders,
I have some exciting news to share with you all! Recently, I came across an incredible RSI divergences indicator developed by Socrate_FR. This indicator, in my opinion has an exceptional accuracy in detecting RSI divergences. However, during my exploration of other indicators in the TradingView library that display signals on the price chart, I found that many of them were often unreliable and missed out on important divergences.One such example is the Prices / RSI Divergences Detector by vtllr. Although vtllr did an amazing job with the indicator, I noticed that it didn't capture several relevant divergences accurately.
This observation inspired me to enhance the most accurate RSI divergences indicator available by showcasing the signals directly on the price chart. By doing so, I aimed to address the issue of unreliable and missed divergences in other price chart indicators. With this enhanced version, you can now effortlessly identify and track RSI regular divergences on the price chart itself:
-Regular bullish divergence occurs when the price forms lower lows while the RSI indicator forms higher lows. It suggests a potential bullish reversal (green line plot)
-Regular bearish divergence occurs when the price forms higher highs while the RSI indicator forms lower highs. It suggests a potential bearish reversal (red line plot)
Another key mofication:
This Indicator introduces a simpler approach compared to the original Socrate indicator. While Socrate differentiated divergences into eight types for both bullish and bearish scenarios, our enhanced version focuses on two distinct categories: small and big divergences. This decision was made to provide a clearer and more user-friendly experience. By condensing the divergence types into two groups, traders can easily identify and analyze the significance of the divergences without getting overwhelmed by excessive variations. The small divergences represent relatively minor divergences, while the big divergences indicate stronger and more significant signals.
-Small divergences represent relatively minor divergences (plotshape small circle)
-Big divergences indicate stronger signals (plotshape big circle)
I firmly believe that this enhanced RSI Divergences Indicator will be an invaluable tool for traders who rely on RSI analysis in their trading strategies. It combines the accuracy of Socrate_FR's original indicator with the enhanced visibility of signals on the price chart, ensuring you never miss any important divergences.
If you're interested in trying out this enhanced version of the indicator, please feel free to access the open-source code. If you want to visit and try the original version of the code visit Socrate_FR profile.
www.tradingview.com
Keep attention!
It is important to note that no trading indicator or strategy is foolproof, and there is always a risk of losses in trading. While this indicator may provide useful information for making conclusions, it should not be used as the sole basis for making trading decisions. Traders should always use proper risk management techniques and consider multiple factors when making trading decisions.
Support us:)
If you find this new indicator helpful in your trading analysis, I would greatly appreciate your support! Please consider to follow, giving it a like, leaving feedback, or sharing it with your trading network. Your engagement will not only help me improve this tool but will also help other traders discover it and benefit from its features. Thank you for your support!
RSI Divergences (Regular, Hidden, Exaggerated)RSI Divergences (Regular, Hidden, Exaggerated)
This indicator detects and visually highlights all major types of RSI divergences on your chart: Regular, Hidden, and Exaggerated divergences, both bullish and bearish.
Key Features:
Calculates RSI based on a user-defined length and timeframe that automatically matches your chart's timeframe.
Identifies pivot highs and lows on both price and RSI using customizable pivot left/right bars.
Detects divergences when RSI and price movements disagree, signaling potential trend reversals or continuation.
Differentiates between three types of divergences:
Regular Divergence: Classic signal for possible trend reversal.
Hidden Divergence: Often indicates trend continuation.
Exaggerated Divergence: A less common form signaling momentum changes.
Draws clear colored lines and labels on the RSI pane for each divergence, using green for bullish and red for bearish signals.
Includes RSI overbought (70) and oversold (30) bands with gradient fills to help visualize RSI zones.
Efficient use of arrays to track pivots and manage plotting history for smooth performance.
Usage:
Ideal for traders looking to leverage RSI divergences for better timing entries and exits in trending and range-bound markets. The script is fully customizable and works seamlessly across different timeframes
RSI Instant DivergenceThis script detects RSI divergence—a common signal indicating potential trend reversals. It compares price action and RSI behavior to identify two types of divergences:
1- Bearish Divergence (Sell Signal):
Occurs when the price forms a higher high while RSI drops (weaker momentum).
A label appears above the candle, and an alert is triggered: "Divergence: Sell Signal."
2 -Bullish Divergence (Buy Signal):
Occurs when the price makes a lower low while RSI rises (stronger momentum).
A label appears below the candle, and an alert is triggered: "Divergence: Buy Signal."
The labels are color-coded (orange for sell, blue for buy) and include detailed RSI and price info in a tooltip. Alerts help you act immediately when divergence is detected.
This tool is perfect for spotting potential trend reversals and refining your entry/exit strategy. Let me know if you'd like to customize it further! 😊
Tooltip Feature: Each label includes a tooltip with precise RSI and price details (current and previous values) as well as the percentage change in RSI, giving you deeper insight into the divergence. This tool is great for identifying trend reversal points and includes visual labels, tooltips, and alerts to make real-time trading decisions easier. Let me know if you’d like adjustments!
CVD Divergences (cdikici71 x tncylyv)CVD Divergence
Summary
This indicator brings the powerful and creative divergence detection logic from @cdikici71's popular "cd_RSI_Divergence_Cx" script to the world of volume analysis.
While RSI is a fantastic momentum tool, I personally choose to rely on volume as a primary source of truth. This script was born from the desire to see how true buying and selling pressure—measured by Cumulative Volume Delta (CVD)—diverges from price action. It takes the brilliant engine built by @cdikici71 and applies it to CVD, offering a unique look into market conviction.
What is Cumulative Volume Delta (CVD)?
CVD is a running total of volume that transacted at the ask price (buying) minus volume that transacted at the bid price (selling). In simple terms, it shows whether buyers or sellers have been more aggressive over a period. A rising CVD suggests net buying pressure, while a falling CVD suggests net selling pressure.
Core Features
• Divergence Engine by @cdikici71: The script uses the exact same two powerful methods for finding divergences as the original RSI version:
o Alignment with HTF Sweep: The default, cleaner method for finding high-probability divergences.
o All: A more sensitive method that finds all possible divergences.
• Anchored CVD Periods: You can choose to reset the CVD calculation on a Daily, Weekly, or Monthly basis to analyze buying and selling pressure within specific periods. Or, you can leave it on Continuous to see the all-time flow.
• Automatic Higher Timeframe (HTF) Alignment: To remove the guesswork, the "Auto-Align HTF" option will automatically select a logical higher timeframe for divergence analysis based on your current chart (e.g., 15m chart uses 4H for divergence, 1H chart uses 1D, etc.). You can also turn this off for full manual control.
• Fully Customizable Information Table: An on-screen table keeps you updated on the divergence status. You can easily adjust its Position and Size in the settings to fit your chart layout.
• Built-in Alerts: Alerts are configured for both Bullish and Bearish divergences to notify you as soon as they occur.
How to Use This Indicator
The principle is the same as any divergence strategy, but with the conviction of volume behind it.
• 🔴 Bearish Divergence: Price makes a Higher High, but the CVD makes a Lower High or an equal high. This suggests that the buying pressure is weakening and may not be strong enough to support the new price high.
• 🟢 Bullish Divergence: Price makes a Lower Low, but the CVD makes a Higher Low or an equal low. This suggests that selling pressure is exhausting and the market may be ready for a reversal.
Always use divergence signals as a confluence with your own analysis, support/resistance levels, and market structure.
Huge Thanks and Credit
This script would not exist without the brilliant and creative work of @cdikici71. The entire divergence detection engine, the visualization style, and the core logic are based on his original masterpiece, "cd_RSI_Divergence_Cx". I have simply adapted his framework to a different data source.
If you find this indicator useful, please go and show your support for his original work!
________________________________________
Disclaimer: This is a tool for analysis, not a financial advice signal service. Please use it responsibly as part of a complete trading strategy.
Ultimate RSI [captainua]Ultimate RSI
Overview
This indicator combines multiple RSI calculations with volume analysis, divergence detection, and trend filtering to provide a comprehensive RSI-based trading system. The script calculates RSI using three different periods (6, 14, 24) and applies various smoothing methods to reduce noise while maintaining responsiveness. The combination of these features creates a multi-layered confirmation system that reduces false signals by requiring alignment across multiple indicators and timeframes.
The script includes optimized configuration presets for instant setup: Scalping, Day Trading, Swing Trading, and Position Trading. Simply select a preset to instantly configure all settings for your trading style, or use Custom mode for full manual control. All settings include automatic input validation to prevent configuration errors and ensure optimal performance.
Configuration Presets
The script includes preset configurations optimized for different trading styles, allowing you to instantly configure the indicator for your preferred trading approach. Simply select a preset from the "Configuration Preset" dropdown menu:
- Scalping: Optimized for fast-paced trading with shorter RSI periods (4, 7, 9) and minimal smoothing. Noise reduction is automatically disabled, and momentum confirmation is disabled to allow faster signal generation. Designed for quick entries and exits in volatile markets.
- Day Trading: Balanced configuration for intraday trading with moderate RSI periods (6, 9, 14) and light smoothing. Momentum confirmation is enabled for better signal quality. Ideal for day trading strategies requiring timely but accurate signals.
- Swing Trading: Configured for medium-term positions with standard RSI periods (14, 14, 21) and moderate smoothing. Provides smoother signals suitable for swing trading timeframes. All noise reduction features remain active.
- Position Trading: Optimized for longer-term trades with extended RSI periods (24, 21, 28) and heavier smoothing. Filters are configured for highest-quality signals. Best for position traders holding trades over multiple days or weeks.
- Custom: Full manual control over all settings. All input parameters are available for complete customization. This is the default mode and maintains full backward compatibility with previous versions.
When a preset is selected, it automatically adjusts RSI periods, smoothing lengths, and filter settings to match the trading style. The preset configurations ensure optimal settings are applied instantly, eliminating the need for manual configuration. All settings can still be manually overridden if needed, providing flexibility while maintaining ease of use.
Input Validation and Error Prevention
The script includes comprehensive input validation to prevent configuration errors:
- Cross-Input Validation: Smoothing lengths are automatically validated to ensure they are always less than their corresponding RSI period length. If you set a smoothing length greater than or equal to the RSI length, the script automatically adjusts it to (RSI Length - 1). This prevents logical errors and ensures valid configurations.
- Input Range Validation: All numeric inputs have minimum and maximum value constraints enforced by TradingView's input system, preventing invalid parameter values.
- Smart Defaults: Preset configurations use validated default values that are tested and optimized for each trading style. When switching between presets, all related settings are automatically updated to maintain consistency.
Core Calculations
Multi-Period RSI:
The script calculates RSI using the standard Wilder's RSI formula: RSI = 100 - (100 / (1 + RS)), where RS = Average Gain / Average Loss over the specified period. Three separate RSI calculations run simultaneously:
- RSI(6): Uses 6-period lookback for high sensitivity to recent price changes, useful for scalping and early signal detection
- RSI(14): Standard 14-period RSI for balanced analysis, the most commonly used RSI period
- RSI(24): Longer 24-period RSI for trend confirmation, provides smoother signals with less noise
Each RSI can be smoothed using EMA, SMA, RMA (Wilder's smoothing), WMA, or Zero-Lag smoothing. Zero-Lag smoothing uses the formula: ZL-RSI = RSI + (RSI - RSI ) to reduce lag while maintaining signal quality. You can apply individual smoothing lengths to each RSI period, or use global smoothing where all three RSIs share the same smoothing length.
Dynamic Overbought/Oversold Thresholds:
Static thresholds (default 70/30) are adjusted based on market volatility using ATR. The formula: Dynamic OB = Base OB + (ATR × Volatility Multiplier × Base Percentage / 100), Dynamic OS = Base OS - (ATR × Volatility Multiplier × Base Percentage / 100). This adapts to volatile markets where traditional 70/30 levels may be too restrictive. During high volatility, the dynamic thresholds widen, and during low volatility, they narrow. The thresholds are clamped between 0-100 to remain within RSI bounds. The ATR is cached for performance optimization, updating on confirmed bars and real-time bars.
Adaptive RSI Calculation:
An adaptive RSI adjusts the standard RSI(14) based on current volatility relative to average volatility. The calculation: Adaptive Factor = (Current ATR / SMA of ATR over 20 periods) × Volatility Multiplier. If SMA of ATR is zero (edge case), the adaptive factor defaults to 0. The adaptive RSI = Base RSI × (1 + Adaptive Factor), clamped to 0-100. This makes the indicator more responsive during high volatility periods when traditional RSI may lag. The adaptive RSI is used for signal generation (buy/sell signals) but is not plotted on the chart.
Overbought/Oversold Fill Zones:
The script provides visual fill zones between the RSI line and the threshold lines when RSI is in overbought or oversold territory. The fill logic uses inclusive conditions: fills are shown when RSI is currently in the zone OR was in the zone on the previous bar. This ensures complete coverage of entry and exit boundaries. A minimum gap of 0.1 RSI points is maintained between the RSI plot and threshold line to ensure reliable polygon rendering in TradingView. The fill uses invisible plots at the threshold levels and the RSI value, with the fill color applied between them. You can select which RSI (6, 14, or 24) to use for the fill zones.
Divergence Detection
Regular Divergence:
Bullish divergence: Price makes a lower low (current low < lowest low from previous lookback period) while RSI makes a higher low (current RSI > lowest RSI from previous lookback period). Bearish divergence: Price makes a higher high (current high > highest high from previous lookback period) while RSI makes a lower high (current RSI < highest RSI from previous lookback period). The script compares current price/RSI values to the lowest/highest values from the previous lookback period using ta.lowest() and ta.highest() functions with index to reference the previous period's extreme.
Pivot-Based Divergence:
An enhanced divergence detection method that uses actual pivot points instead of simple lowest/highest comparisons. This provides more accurate divergence detection by identifying significant pivot lows/highs in both price and RSI. The pivot-based method uses a tolerance-based approach with configurable constants: 1% tolerance for price comparisons (priceTolerancePercent = 0.01) and 1.0 RSI point absolute tolerance for RSI comparisons (pivotTolerance = 1.0). Minimum divergence threshold is 1.0 RSI point (minDivergenceThreshold = 1.0). It looks for two recent pivot points and compares them: for bullish divergence, price makes a lower low (at least 1% lower) while RSI makes a higher low (at least 1.0 point higher). This method reduces false divergences by requiring actual pivot points rather than just any low/high within a period. When enabled, pivot-based divergence replaces the traditional method for more accurate signal generation.
Strong Divergence:
Regular divergence is confirmed by an engulfing candle pattern. Bullish engulfing requires: (1) Previous candle is bearish (close < open ), (2) Current candle is bullish (close > open), (3) Current close > previous open, (4) Current open < previous close. Bearish engulfing is the inverse: previous bullish, current bearish, current close < previous open, current open > previous close. Strong divergence signals are marked with visual indicators (🐂 for bullish, 🐻 for bearish) and have separate alert conditions.
Hidden Divergence:
Continuation patterns that signal trend continuation rather than reversal. Bullish hidden divergence: Price makes a higher low (current low > lowest low from previous period) but RSI makes a lower low (current RSI < lowest RSI from previous period). Bearish hidden divergence: Price makes a lower high (current high < highest high from previous period) but RSI makes a higher high (current RSI > highest RSI from previous period). These patterns indicate the trend is likely to continue in the current direction.
Volume Confirmation System
Volume threshold filtering requires current volume to exceed the volume SMA multiplied by the threshold factor. The formula: Volume Confirmed = Volume > (Volume SMA × Threshold). If the threshold is set to 0.1 or lower, volume confirmation is effectively disabled (always returns true). This allows you to use the indicator without volume filtering if desired.
Volume Climax is detected when volume exceeds: Volume SMA + (Volume StdDev × Multiplier). This indicates potential capitulation moments where extreme volume accompanies price movements. Volume Dry-Up is detected when volume falls below: Volume SMA - (Volume StdDev × Multiplier), indicating low participation periods that may produce unreliable signals. The volume SMA is cached for performance, updating on confirmed and real-time bars.
Multi-RSI Synergy
The script generates signals when multiple RSI periods align in overbought or oversold zones. This creates a confirmation system that reduces false signals. In "ALL" mode, all three RSIs (6, 14, 24) must be simultaneously above the overbought threshold OR all three must be below the oversold threshold. In "2-of-3" mode, any two of the three RSIs must align in the same direction. The script counts how many RSIs are in each zone: twoOfThreeOB = ((rsi6OB ? 1 : 0) + (rsi14OB ? 1 : 0) + (rsi24OB ? 1 : 0)) >= 2.
Synergy signals require: (1) Multi-RSI alignment (ALL or 2-of-3), (2) Volume confirmation, (3) Reset condition satisfied (enough bars since last synergy signal), (4) Additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance). Separate reset conditions track buy and sell signals independently. The reset condition uses ta.barssince() to count bars since the last trigger, returning true if the condition never occurred (allowing first signal) or if enough bars have passed.
Regression Forecasting
The script uses historical RSI values to forecast future RSI direction using four methods. The forecast horizon is configurable (1-50 bars ahead). Historical data is collected into an array, and regression coefficients are calculated based on the selected method.
Linear Regression: Calculates the least-squares fit line (y = mx + b) through the last N RSI values. The calculation: meanX = sumX / horizon, meanY = sumY / horizon, denominator = sumX² - horizon × meanX², m = (sumXY - horizon × meanX × meanY) / denominator, b = meanY - m × meanX. The forecast projects this line forward: forecast = b + m × i for i = 1 to horizon.
Polynomial Regression: Fits a quadratic curve (y = ax² + bx + c) to capture non-linear trends. The system of equations is solved using Cramer's rule with a 3×3 determinant. If the determinant is too small (< 0.0001), the system falls back to linear regression. Coefficients are calculated by solving: n×c + sumX×b + sumX²×a = sumY, sumX×c + sumX²×b + sumX³×a = sumXY, sumX²×c + sumX³×b + sumX⁴×a = sumX²Y. Note: Due to the O(n³) computational complexity of polynomial regression, the forecast horizon is automatically limited to a maximum of 20 bars when using polynomial regression to maintain optimal performance. If you set a horizon greater than 20 bars with polynomial regression, it will be automatically capped at 20 bars.
Exponential Smoothing: Applies exponential smoothing with adaptive alpha = 2/(horizon+1). The smoothing iterates from oldest to newest value: smoothed = alpha × series + (1 - alpha) × smoothed. Trend is calculated by comparing current smoothed value to an earlier smoothed value (at 60% of horizon): trend = (smoothed - earlierSmoothed) / (horizon - earlierIdx). Forecast: forecast = base + trend × i.
Moving Average: Uses the difference between short MA (horizon/2) and long MA (horizon) to estimate trend direction. Trend = (maShort - maLong) / (longLen - shortLen). Forecast: forecast = maShort + trend × i.
Confidence bands are calculated using RMSE (Root Mean Squared Error) of historical forecast accuracy. The error calculation compares historical values with forecast values: RMSE = sqrt(sumSquaredError / count). If insufficient data exists, it falls back to calculating standard deviation of recent RSI values. Confidence bands = forecast ± (RMSE × confidenceLevel). All forecast values and confidence bands are clamped to 0-100 to remain within RSI bounds. The regression functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, division-by-zero protection, and bounds checking for all array access operations to prevent runtime errors.
Strong Top/Bottom Detection
Strong buy signals require three conditions: (1) RSI is at its lowest point within the bottom period: rsiVal <= ta.lowest(rsiVal, bottomPeriod), (2) RSI is below the oversold threshold minus a buffer: rsiVal < (oversoldThreshold - rsiTopBottomBuffer), where rsiTopBottomBuffer = 2.0 RSI points, (3) The absolute difference between current RSI and the lowest RSI exceeds the threshold value: abs(rsiVal - ta.lowest(rsiVal, bottomPeriod)) > threshold. This indicates a bounce from extreme levels with sufficient distance from the absolute low.
Strong sell signals use the inverse logic: RSI at highest point, above overbought threshold + rsiTopBottomBuffer (2.0 RSI points), and difference from highest exceeds threshold. Both signals also require: volume confirmation, reset condition satisfied (separate reset for buy vs sell), and all additional filters passed (RSI50, Trend, ADX, Volume Dry-Up avoidance).
The reset condition uses separate logic for buy and sell: resetCondBuy checks bars since isRSIAtBottom, resetCondSell checks bars since isRSIAtTop. This ensures buy signals reset based on bottom conditions and sell signals reset based on top conditions, preventing incorrect signal blocking.
Filtering System
RSI(50) Filter: Only allows buy signals when RSI(14) > 50 (bullish momentum) and sell signals when RSI(14) < 50 (bearish momentum). This filter ensures you're buying in uptrends and selling in downtrends from a momentum perspective. The filter is optional and can be disabled. Recommended to enable for noise reduction.
Trend Filter: Uses a long-term EMA (default 200) to determine trend direction. Buy signals require price above EMA, sell signals require price below EMA. The EMA slope is calculated as: emaSlope = ema - ema . Optional EMA slope filter additionally requires the EMA to be rising (slope > 0) for buy signals or falling (slope < 0) for sell signals. This provides stronger trend confirmation by requiring both price position and EMA direction.
ADX Filter: Uses the Directional Movement Index (calculated via ta.dmi()) to measure trend strength. Signals only fire when ADX exceeds the threshold (default 20), indicating a strong trend rather than choppy markets. The ADX calculation uses separate length and smoothing parameters. This filter helps avoid signals during sideways/consolidation periods.
Volume Dry-Up Avoidance: Prevents signals during periods of extremely low volume relative to average. If volume dry-up is detected and the filter is enabled, signals are blocked. This helps avoid unreliable signals that occur during low participation periods.
RSI Momentum Confirmation: Requires RSI to be accelerating in the signal direction before confirming signals. For buy signals, RSI must be consistently rising (recovering from oversold) over the lookback period. For sell signals, RSI must be consistently falling (declining from overbought) over the lookback period. The momentum check verifies that all consecutive changes are in the correct direction AND the cumulative change is significant. This filter ensures signals only fire when RSI momentum aligns with the signal direction, reducing false signals from weak momentum.
Multi-Timeframe Confirmation: Requires higher timeframe RSI to align with the signal direction. For buy signals, current RSI must be below the higher timeframe RSI by at least the confirmation threshold. For sell signals, current RSI must be above the higher timeframe RSI by at least the confirmation threshold. This ensures signals align with the larger trend context, reducing counter-trend trades. The higher timeframe RSI is fetched using request.security() from the selected timeframe.
All filters use the pattern: filterResult = not filterEnabled OR conditionMet. This means if a filter is disabled, it always passes (returns true). Filters can be combined, and all must pass for a signal to fire.
RSI Centerline and Period Crossovers
RSI(50) Centerline Crossovers: Detects when the selected RSI source crosses above or below the 50 centerline. Bullish crossover: ta.crossover(rsiSource, 50), bearish crossover: ta.crossunder(rsiSource, 50). You can select which RSI (6, 14, or 24) to use for these crossovers. These signals indicate momentum shifts from bearish to bullish (above 50) or bullish to bearish (below 50).
RSI Period Crossovers: Detects when different RSI periods cross each other. Available pairs: RSI(6) × RSI(14), RSI(14) × RSI(24), or RSI(6) × RSI(24). Bullish crossover: fast RSI crosses above slow RSI (ta.crossover(rsiFast, rsiSlow)), indicating momentum acceleration. Bearish crossover: fast RSI crosses below slow RSI (ta.crossunder(rsiFast, rsiSlow)), indicating momentum deceleration. These crossovers can signal shifts in momentum before price moves.
StochRSI Calculation
Stochastic RSI applies the Stochastic oscillator formula to RSI values instead of price. The calculation: %K = ((RSI - Lowest RSI) / (Highest RSI - Lowest RSI)) × 100, where the lookback is the StochRSI length. If the range is zero, %K defaults to 50.0. %K is then smoothed using SMA with the %K smoothing length. %D is calculated as SMA of smoothed %K with the %D smoothing length. All values are clamped to 0-100. You can select which RSI (6, 14, or 24) to use as the source for StochRSI calculation.
RSI Bollinger Bands
Bollinger Bands are applied to RSI(14) instead of price. The calculation: Basis = SMA(RSI(14), BB Period), StdDev = stdev(RSI(14), BB Period), Upper = Basis + (StdDev × Deviation Multiplier), Lower = Basis - (StdDev × Deviation Multiplier). This creates dynamic zones around RSI that adapt to RSI volatility. When RSI touches or exceeds the bands, it indicates extreme conditions relative to recent RSI behavior.
Noise Reduction System
The script includes a comprehensive noise reduction system to filter false signals and improve accuracy. When enabled, signals must pass multiple quality checks:
Signal Strength Requirement: RSI must be at least X points away from the centerline (50). For buy signals, RSI must be at least X points below 50. For sell signals, RSI must be at least X points above 50. This ensures signals only trigger when RSI is significantly in oversold/overbought territory, not just near neutral.
Extreme Zone Requirement: RSI must be deep in the OB/OS zone. For buy signals, RSI must be at least X points below the oversold threshold. For sell signals, RSI must be at least X points above the overbought threshold. This ensures signals only fire in extreme conditions where reversals are more likely.
Consecutive Bar Confirmation: The signal condition must persist for N consecutive bars before triggering. This reduces false signals from single-bar spikes or noise. The confirmation checks that the signal condition was true for all bars in the lookback period.
Zone Persistence (Optional): Requires RSI to remain in the OB/OS zone for N consecutive bars, not just touch it. This ensures RSI is truly in an extreme state rather than just briefly touching the threshold. When enabled, this provides stricter filtering for higher-quality signals.
RSI Slope Confirmation (Optional): Requires RSI to be moving in the expected signal direction. For buy signals, RSI should be rising (recovering from oversold). For sell signals, RSI should be falling (declining from overbought). This ensures momentum is aligned with the signal direction. The slope is calculated by comparing current RSI to RSI N bars ago.
All noise reduction filters can be enabled/disabled independently, allowing you to customize the balance between signal frequency and accuracy. The default settings provide a good balance, but you can adjust them based on your trading style and market conditions.
Alert System
The script includes separate alert conditions for each signal type: buy/sell (adaptive RSI crossovers), divergence (regular, strong, hidden), crossovers (RSI50 centerline, RSI period crossovers), synergy signals, and trend breaks. Each alert type has its own alertcondition() declaration with a unique title and message.
An optional cooldown system prevents alert spam by requiring a minimum number of bars between alerts of the same type. The cooldown check: canAlert = na(lastAlertBar) OR (bar_index - lastAlertBar >= cooldownBars). If the last alert bar is na (first alert), it always allows the alert. Each alert type maintains its own lastAlertBar variable, so cooldowns are independent per signal type. The default cooldown is 10 bars, which is recommended for noise reduction.
Higher Timeframe RSI
The script can display RSI from a higher timeframe using request.security(). This allows you to see the RSI context from a larger timeframe (e.g., daily RSI on an hourly chart). The higher timeframe RSI uses RSI(14) calculation from the selected timeframe. This provides context for the current timeframe's RSI position relative to the larger trend.
RSI Pivot Trendlines
The script can draw trendlines connecting pivot highs and lows on RSI(6). This feature helps visualize RSI trends and identify potential trend breaks.
Pivot Detection: Pivots are detected using a configurable period. The script can require pivots to have minimum strength (RSI points difference from surrounding bars) to filter out weak pivots. Lower minPivotStrength values detect more pivots (more trendlines), while higher values detect only stronger pivots (fewer but more significant trendlines). Pivot confirmation is optional: when enabled, the script waits N bars to confirm the pivot remains the extreme, reducing repainting. Pivot confirmation functions (f_confirmPivotLow and f_confirmPivotHigh) are always called on every bar for consistency, as recommended by TradingView. When pivot bars are not available (na), safe default values are used, and the results are then used conditionally based on confirmation settings. This ensures consistent calculations and prevents calculation inconsistencies.
Trendline Drawing: Uptrend lines connect confirmed pivot lows (green), and downtrend lines connect confirmed pivot highs (red). By default, only the most recent trendline is shown (old trendlines are deleted when new pivots are confirmed). This keeps the chart clean and uncluttered. If "Keep Historical Trendlines" is enabled, the script preserves up to N historical trendlines (configurable via "Max Trendlines to Keep", default 5). When historical trendlines are enabled, old trendlines are saved to arrays instead of being deleted, allowing you to see multiple trendlines simultaneously for better trend analysis. The arrays are automatically limited to prevent memory accumulation.
Trend Break Detection: Signals are generated when RSI breaks above or below trendlines. Uptrend breaks (RSI crosses below uptrend line) generate buy signals. Downtrend breaks (RSI crosses above downtrend line) generate sell signals. Optional trend break confirmation requires the break to persist for N bars and optionally include volume confirmation. Trendline angle filtering can exclude flat/weak trendlines from generating signals (minTrendlineAngle > 0 filters out weak/flat trendlines).
How Components Work Together
The combination of multiple RSI periods provides confirmation across different timeframes, reducing false signals. RSI(6) catches early moves, RSI(14) provides balanced signals, and RSI(24) confirms longer-term trends. When all three align (synergy), it indicates strong consensus across timeframes.
Volume confirmation ensures signals occur with sufficient market participation, filtering out low-volume false breakouts. Volume climax detection identifies potential reversal points, while volume dry-up avoidance prevents signals during unreliable low-volume periods.
Trend filters align signals with the overall market direction. The EMA filter ensures you're trading with the trend, and the EMA slope filter adds an additional layer by requiring the trend to be strengthening (rising EMA for buys, falling EMA for sells).
ADX filter ensures signals only fire during strong trends, avoiding choppy/consolidation periods. RSI(50) filter ensures momentum alignment with the trade direction.
Momentum confirmation requires RSI to be accelerating in the signal direction, ensuring signals only fire when momentum is aligned. Multi-timeframe confirmation ensures signals align with higher timeframe trends, reducing counter-trend trades.
Divergence detection identifies potential reversals before they occur, providing early warning signals. Pivot-based divergence provides more accurate detection by using actual pivot points. Hidden divergence identifies continuation patterns, useful for trend-following strategies.
The noise reduction system combines multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to significantly reduce false signals. These filters work together to ensure only high-quality signals are generated.
The synergy system requires alignment across all RSI periods for highest-quality signals, significantly reducing false positives. Regression forecasting provides forward-looking context, helping anticipate potential RSI direction changes.
Pivot trendlines provide visual trend analysis and can generate signals when RSI breaks trendlines, indicating potential reversals or continuations.
Reset conditions prevent signal spam by requiring a minimum number of bars between signals. Separate reset conditions for buy and sell signals ensure proper signal management.
Usage Instructions
Configuration Presets (Recommended): The script includes optimized preset configurations for instant setup. Simply select your trading style from the "Configuration Preset" dropdown:
- Scalping Preset: RSI(4, 7, 9) with minimal smoothing. Noise reduction disabled, momentum confirmation disabled for fastest signals.
- Day Trading Preset: RSI(6, 9, 14) with light smoothing. Momentum confirmation enabled for better signal quality.
- Swing Trading Preset: RSI(14, 14, 21) with moderate smoothing. Balanced configuration for medium-term trades.
- Position Trading Preset: RSI(24, 21, 28) with heavier smoothing. Optimized for longer-term positions with all filters active.
- Custom Mode: Full manual control over all settings. Default behavior matches previous script versions.
Presets automatically configure RSI periods, smoothing lengths, and filter settings. You can still manually adjust any setting after selecting a preset if needed.
Getting Started: The easiest way to get started is to select a configuration preset matching your trading style (Scalping, Day Trading, Swing Trading, or Position Trading) from the "Configuration Preset" dropdown. This instantly configures all settings for optimal performance. Alternatively, use "Custom" mode for full manual control. The default configuration (Custom mode) shows RSI(6), RSI(14), and RSI(24) with their default smoothing. Overbought/oversold fill zones are enabled by default.
Customizing RSI Periods: Adjust the RSI lengths (6, 14, 24) based on your trading timeframe. Shorter periods (6) for scalping, standard (14) for day trading, longer (24) for swing trading. You can disable any RSI period you don't need.
Smoothing Selection: Choose smoothing method based on your needs. EMA provides balanced smoothing, RMA (Wilder's) is traditional, Zero-Lag reduces lag but may increase noise. Adjust smoothing lengths individually or use global smoothing for consistency. Note: Smoothing lengths are automatically validated to ensure they are always less than the corresponding RSI period length. If you set smoothing >= RSI length, it will be auto-adjusted to prevent invalid configurations.
Dynamic OB/OS: The dynamic thresholds automatically adapt to volatility. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Volume Confirmation: Set volume threshold to 1.2 (default) for standard confirmation, higher for stricter filtering, or 0.1 to disable volume filtering entirely.
Multi-RSI Synergy: Use "ALL" mode for highest-quality signals (all 3 RSIs must align), or "2-of-3" mode for more frequent signals. Adjust the reset period to control signal frequency.
Filters: Enable filters gradually to find your preferred balance. Start with volume confirmation, then add trend filter, then ADX for strongest confirmation. RSI(50) filter is useful for momentum-based strategies and is recommended for noise reduction. Momentum confirmation and multi-timeframe confirmation add additional layers of accuracy but may reduce signal frequency.
Noise Reduction: The noise reduction system is enabled by default with balanced settings. Adjust minSignalStrength (default 3.0) to control how far RSI must be from centerline. Increase requireConsecutiveBars (default 1) to require signals to persist longer. Enable requireZonePersistence and requireRsiSlope for stricter filtering (higher quality but fewer signals). Start with defaults and adjust based on your needs.
Divergence: Enable divergence detection and adjust lookback periods. Strong divergence (with engulfing confirmation) provides higher-quality signals. Hidden divergence is useful for trend-following strategies. Enable pivot-based divergence for more accurate detection using actual pivot points instead of simple lowest/highest comparisons. Pivot-based divergence uses tolerance-based matching (1% for price, 1.0 RSI point for RSI) for better accuracy.
Forecasting: Enable regression forecasting to see potential RSI direction. Linear regression is simplest, polynomial captures curves, exponential smoothing adapts to trends. Adjust horizon based on your trading timeframe. Confidence bands show forecast uncertainty - wider bands indicate less reliable forecasts.
Pivot Trendlines: Enable pivot trendlines to visualize RSI trends and identify trend breaks. Adjust pivot detection period (default 5) - higher values detect fewer but stronger pivots. Enable pivot confirmation (default ON) to reduce repainting. Set minPivotStrength (default 1.0) to filter weak pivots - lower values detect more pivots (more trendlines), higher values detect only stronger pivots (fewer trendlines). Enable "Keep Historical Trendlines" to preserve multiple trendlines instead of just the most recent one. Set "Max Trendlines to Keep" (default 5) to control how many historical trendlines are preserved. Enable trend break confirmation for more reliable break signals. Adjust minTrendlineAngle (default 0.0) to filter flat trendlines - set to 0.1-0.5 to exclude weak trendlines.
Alerts: Set up alerts for your preferred signal types. Enable cooldown to prevent alert spam. Each signal type has its own alert condition, so you can be selective about which signals trigger alerts.
Visual Elements and Signal Markers
The script uses various visual markers to indicate signals and conditions:
- "sBottom" label (green): Strong bottom signal - RSI at extreme low with strong buy conditions
- "sTop" label (red): Strong top signal - RSI at extreme high with strong sell conditions
- "SyBuy" label (lime): Multi-RSI synergy buy signal - all RSIs aligned oversold
- "SySell" label (red): Multi-RSI synergy sell signal - all RSIs aligned overbought
- 🐂 emoji (green): Strong bullish divergence detected
- 🐻 emoji (red): Strong bearish divergence detected
- 🔆 emoji: Weak divergence signals (if enabled)
- "H-Bull" label: Hidden bullish divergence
- "H-Bear" label: Hidden bearish divergence
- ⚡ marker (top of pane): Volume climax detected (extreme volume) - positioned at top for visibility
- 💧 marker (top of pane): Volume dry-up detected (very low volume) - positioned at top for visibility
- ↑ triangle (lime): Uptrend break signal - RSI breaks below uptrend line
- ↓ triangle (red): Downtrend break signal - RSI breaks above downtrend line
- Triangle up (lime): RSI(50) bullish crossover
- Triangle down (red): RSI(50) bearish crossover
- Circle markers: RSI period crossovers
All markers are positioned at the RSI value where the signal occurs, using location.absolute for precise placement.
Signal Priority and Interpretation
Signals are generated independently and can occur simultaneously. Higher-priority signals generally indicate stronger setups:
1. Multi-RSI Synergy signals (SyBuy/SySell) - Highest priority: Requires alignment across all RSI periods plus volume and filter confirmation. These are the most reliable signals.
2. Strong Top/Bottom signals (sTop/sBottom) - High priority: Indicates extreme RSI levels with strong bounce conditions. Requires volume confirmation and all filters.
3. Divergence signals - Medium-High priority: Strong divergence (with engulfing) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal.
4. Adaptive RSI crossovers - Medium priority: Buy when adaptive RSI crosses below dynamic oversold, sell when it crosses above dynamic overbought. These use volatility-adjusted RSI for more accurate signals.
5. RSI(50) centerline crossovers - Medium priority: Momentum shift signals. Less reliable alone but useful when combined with other confirmations.
6. RSI period crossovers - Lower priority: Early momentum shift indicators. Can provide early warning but may produce false signals in choppy markets.
Best practice: Wait for multiple confirmations. For example, a synergy signal combined with divergence and volume climax provides the strongest setup.
Chart Requirements
For proper script functionality and compliance with TradingView requirements, ensure your chart displays:
- Symbol name: The trading pair or instrument name should be visible
- Timeframe: The chart timeframe should be clearly displayed
- Script name: "Ultimate RSI " should be visible in the indicator title
These elements help traders understand what they're viewing and ensure proper script identification. The script automatically includes this information in the indicator title and chart labels.
Performance Considerations
The script is optimized for performance:
- ATR and Volume SMA are cached using var variables, updating only on confirmed and real-time bars to reduce redundant calculations
- Forecast line arrays are dynamically managed: lines are reused when possible, and unused lines are deleted to prevent memory accumulation
- Calculations use efficient Pine Script functions (ta.rsi, ta.ema, etc.) which are optimized by TradingView
- Array operations are minimized where possible, with direct calculations preferred
- Polynomial regression automatically caps the forecast horizon at 20 bars (POLYNOMIAL_MAX_HORIZON constant) to prevent performance degradation, as polynomial regression has O(n³) complexity. This safeguard ensures optimal performance even with large horizon settings
- Pivot detection includes edge case handling to ensure reliable calculations even on early bars with limited historical data. Regression forecasting functions include comprehensive safety checks: horizon validation (must not exceed array size), empty array handling, edge case handling for horizon=1 scenarios, and division-by-zero protection in all mathematical operations
The script should perform well on all timeframes. On very long historical data, forecast lines may accumulate if the horizon is large; consider reducing the forecast horizon if you experience performance issues. The polynomial regression performance safeguard automatically prevents performance issues for that specific regression type.
Known Limitations and Considerations
- Forecast lines are forward-looking projections and should not be used as definitive predictions. They provide context but are not guaranteed to be accurate.
- Dynamic OB/OS thresholds can exceed 100 or go below 0 in extreme volatility scenarios, but are clamped to 0-100 range. This means in very volatile markets, the dynamic thresholds may not widen as much as the raw calculation suggests.
- Volume confirmation requires sufficient historical volume data. On new instruments or very short timeframes, volume calculations may be less reliable.
- Higher timeframe RSI uses request.security() which may have slight delays on some data feeds.
- Regression forecasting requires at least N bars of history (where N = forecast horizon) before it can generate forecasts. Early bars will not show forecast lines.
- StochRSI calculation requires the selected RSI source to have sufficient history. Very short RSI periods on new charts may produce less reliable StochRSI values initially.
Practical Use Cases
The indicator can be configured for different trading styles and timeframes:
Swing Trading: Select the "Swing Trading" preset for instant optimal configuration. This preset uses RSI periods (14, 14, 21) with moderate smoothing. Alternatively, manually configure: Use RSI(24) with Multi-RSI Synergy in "ALL" mode, combined with trend filter (EMA 200) and ADX filter. This configuration provides high-probability setups with strong confirmation across multiple RSI periods.
Day Trading: Select the "Day Trading" preset for instant optimal configuration. This preset uses RSI periods (6, 9, 14) with light smoothing and momentum confirmation enabled. Alternatively, manually configure: Use RSI(6) with Zero-Lag smoothing for fast signal detection. Enable volume confirmation with threshold 1.2-1.5 for reliable entries. Combine with RSI(50) filter to ensure momentum alignment. Strong top/bottom signals work well for day trading reversals.
Trend Following: Enable trend filter (EMA) and EMA slope filter for strong trend confirmation. Use RSI(14) or RSI(24) with ADX filter to avoid choppy markets. Hidden divergence signals are useful for trend continuation entries.
Reversal Trading: Focus on divergence detection (regular and strong) combined with strong top/bottom signals. Enable volume climax detection to identify capitulation moments. Use RSI(6) for early reversal signals, confirmed by RSI(14) and RSI(24).
Forecasting and Planning: Enable regression forecasting with polynomial or exponential smoothing methods. Use forecast horizon of 10-20 bars for swing trading, 5-10 bars for day trading. Confidence bands help assess forecast reliability.
Multi-Timeframe Analysis: Enable higher timeframe RSI to see context from larger timeframes. For example, use daily RSI on hourly charts to understand the larger trend context. This helps avoid counter-trend trades.
Scalping: Select the "Scalping" preset for instant optimal configuration. This preset uses RSI periods (4, 7, 9) with minimal smoothing, disables noise reduction, and disables momentum confirmation for faster signals. Alternatively, manually configure: Use RSI(6) with minimal smoothing (or Zero-Lag) for ultra-fast signals. Disable most filters except volume confirmation. Use RSI period crossovers (RSI(6) × RSI(14)) for early momentum shifts. Set volume threshold to 1.0-1.2 for less restrictive filtering.
Position Trading: Select the "Position Trading" preset for instant optimal configuration. This preset uses extended RSI periods (24, 21, 28) with heavier smoothing, optimized for longer-term trades. Alternatively, manually configure: Use RSI(24) with all filters enabled (Trend, ADX, RSI(50), Volume Dry-Up avoidance). Multi-RSI Synergy in "ALL" mode provides highest-quality signals.
Practical Tips and Best Practices
Getting Started: The fastest way to get started is to select a configuration preset that matches your trading style. Simply choose "Scalping", "Day Trading", "Swing Trading", or "Position Trading" from the "Configuration Preset" dropdown to instantly configure all settings optimally. For advanced users, use "Custom" mode for full manual control. The default configuration (Custom mode) is balanced and works well across different markets. After observing behavior, customize settings to match your trading style.
Reducing Repainting: All signals are based on confirmed bars, minimizing repainting. The script uses confirmed bar data for all calculations to ensure backtesting accuracy.
Signal Quality: Multi-RSI Synergy signals in "ALL" mode provide the highest-quality signals because they require alignment across all three RSI periods. These signals have lower frequency but higher reliability. For more frequent signals, use "2-of-3" mode. The noise reduction system further improves signal quality by requiring multiple confirmations (signal strength, extreme zone, consecutive bars, optional zone persistence and RSI slope). Adjust noise reduction settings to balance signal frequency vs. accuracy.
Filter Combinations: Start with volume confirmation, then add trend filter for trend alignment, then ADX filter for trend strength. Combining all three filters significantly reduces false signals but also reduces signal frequency. Find your balance based on your risk tolerance.
Volume Filtering: Set volume threshold to 0.1 or lower to effectively disable volume filtering if you trade instruments with unreliable volume data or want to test without volume confirmation. Standard confirmation uses 1.2-1.5 threshold.
RSI Period Selection: RSI(6) is most sensitive and best for scalping or early signal detection. RSI(14) provides balanced signals suitable for day trading. RSI(24) is smoother and better for swing trading and trend confirmation. You can disable any RSI period you don't need to reduce visual clutter.
Smoothing Methods: EMA provides balanced smoothing with moderate lag. RMA (Wilder's smoothing) is traditional and works well for RSI. Zero-Lag reduces lag but may increase noise. WMA gives more weight to recent values. Choose based on your preference for responsiveness vs. smoothness.
Forecasting: Linear regression is simplest and works well for trending markets. Polynomial regression captures curves and works better in ranging markets. Exponential smoothing adapts to trends. Moving average method is most conservative. Use confidence bands to assess forecast reliability.
Divergence: Strong divergence (with engulfing confirmation) is more reliable than regular divergence. Hidden divergence indicates continuation rather than reversal, useful for trend-following strategies. Pivot-based divergence provides more accurate detection by using actual pivot points instead of simple lowest/highest comparisons. Adjust lookback periods based on your timeframe: shorter for day trading, longer for swing trading. Pivot divergence period (default 5) controls the sensitivity of pivot detection.
Dynamic Thresholds: Dynamic OB/OS thresholds automatically adapt to volatility. In volatile markets, thresholds widen; in calm markets, they narrow. Adjust the volatility multiplier and base percentage to fine-tune sensitivity. Higher values create wider thresholds in volatile markets.
Alert Management: Enable alert cooldown (default 10 bars, recommended) to prevent alert spam. Each alert type has its own cooldown, so you can set different cooldowns for different signal types. For example, use shorter cooldown for synergy signals (high quality) and longer cooldown for crossovers (more frequent). The cooldown system works independently for each signal type, preventing spam while allowing different signal types to fire when appropriate.
Technical Specifications
- Pine Script Version: v6
- Indicator Type: Non-overlay (displays in separate panel below price chart)
- Repainting Behavior: Minimal - all signals are based on confirmed bars, ensuring accurate backtesting results
- Performance: Optimized with caching for ATR and volume calculations. Forecast arrays are dynamically managed to prevent memory accumulation.
- Compatibility: Works on all timeframes (1 minute to 1 month) and all instruments (stocks, forex, crypto, futures, etc.)
- Edge Case Handling: All calculations include safety checks for division by zero, NA values, and boundary conditions. Reset conditions and alert cooldowns handle edge cases where conditions never occurred or values are NA.
- Reset Logic: Separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) ensure logical correctness.
- Input Parameters: 60+ customizable parameters organized into logical groups for easy configuration. Configuration presets available for instant setup (Scalping, Day Trading, Swing Trading, Position Trading, Custom).
- Noise Reduction: Comprehensive noise reduction system with multiple filters (signal strength, extreme zone, consecutive bars, zone persistence, RSI slope) to reduce false signals.
- Pivot-Based Divergence: Enhanced divergence detection using actual pivot points for improved accuracy.
- Momentum Confirmation: RSI momentum filter ensures signals only fire when RSI is accelerating in the signal direction.
- Multi-Timeframe Confirmation: Optional higher timeframe RSI alignment for trend confirmation.
- Enhanced Pivot Trendlines: Trendline drawing with strength requirements, confirmation, and trend break detection.
Technical Notes
- All RSI values are clamped to 0-100 range to ensure valid oscillator values
- ATR and Volume SMA are cached for performance, updating on confirmed and real-time bars
- Reset conditions handle edge cases: if a condition never occurred, reset returns true (allows first signal)
- Alert cooldown handles na values: if no previous alert, cooldown allows the alert
- Forecast arrays are dynamically sized based on horizon, with unused lines cleaned up
- Fill logic uses a minimum gap (0.1) to ensure reliable polygon rendering in TradingView
- All calculations include safety checks for division by zero and boundary conditions. Regression functions validate that horizon doesn't exceed array size, and all array access operations include bounds checking to prevent out-of-bounds errors
- The script uses separate reset conditions for buy signals (based on bottom conditions) and sell signals (based on top conditions) for logical correctness
- Background coloring uses a fallback system: dynamic color takes priority, then RSI(6) heatmap, then monotone if both are disabled
- Noise reduction filters are applied after accuracy filters, providing multiple layers of signal quality control
- Pivot trendlines use strength requirements to filter weak pivots, reducing noise in trendline drawing. Historical trendlines are stored in arrays and automatically limited to prevent memory accumulation when "Keep Historical Trendlines" is enabled
- Volume climax and dry-up markers are positioned at the top of the pane for better visibility
- All calculations are optimized with conditional execution - features only calculate when enabled (performance optimization)
- Input Validation: Automatic cross-input validation ensures smoothing lengths are always less than RSI period lengths, preventing configuration errors
- Configuration Presets: Four optimized preset configurations (Scalping, Day Trading, Swing Trading, Position Trading) for instant setup, plus Custom mode for full manual control
- Constants Management: Magic numbers extracted to documented constants for improved maintainability and easier tuning (pivot tolerance, divergence thresholds, fill gap, etc.)
- TradingView Function Consistency: All TradingView functions (ta.crossover, ta.crossunder, ta.atr, ta.lowest, ta.highest, ta.lowestbars, ta.highestbars, etc.) and custom functions that depend on historical results (f_consecutiveBarConfirmation, f_rsiSlopeConfirmation, f_rsiZonePersistence, f_applyAllFilters, f_rsiMomentum, f_forecast, f_confirmPivotLow, f_confirmPivotHigh) are called on every bar for consistency, as recommended by TradingView. Results are then used conditionally when needed. This ensures consistent calculations and prevents calculation inconsistencies.
Volume Divergence 11192It calculates a custom volume-weighted moving average using the pine_wma() function which takes into account whether each candle is bullish or bearish
It processes volume data through multiple layers of this custom moving average
It detects four types of divergences:
Regular Bullish Divergence: When price makes a lower low but volume makes a higher low (potential bullish reversal)
Hidden Bullish Divergence: When price makes a higher low but volume makes a lower low (potential bullish continuation)
Regular Bearish Divergence: When price makes a higher high but volume makes a lower high (potential bearish reversal)
Hidden Bearish Divergence: When price makes a lower high but volume makes a higher high (potential bearish continuation)
It visualizes these divergences on the chart with colored markers and labels
CVD Candles + Divergence (Pane) [NIRALA]This indicator provides a powerful way to analyze market dynamics by visualizing Cumulative Volume Delta (CVD) as candlesticks and automatically detecting divergences between price and order flow. It is designed to help traders spot potential trend exhaustion and reversals that may not be apparent from price action alone.
Key Concepts
Cumulative Volume Delta (CVD): CVD is a running total of the difference between buying and selling volume from market orders. A rising CVD indicates aggressive buying, while a falling CVD indicates aggressive selling. Unlike price, which can be influenced by passive limit orders, CVD shows the raw intent of aggressive market participants.
Divergence: A divergence occurs when price and CVD move in opposite directions. This signals a potential conflict between price action and the underlying order flow, often preceding a reversal.
Bearish Divergence: Price makes a new high, but CVD fails to make a new high (or makes a lower high). This suggests buying aggression is weakening despite the higher price, and a reversal to the downside may be imminent.
Bullish Divergence: Price makes a new low, but CVD fails to make a new low (or makes a higher low). This suggests selling pressure is drying up, and a reversal to the upside may be coming.
Features
CVD as Candlesticks: Plots CVD in a familiar OHLC candlestick format in a separate pane, providing a more intuitive view of order flow momentum and volatility compared to a simple line.
Automatic Divergence Detection: The script automatically identifies classic bullish and bearish divergences between price pivots and CVD pivots, drawing lines on both the main price chart and the indicator pane to clearly highlight them.
Multi-Timeframe Analysis: Calculates CVD from a user-defined lower timeframe, offering a more granular and precise view of the order flow that builds up a single candle on your chart.
Customizable Pivot Lookbacks: Allows you to adjust the sensitivity of the pivot detection for finding both short-term and long-term divergences.
Alerts: Includes built-in alerts that can notify you when a new bullish or bearish divergence is confirmed.
How to Use
Look for High-Probability Setups: This indicator is most powerful when its signals appear at key areas of support or resistance. A divergence at a major price level is a much stronger signal than one in the middle of a range.
Confirm with Price Action: Do not trade on a divergence signal alone. Wait for a confirmation candle (e.g., a bearish engulfing candle after a bearish divergence, or a bullish hammer after a bullish divergence) before considering an entry.
Combine with Your Strategy: Use this indicator as a confirmation tool to enhance your existing trading strategy. For example, if your primary strategy gives a sell signal and this indicator simultaneously prints a bearish divergence, it significantly increases the probability of the trade.
This tool is designed for discretionary traders looking to add a layer of order flow analysis to their decision-making process.
RSI and MACD Divergence IndicatorThe RSI and MACD Divergence Indicator is a custom Pine Script v6 indicator designed for TradingView that identifies and visualizes divergences between price movements and two technical indicators: the Relative Strength Index (RSI) and the Moving Average Convergence Divergence (MACD). Here's a brief explanation of its functionality:
Divergence Detection: The indicator detects both regular and hidden divergences for RSI, MACD (MACD Line), and Histogram. Regular bullish divergences occur when price makes a lower low but the indicator makes a higher low (suggesting a potential reversal upward), while regular bearish divergences occur when price makes a higher high but the indicator makes a lower high (suggesting a potential reversal downward). Hidden divergences indicate continuation patterns (e.g., higher low in price with a lower low in the indicator for bullish continuation).
Customizable Inputs:
Pivot Bars: Sets the number of bars used to confirm pivot highs and lows (default: 5).
RSI and MACD Parameters: Allows adjustment of RSI length (default: 14) and MACD settings (fast: 12, slow: 26, signal: 9).
Toggle Options: Enables/disables detection of regular and hidden divergences for RSI, MACD, and Histogram individually.
Confirmation: Option to wait for pivot confirmation (default: true), delaying divergence display until the pivot is fully formed.
Show Only Last Divergence: Toggles between showing only the most recent divergence (default: true) or all detected divergences (false), with previous lines and labels cleared when true.
Minimum Divergences: Sets the minimum number of divergence types required at a pivot to display (default: 1, max: 6).
Maximum Pivot Points: Limits the number of historical pivot points to check (default: 10).
Maximum Bars to Check: Restricts analysis to the last specified number of bars (default: 500).
Visualization:
Draws lines connecting the price pivot points where divergences are detected, with customizable colors, widths, and styles (solid, dashed, dotted) for RSI and MACD.
Displays a single label per pivot with vertically stacked text listing all detected divergence types (e.g., "RSI Bull Div\nMACD Bull Div"), using semi-transparent backgrounds (green for bullish, red for bearish) and white text.
TechniTrend: Dynamic Pair CorrelationTechniTrend: Dynamic Pair Correlation
Description:
The TechniTrend: Dynamic Pair Correlation is a powerful and versatile indicator designed to track the correlation between two assets—whether cryptocurrencies, indices, or other financial instruments—across multiple timeframes. Understanding correlations can provide deep insights into market behavior, helping traders make informed decisions based on how two assets move in relation to each other.
Key Features:
Customizable Pair Selection: Compare any two assets (e.g., Bitcoin and DXY, Ethereum and SP500) to study how their price movements relate over time.
Multi-Timeframe Analysis: Simultaneously track correlations across different timeframes—standard, lower, and higher—providing a comprehensive view of market dynamics.
Dynamic Color Coding for Correlation Strength: Instantly spot correlations with visually intuitive colors—green for strong positive correlation, red for strong negative correlation, and yellow for neutral.
Heatmap Background: An easy-to-read background color heatmap highlights when correlations hit extreme levels, adding another layer of insight to your charts.
Real-Time Alerts: Get notified when correlations exceed your custom thresholds, signaling opportunities for potential breakouts, reversals, or divergences.
Divergence Detection: Automatically highlight moments when asset prices diverge, offering potential entry/exit points for smart trading decisions.
How to Use:
Asset Pair Comparison: Select two symbols to analyze their price correlation, such as BTC/USDT and DXY, or any other pair that fits your strategy.
Set Your Timeframes: Customize your standard, lower, and higher timeframes to monitor correlations at different intervals, allowing you to capture both short-term and long-term relationships.
Track Correlation Strength: Use dynamic color coding to quickly see how closely two assets are moving together. Strong correlations (positive or negative) could signal potential opportunities, while low correlations may indicate the absence of a strong trend.
Utilize Alerts: Receive real-time alerts when correlations cross your predefined thresholds, helping you take action when the market presents strong alignment or divergence.
Divergence Signals: Watch for divergence between the assets on multiple timeframes, which could indicate a potential trend reversal or a shift in market behavior.
Why It’s Essential:
Understanding the relationship between two assets can be a game changer for traders. Whether you're comparing Bitcoin to DXY, tracking the correlation between Ethereum and major indices, or evaluating two cryptocurrencies, this indicator gives you the tools to visualize and respond to market conditions with precision.
Perfect For:
Crypto traders looking to optimize strategies by monitoring the relationship between major cryptocurrencies and other assets.
Arbitrageurs seeking to capitalize on temporary pricing anomalies between correlated pairs.
Trend-followers aiming to catch large movements by detecting alignment or divergence between asset classes.
Portfolio managers monitoring how different asset classes impact each other to hedge or diversify investments.
By leveraging the TechniTrend: Dynamic Pair Correlation indicator, traders can gain deeper insights into market trends, correlations, and divergences, giving them an edge in fast-moving markets.
Extreme Pressure Zones Indicator (EPZ) [BullByte]Extreme Pressure Zones Indicator(EPZ)
The Extreme Pressure Zones (EPZ) Indicator is a proprietary market analysis tool designed to highlight potential overbought and oversold "pressure zones" in any financial chart. It does this by combining several unique measurements of price action and volume into a single, bounded oscillator (0–100). Unlike simple momentum or volatility indicators, EPZ captures multiple facets of market pressure: price rejection, trend momentum, supply/demand imbalance, and institutional (smart money) flow. This is not a random mashup of generic indicators; each component was chosen and weighted to reveal extreme market conditions that often precede reversals or strong continuations.
What it is?
EPZ estimates buying/selling pressure and highlights potential extreme zones with a single, bounded 0–100 oscillator built from four normalized components. Context-aware weighting adapts to volatility, trendiness, and relative volume. Visual tools include adaptive thresholds, confirmed-on-close extremes, divergence, an MTF dashboard, and optional gradient candles.
Purpose and originality (not a mashup)
Purpose: Identify when pressure is building or reaching potential extremes while filtering noise across regimes and symbols.
Originality: EPZ integrates price rejection, momentum cascade, pressure distribution, and smart money flow into one bounded scale with context-aware weighting. It is not a cosmetic mashup of public indicators.
Why a trader might use EPZ
EPZ provides a multi-dimensional gauge of market extremes that standalone indicators may miss. Traders might use it to:
Spot Reversals: When EPZ enters an "Extreme High" zone (high red), it implies selling pressure might soon dominate. This can hint at a topside reversal or at least a pause in rallies. Conversely, "Extreme Low" (green) can highlight bottom-fish opportunities. The indicator's divergence module (optional) also finds hidden bullish/bearish divergences between price and EPZ, a clue that price momentum is weakening.
Measure Momentum Shifts: Because EPZ blends momentum and volume, it reacts faster than many single metrics. A rising MPO indicates building bullish pressure, while a falling MPO shows increasing bearish pressure. Traders can use this like a refined RSI: above 50 means bullish bias, below 50 means bearish bias, but with context provided by the thresholds.
Filter Trades: In trend-following systems, one could require EPZ to be in the bullish (green) zone before taking longs, or avoid new trades when EPZ is extreme. In mean-reversion systems, one might specifically look to fade extremes flagged by EPZ.
Multi-Timeframe Confirmation: The dashboard can fetch a higher timeframe EPZ value. For example, you might trade a 15-minute chart only when the 60-minute EPZ agrees on pressure direction.
Components and how they're combined
Rejection (PRV) – Captures price rejection based on candle wicks and volume (see Price Rejection Volume).
Momentum Cascade (MCD) – Blends multiple momentum periods (3,5,8,13) into a normalized momentum score.
Pressure Distribution (PDI) – Measures net buy/sell pressure by comparing volume on up vs down candles.
Smart Money Flow (SMF) – An adaptation of money flow index that emphasizes unusual volume spikes.
Each of these components produces a 0–100 value (higher means more bullish pressure). They are then weighted and averaged into the final Market Pressure Oscillator (MPO), which is smoothed and scaled. By combining these four views, EPZ stands out as a comprehensive pressure gauge – the whole is greater than the sum of parts
Context-aware weighting:
Higher volatility → more PRV weight
Trendiness up (RSI of ATR > 25) → more MCD weight
Relative volume > 1.2x → more PDI weight
SMF holds a stable weight
The weighted average is smoothed and scaled into MPO ∈ with 50 as the neutral midline.
What makes EPZ stand out
Four orthogonal inputs (price action, momentum, pressure, flow) unified in a single bounded oscillator with consistent thresholds.
Adaptive thresholds (optional) plus robust extreme detection that also triggers on crossovers, so static thresholds work reliably too.
Confirm Extremes on Bar Close (default ON): dots/arrows/labels/alerts print on closed bars to avoid repaint confusion.
Clean dashboard, divergence tools, pre-alerts, and optional on-price gradients. Visual 3D layering uses offsets for depth only,no lookahead.
Recommended markets and timeframes
Best: liquid symbols (index futures, large-cap equities, major FX, BTC/ETH).
Timeframes: 5–15m (more signals; consider higher thresholds), 1H–4H (balanced), 1D (clear regimes).
Use caution on illiquid or very low TFs where wick/volume geometry is erratic.
Logic and thresholds
MPO ∈ ; 50 = neutral. Above 50 = bullish pressure; below 50 = bearish.
Static thresholds (defaults): thrHigh = 70, thrLow = 30; warning bands 5 pts inside extremes (65/35).
Adaptive thresholds (optional):
thrHigh = min(BaseHigh + 5, mean(MPO,100) + stdev(MPO,100) × ExtremeSensitivity)
thrLow = max(BaseLow − 5, mean(MPO,100) − stdev(MPO,100) × ExtremeSensitivity)
Extreme detection
High: MPO ≥ thrHigh with peak/slope or crossover filter.
Low: MPO ≤ thrLow with trough/slope or crossover filter.
Cooldown: 5 bars (default). A new extreme will not print until the cooldown elapses, even if MPO re-enters the zone.
Confirmation
"Confirm Extremes on Bar Close" (default ON) gates extreme markers, pre-alerts, and alerts to closed bars (non-repainting).
Divergences
Pivot-based bullish/bearish divergence; tags appear only after left/right bars elapse (lookbackPivot).
MTF
HTF MPO retrieved with lookahead_off; values can update intrabar and finalize at HTF close. This is disclosed and expected.
Inputs and defaults (key ones)
Core: Sensitivity=1.0; Analysis Period=14; Smoothing=3; Adaptive Thresholds=OFF.
Extremes: Base High=70, Base Low=30; Extreme Sensitivity=1.5; Confirm Extremes on Bar Close=ON; Cooldown=5; Dot size Small/Tiny.
Visuals: Heatmap ON; 3D depth optional; Strength bars ON; Pre-alerts OFF; Divergences ON with tags ON; Gradient candles OFF; Glow ON.
Dashboard: ON; Position=Top Right; Size=Normal; MTF ON; HTF=60m; compact overlay table on price chart.
Advanced caps: Max Oscillator Labels=80; Max Extreme Guide Lines=80; Divergence objects=60.
Dashboard: what each element means
Header: EPZ ANALYSIS.
Large readout: Current MPO; color reflects state (extreme, approaching, or neutral).
Status badge: "Extreme High/Low", "Approaching High/Low", "Bullish/Neutral/Bearish".
HTF cell (when MTF ON): Higher-timeframe MPO, color-coded vs extremes; updates intrabar, settles at HTF close.
Predicted (when MTF OFF): Simple MPO extrapolation using momentum/acceleration—illustrative only.
Thresholds: Current thrHigh/thrLow (static or adaptive).
Components: ASCII bars + values for PRV, MCD, PDI, SMF.
Market metrics: Volume Ratio (x) and ATR% of price.
Strength: Bar indicator of |MPO − 50| × 2.
Confidence: Heuristic gauge (100 in extremes, 70 in warnings, 50 with divergence, else |MPO − 50|). Convenience only, not probability.
How to read the oscillator
MPO Value (0–100): A reading of 50 is neutral. Values above ~55 are increasingly bullish (green), while below ~45 are increasingly bearish (red). Think of these as "market pressure".
Extreme Zones: When MPO climbs into the bright orange/red area (above the base-high line, default 70), the chart will display a dot and downward arrow marking that extreme. Traders often treat this as a sign to tighten stops or look for shorts. Similarly, a bright green dot/up-arrow appears when MPO falls below the base-low (30), hinting at a bullish setup.
Heatmap/Candles: If "Pressure Heatmap" is enabled, the background of the oscillator pane will fade green or red depending on MPO. Users can optionally color the price candles by MPO value (gradient candles) to see these extremes on the main chart.
Prediction Zone(optional): A dashed projection line extends the MPO forward by a small number of bars (prediction_bars) using current MPO momentum and acceleration. This is a heuristic extrapolation best used for short horizons (1–5 bars) to anticipate whether MPO may touch a warning or extreme zone. It is provisional and becomes less reliable with longer projection lengths — always confirm predicted moves with bar-close MPO and HTF context before acting.
Divergences: When price makes a higher high but EPZ makes a lower high (bearish divergence), the indicator can draw dotted lines and a "Bear Div" tag. The opposite (lower low price, higher EPZ) gives "Bull Div". These signals confirm waning momentum at extremes.
Zones: Warning bands near extremes; Extreme zones beyond thresholds.
Crossovers: MPO rising through 35 suggests easing downside pressure; falling through 65 suggests waning upside pressure.
Dots/arrows: Extreme markers appear on closed bars when confirmation is ON and respect the 5-bar cooldown.
Pre-alert dots (optional): Proximity cues in warning zones; also gated to bar close when confirmation is ON.
Histogram: Distance from neutral (50); highlights strengthening or weakening pressure.
Divergence tags: "Bear Div" = higher price high with lower MPO high; "Bull Div" = lower price low with higher MPO low.
Pressure Heatmap : Layered gradient background that visually highlights pressure strength across the MPO scale; adjustable intensity and optional zone overlays (warning / extreme) for quick visual scanning.
A typical reading: If the oscillator is rising from neutral towards the high zone (green→orange→red), the chart may see strong buying culminating in a stall. If it then turns down from the extreme, that peak EPZ dot signals sell pressure.
Alerts
EPZ: Extreme Context — fires on confirmed extremes (respects cooldown).
EPZ: Approaching Threshold — fires in warning zones if no extreme.
EPZ: Divergence — fires on confirmed pivot divergences.
Tip: Set alerts to "Once per bar close" to align with confirmation and avoid intrabar repaint.
Practical usage ideas
Trend continuation: In positive regimes (MPO > 50 and rising), pullbacks holding above 50 often precede continuation; mirror for bearish regimes.
Exhaustion caution: E High/E Low can mark exhaustion risk; many wait for MPO rollover or divergence to time fades or partial exits.
Adaptive thresholds: Useful on assets with shifting volatility regimes to maintain meaningful "extreme" levels.
MTF alignment: Prefer setups that agree with the HTF MPO to reduce countertrend noise.
Examples
Screenshots captured in TradingView Replay to freeze the bar at close so values don't fluctuate intrabar. These examples use default settings and are reproducible on the same bars; they are for illustration, not cherry-picking or performance claims.
Example 1 — BTCUSDT, 1h — E Low
MPO closed at 26.6 (below the 30 extreme), printing a confirmed E Low. HTF MPO is 26.6, so higher-timeframe pressure remains bearish. Components are subdued (Momentum/Pressure/Smart$ ≈ 29–37), with Vol Ratio ≈ 1.19x and ATR% ≈ 0.37%. A prior Bear Div flagged weakening impulse into the drop. With cooldown set to 5 bars, new extremes are rate-limited. Many traders wait for MPO to curl up and reclaim 35 or for a fresh Bull Div before considering countertrend ideas; if MPO cannot reclaim 35 and HTF stays weak, treat bounces cautiously. Educational illustration only.
Example 2 — ETHUSD, 30m — E High
A strong impulse pushed MPO into the extreme zone (≥ 70), printing a confirmed E High on close. Shortly after, MPO cooled to ~61.5 while a Bear Div appeared, showing momentum lag as price pushed a higher high. Volume and volatility were elevated (≈ 1.79x / 1.25%). With a 5-bar cooldown, additional extremes won't print immediately. Some treat E High as exhaustion risk—either waiting for MPO rollover under 65/50 to fade, or for a pullback that holds above 50 to re-join the trend if higher-timeframe pressure remains constructive. Educational illustration only.
Known limitations and caveats
The MPO line itself can change intrabar; extreme markers/alerts do not repaint when "Confirm Extremes on Bar Close" is ON.
HTF values settle at the close of the HTF bar.
Illiquid symbols or very low TFs can be noisy; consider higher thresholds or longer smoothing.
Prediction line (when enabled) is a visual extrapolation only.
For coders
Pine v6. MTF via request.security with lookahead_off.
Extremes include crossover triggers so static thresholds also yield E High/E Low.
Extreme markers and pre-alerts are gated by barstate.isconfirmed when confirmation is ON.
Arrays prune oldest objects to respect resource limits; defaults (80/80/60) are conservative for low TFs.
3D layering uses negative offsets purely for drawing depth (no lookahead).
Screenshot methodology:
To make labels legible and to demonstrate non-repainting behavior, the examples were captured in TradingView Replay with "Confirm Extremes on Bar Close" enabled. Replay is used only to freeze the bar at close so plots don't change intrabar. The examples use default settings, include both Extreme Low and Extreme High cases, and can be reproduced by scrolling to the same bars outside Replay. This is an educational illustration, not a performance claim.
Disclaimer
This script is for educational purposes only and does not constitute financial advice. Markets involve risk; past behavior does not guarantee future results. You are responsible for your own testing, risk management, and decisions.






















