Multiple Divergences (UDTs - objects) - Educational

Jan 8, 2023

Static chart image
Price Action Based
Oscillators
Divergences
Pivot Based (Retrospective)

The Multiple Divergences (UDTs - objects) indicator identifies bullish and bearish regular divergences across multiple oscillators by utilizing pivot points and User-defined Types (UDTs) for precise historical tracking. This tool provides a multi-layered approach to trend reversal identification by cross-referencing price action pivots with the RSI, CCI, and MFI indicators.

Usage

The script detects regular divergences when price creates a higher high (bearish) or lower low (bullish) while the selected oscillators fail to confirm the move.

  • Oscillator Selection: Users can toggle RSI, CCI, and MFI independently. If a divergence is found on multiple oscillators simultaneously, a label will appear indicating the count (e.g., a "3" means all three oscillators confirmed the divergence).
  • Confirmation: Divergences are calculated based on pivot points defined by the "Left" and "Right" settings. A divergence is "unconfirmed" and represented by a dotted line until the right-hand side of the pivot is fully established. Once confirmed, the line becomes solid.
  • Pivot Filtering: The tool uses a unique "testline" logic to ensure that no intermediate price action pierces the trendline connecting the two pivot points, filtering out noisy or invalid divergence signals.

Details

This indicator is built using Pine Script™ User-defined Types (UDTs) and objects. On every bar, a custom object is created to store price data (High/Low) and oscillator values. These objects are stored in arrays with a configurable maximum size.

The execution logic follows these steps:

  1. Identify a price pivot high or low.
  2. Draw an internal "testline" to previous pivots stored in the array.
  3. Check if any intermediate bars pierce this testline.
  4. If the price testline is valid, search for a corresponding oscillator pivot within a 1-bar proximity.
  5. Validate the oscillator trend using a similar testline check to ensure no "piercing" occurred in the oscillator's path.

Settings

General Settings

  • Left: The number of bars to the left of a pivot that must be lower/higher than the pivot bar.
  • Right: The number of bars to the right of a pivot used for confirmation.
  • Max values: Controls the maximum size of the object arrays to manage memory and performance.

Oscillators (+ length)

  • RSI / CCI / MFI Toggle: Enables or disables the specific oscillator for divergence detection.
  • Length: The lookback period for the respective oscillator calculation.
  • Color Bullish/Bearish: Customizes the color of the divergence lines for each specific indicator.

FAQ

How do I access Multiple Divergences (UDTs - objects)?

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

Why are some divergence lines dotted?

Dotted lines indicate a divergence that has been detected but is not yet confirmed by the required number of bars to the right (the "Right" setting). They become solid once the pivot is confirmed.

Can I use this for hidden divergences?

No, this specific tool is designed to identify regular divergences, which are typically used to spot potential trend reversals rather than trend continuations.

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.