The Weighted Moving Average assigns linearly decreasing weights to
older bars - the most recent bar has weight N, the next has N-1,
and so on down to 1.
Formula
WMA[t] = (N*close[t] + (N-1)*close[t-1] + ... + 1*close[t-N+1])
/ (N + (N-1) + ... + 1)Params
period- N in the formula above.
Output
Single column named after your indicator (e.g. 20-bar WMA).
When to pick WMA
- You want more responsiveness than SMA without the recursive smoothing of EMA.
- You want predictable, bounded weight decay (linear rather than exponential).
- You're porting a TradingView script that explicitly uses WMA.
In practice EMA is more common in crypto + futures strategies. WMA shows up in classical TA stacks (Hull MA, Welles Wilder smoothing).
Pitfalls
WMA only knows the bars inside its window - it has no recursive memory the way EMA does. Drop-off effects are real but smaller than with SMA because the dropping bar already had the lowest weight.
