ROC Divergence

Mar 4, 2019

Static chart image
Signals
Oscillators
Divergences
Pivot Based (Retrospective)

The ROC Divergence indicator identifies Rate of Change pivot points and highlights potential trend reversals through price-indicator divergences. By monitoring the momentum of price changes, the tool aims to detect when a trend's velocity is decoupling from price action, signaling possible exhaustion.

Usage

The tool can be used to identify potential entry or exit points based on momentum shifts. Users can look for the following signals:

  • Bullish Divergence: Occurs when price makes lower lows while the ROC maintains higher lows, suggesting a potential upward reversal.
  • Bearish Divergence: Occurs when price makes higher highs while the ROC fails to reach new highs, suggesting a potential downward reversal.
  • Pivot Points: The indicator marks specific pivot highs and lows within the ROC oscillator, which can serve as early warnings of momentum changes before a full divergence is confirmed.

Details

The script calculates the Rate of Change (ROC) based on a user-defined length and source. It tracks the highest and lowest price and ROC values within a specific lookback window. Divergences are detected by comparing these extreme points. To reduce noise, the detection logic includes a one-candle delay to filter out rapidly repeating signals. Pivot points are identified when the ROC reaches a local extreme that is maintained for a specific duration.

Settings

  • Length: Sets the number of bars used to calculate the Rate of Change.
  • Source: Determines the price input used for the calculation (e.g., HLC3, Close).
  • Hide pivots?: Toggles the visibility of the "Pivot" labels on the oscillator.
  • Shorter labels?: When enabled, replaces text-based labels ("Bull", "Bear", "Pivot") with compact triangle shapes.
  • Div lookback period (bars)?: Defines the lookback window used to find the maximum and minimum values for divergence detection.

FAQ

How do I use the ROC Divergence?

You can use it to spot momentum exhaustion by looking for "Bull" or "Bear" labels, which indicate a mismatch between price movement and ROC momentum.

What is the difference between Pivots and Divergences in this script?

Pivots mark local peaks or troughs in momentum, while Divergences indicate a specific disagreement between the direction of price and the direction of momentum.

How can I access this tool?

You can get access on the LuxAlgo Library for charting platforms like TradingView, MetaTrader (MT4/MT5), and NinjaTrader for free.

Free access on the following platforms
tradingviewSymbolTradingView
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

ninjatraderNinjaTrader
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

metatrader4MetaTrader 4/5
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

thinkorswimThinkorswim
Open in your browser

This in-app browser is not compatible with Get Access from the library.

Tap the menu (...) at the top of your screen and select "Open in Browser", "Open in Safari", or "Open in Chrome" to continue.

Trading & investing are risky and many will lose money in connection with trading and investing activities. All content on this site is not intended to, and should not be, construed as financial advice. Decisions to buy, sell, hold or trade in securities, commodities and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results.

Hypothetical or Simulated performance results have certain limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not been executed, the results may have under-or-over compensated for the impact, if any, of certain market factors, including, but not limited to, lack of liquidity. Simulated trading programs in general are designed with the benefit of hindsight, and are based on historical information. No representation is being made that any account will or is likely to achieve profit or losses similar to those shown.

Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.

As a provider of technical analysis tools and strategies, we do not have access to the personal trading accounts or brokerage statements of our customers. As a result, we have no reason to believe our customers perform better or worse than traders as a whole based on any content, tool, or platform feature we provide.

Charts used on this site are by TradingView in which the majority of our technical indicators are built on. TradingView® is a registered trademark of TradingView, Inc. www.TradingView.com TradingView® has no affiliation with the owner, developer, or provider of the Services described herein.

Market data is provided by CBOE, CME Group, BarChart, Massive, CoinAPI. Select U.S. equities data is provided through Massive. CBOE BZX real-time U.S. equities data is licensed from CBOE and provided through BarChart. Real-time futures data is licensed from CME Group and provided through BarChart. Select cryptocurrency data, including major coins, is provided through CoinAPI. All data is provided “as is” and should be verified independently for trading purposes.

This does not represent our full Disclaimer. Please read our full disclaimer.

© 2026 LuxAlgo Global, LLC.