Original code and description here:
https://www.mql5.com/en/code/17472
Modifications:
Corrected errors that prevent compiling indicators that won’t due to errors in the <SmoothAlgorithms.mqh> file.
I’ve also changed “int period” to “double period” in a lot of places so you can now use decimal periods on your custom indicators. This feature works, I’ve checked.