Center Weighted Moving Average (CWMA)

This is a pine script that defines and implements a custom weighted moving average (WMA) indicator. The script first defines a function called wma that calculates the weighted moving average of a given data source (src) with a specified set of weights (weights) over a specified length (len). The wma function first computes the weighted sum of the source data by multiplying the source data with the weights and summing over the length. It then calculates the sum of the weights. Finally, it divides the weighted sum by the sum of the weights to compute the weighted moving average.

The script then defines a second function called cwma that calculates a custom WMA by defining the weights for each value in the moving average as the length plus one divided by two minus the absolute value of the length minus the source data. It then uses the wma function to calculate and return the weighted moving average.

The script then specifies the input parameters for the cwma function: the source data (close) and the moving average length (length). It then plots the custom weighted moving average on the chart.

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?