Sequentially Filtered Moving Average

The previously proposed sequential filter aimed to filter variations lower than a certain period, this allowed to remove noisy variations and retain only the closing price values that occurred after a consecutive up/down, however because of the noisy nature of the closing price large filtering was impossible, in order to tackle to this problem the same indicator using a simple moving average as input is proposed, this allow for smoother results.

We will see that the proposed indicator can provide an alternative moving average that could be used as slow moving average in crossover systems.

The Indicator

The length parameter as the same function as the one described in the sequential filter post, however here length also control the period of the moving average used input, in short larger values of length will return a smoother but less reactive output.

In blue the moving average with length = 200, and in red the moving average with length = 50.

It is interesting to see how the moving average remain flat during ranging/flat market periods

Unfortunately like the sequential filter the sequentially filtered moving average (SFMA) is not affected by large short term variations such as gaps or short term volatile events. This is because of the nature of the sequential filter to ignore movements amplitude and only focus on the variation period.

Moving Average Crossover System

The SFMA is equal to a simple moving average of period length when a consecutive up/down sequence of size length has occurred, else the SFMA is equal to its precedent value, therefore we could expect less crosses between a fast moving average and the SFMA as slow moving average.

We can see on the figure above that the fast moving average of period 50 (in green) cross more with the slow moving average of period 200 (in red) than with the SFMA of period 200 (in blue).

Crosses can occur at the same time as with the classical slow moving average (in red) or a bit later.


A new moving average based on the recently proposed sequential filter has been proposed, it can be seen that under a moving average crossover system the proposed moving average seems to be more effective at producing less crosses without necessarily doing it with an excessive lag, in fact the moving average has either lag (length-1)/2 or lag length.

In the future it could be interesting to provide an hybrid alternative that take into account volatility as well as variations period.

Thanks for reading !
Open-source Skript

Ganz im Sinne von TradingView hat der Autor dieses Skripts es als Open-Source veröffentlicht, damit Trader es verstehen und überprüfen können. Ein Hoch auf den Autor! Sie können es kostenlos verwenden, aber die Wiederverwendung dieses Codes in einer Publikation unterliegt den Hausregeln. Sie können das Skript den Favoriten hinzufügen, um es auf dem Chart zu verwenden.

Möchten Sie dieses Skript auf einem Chart verwenden?

Become a Patreon and get access to exclusive technical indicators!

You can also check out some of the indicators I made for luxalgo :


Thanks for sharing with the community
+2 Antworten
Hi Alex, Thanks for sharing your Great Work!!!!!!!!! It is Great!!!!!!!!!!!!! Looking forward to volatility element!
+2 Antworten
alexgrover sudhir.mehta
@sudhir.mehta, Working on it :)
+1 Antworten
neeraj289 alexgrover
@alexgrover, make it multi time frame also(MTF) higher time frame (HTF) that we can plot monthly on daily time frame....!
MarxBabu alexgrover
@alexgrover, Good Work really appreciate it . What is this Volatility element ? Can you help where it is available.
alexgrover MarxBabu
@MarxBabu, Thx, by volatility element i meant for the indicator to be able to fit better the price when this one is volatile without loosing much of the indicator underlying logic, however it was a really difficult task so idk if it will happen ^^'
Thanks Alex, you da man!
+1 Antworten
be my valentine :)
+1 Antworten
alexgrover syrinxflunki
@syrinxflunki, Unfortunately i'am not available :/ Srry
syrinxflunki alexgrover
@alexgrover, Sorry I meant your beautiful code :) :P
+1 Antworten