Divergence Finder [Multigrain]


This indicator is a divergence finder, designed to be overlayed on top of any oscillator. By utilizing an Exponential Moving Average, rather than built-in pivot functions, this allows for insignificant pivots of the oscillator to be filtered out. Additionally, by sampling more than just the previous oscillator pivot, this allows for divergences to be found that would otherwise be overlooked through other methods.


Interim Price Threshold
A new metric used when determining valid divergences is the Interim Price Threshold (IPT​). The IPT​ is the maximum percent delta the price is allowed to "poke-through" the divergent line at any given time.

Interim Oscillator Threshold
Similar to the Interim Price Threshold, the Interim Oscillator Threshold (IOT​) is the maximum percent delta the oscillator is allowed to "poke-through" the divergent line at any given time.

Dynamic Midline
Commonly a static midline is utilized when determining whether a divergence may be bullish or bearish. By utilizing the built-in percentile nearest rank function, the midline is automatically and dynamically determined based on the previous 250 bars. As a result certain divergences which may otherwise be overlooked will be discovered.


  • Oscillator Source: The oscillator in which you want find divergences from. Default to a MACD oscillator when unchanged.
  • Price Source: The price source in which you want to find divergences from.
  • Moving Average Length: The length of the exponential moving average used when determining the pivot points of the selected oscillator.


Divergence in technical analysis can indicate a significant bullish or bearish price move. A bullish divergence occurs when an asset's price makes a new low while an indicator begins to rise. A bearish divergence occurs when the price makes a new high but the indicator under consideration makes a lower high.
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?