LWMA: Linear Weighted Moving Average

LWMAs are also quicker to react to price changes than SMA and EMA. If you want a moving average with less lag than an SMA, try a LWMA.
It kind of also have a more clarity in defining the price trend and reversals. Trade signals usually based on crossovers, they can also indicate areas of potential support or resistance. But beware though, multiple false signals may also occur before a significant trend develops. Use a filter, some decent volatility oscillator might do the job.
--
The formula for this Linearly Weighted Moving Average is:
LWMA = ((Pn∗W1)+(Pn−1∗W2)+(Pn−2∗W3)...) / ∑W
P = Price for the period
n = The most recent period, n-1 is the prior period, and n-2 is two periods prior
W = The assigned weight to each period, with the highest weight going first and then descending linearly based on the number of periods being used.
I hope I'm doing right translating it to Pine Script 4. Let me know if I miss something.
I just realized the native TV's WMA is already using the same linearity result, (maybe) using period value as the weight. So I added custom weight value parameter for this update and modified the function. By default it has a slight difference in plot result with the WMA even if period and weight has the same value.
I've read that most popular choice when using weighted moving averages is to use a higher weighting for recent values. I'm guessing that we can use much lower weight value if need contemporary or faster response (ie. intraday, binary, short-term), and higher weighting than the period for long-term confirmation, but both without losing context or moving away from our chosen lookback period span.
By default the WMA is using period value as its weight so when it reach the last price the weight is 1. A more complex way is to choose a different weight for the most recent value. Which this script trying to do about. Let's say we're using 50-period lookback, but I want the weight is only about half of it, maybe 30. Then each value will need to drop by 30/50 consecutively in each price data. So that when n-49(50th period) is reached the weight is also will be 1.
Alert triggers when direction change.
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.
Penafian
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.