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/
他のメディア:

免責事項