OPEN-SOURCE SCRIPT

ZLMA - Low-Lag Moving Average Based On An Alternative SMA Design

There can be many ways to make a simple moving average, you can either sum the current and the n-1 previous data points and divide the result by n, or you can do it more efficiently by first taking the cumulative sum of your data points, and subtracting the current cumulative sum result with the cumulative sum results n bars ago, then divide the result by n. This can be described by the following formulas:

a(t) = a(t-1) + price(t)
b(t) = (a(t) - a(t-n))/n


This method is the one used in order to allow the user to use a series as SMA period, more info here:

Functions Allowing Series As Length - PineCoders FAQ


Today we use this design in order to provide a pretty efficient low-lag moving average where the amount of lag of the moving average can be increased/decreased by the user.

THE INDICATOR

length control the period of the moving average, with larger value of length returning larger filtering amount. The lag setting in the other hand control the amount of lag of the moving average, with larger value of lag returning a moving average with less lag. The lag setting can't be lower than 1 or greater than 2, but values lower than 1 and greater than 0 would just return a moving average with larger filtering amount while values greater than 2 would create crazy wild overshoots.

快照

In blue lag = 1.8, in red lag = 1.4, when lag = 1 the moving average is equal to a simple moving average of period length. Remember that larger values of lag will return greater over/undershoots.

快照

Approximate amplitude response of the moving average, like all low-lag moving averages you can see frequencies amplified (the ones on the left greater than 1).

SUMMARY

We proposed a low-lag moving average based on the cumulative/change SMA design where the lag of the moving average can be controlled by the user. There are tons of low-lag moving averages already, and they don't necessarily provide different results from each others, however this one is still relatively interesting as you can switch from a simple MA from a low-lagging one, other indicators are ready using this design and will be posted soon.
Moving Averagessmazerolag

开源脚本

本着真正的TradingView精神,此脚本的作者已将其开源,以便交易者可以理解和验证它。向作者致敬!您可以免费使用它,但在出版物中重复使用此代码受网站规则约束。 您可以收藏它以在图表上使用。

想在图表上使用此脚本?


Check out the indicators we are making at luxalgo: tradingview.com/u/LuxAlgo/
更多:

免责声明