Adaptive Bandpass Filter [Ehlers]

This is my latest bandpass filter - used to determine if a security is in a trend or cycle.
Now with an adaptive period setting! I use Ehlers in-phase & quadrature dominant cycle measurement ( IQ IFM) method to set the period dynamically.
This method favors longer periods which tend to produce smoother, albeit laggier bandpass oscillator plots. From my quick tests, I tend to have lag between 4 and 8 bars, depending on the Timeframe.
The lower timeframes tend to have more noise and thus produce more interfering frequencies that may cause lag.

  • Source: Select the data source to perform calc's on (close, open, etc...)
  • Period: Select the period to tune. Periods outside of this value will be attenuated (reduced)
  • Adaptive: Enable to have the I-Q IFM set the period for you (disables Period setting)
  • Bandpass Tolerance: Allow periods that are plus/minus the chosen period to pass.
  • Cycle Tolerance: Sensitivity of cycle mode. Lower values consider trends more frequent, higher values consider cycles more frequent.

Bandpass tolerance example: for instance, if this setting is 0.1 (10%) and Period is set to 20, then waves with a period of 18 - 22 will pass.

>How to read
  • Red line is the bandpass output, showing a lagged version of the dominant cycle representing the
  • Black lines are the upper and lower bounds for a cycle
  • Green Background indicates an uptrend
  • Red background indicates a downtrend
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.

Want to use this script on a chart?


Shouldn't line 31 be V := V + delta_IQ ? There's clearly no reason for the delta_IQ series variable otherwise.
Hem Aktie-screener Forex-screener Krypto-screener Ekonomisk kalender Om Diagramfunktioner Priser Tipsa en vän Ordningsregler Hjälpcenter Webbsidor och mäklarlösningar Widgets Diagramlösningar Lightweight Charting Library Blogg och nyheter Twitter
Profil Profilinställningar Konto och fakturering Hänvisade vänner Mynt Mina kölappar Hjälpcenter Privata meddelanden Chatt Logga ut