Signal filtering and smoothing functions

This article deals with some functions that be can used to filter signals of any kind. Each individual code snippet present in this blog post would operate as data smoothing or filtering in your own indicators or automated strategies development.Each function need its “Data” variable to be populate with with your own variable value. In these examples, the Close value is used. Please feel free to use them for any purpose!

John Ehlers’ “Super Smoother”

john ehler super smoother

 Laguerre Filter

laguerre filter


ALMA – Arnaud Legoux Moving Average

ALMA moving average


LowPass filter

lowpass filter

Hull moving average

hull moving average


Zero-Lag moving average

zero lag moving average

A lot of others digital filters exist, so I’ll post them here each time I’ll stumble upon new ones.

Of course anyone contribution would also be greatly appreciated! Thanks in advance for any kind of contribution that could benefit to the community! 🙂

Share this

  1. Renato Di Lorenzo • 08/01/2016 #

    Very nice review

  2. Wilko • 08/01/2016 #

    Great work, Nicolas!
    One question: Is there any way to apply an indicator to another indicator, without having to do a new indicator? For example, if I wanted to do a ZeroLag MA on an RSI value in a chart: Could I integrate in the code that user can select what value to apply the indicator to?

    • Nicolas • 08/01/2016 #

      You’ll have to rebuild an indicator on your own, with the RSI value.

  3. Wilko • 08/01/2016 #

    I thought I might have to. Thanks for answering anyway!

Register or