OPEN-SOURCE SCRIPT

Robust Weighting Oscillator

Updated
Introduction

A simple oscillator using a modified lowess architecture, good in term of smoothness and reactivity.

Lowess Regression

Lowess or local regression is a non-parametric (can be used with data not fitting a normal distribution) smoothing method. This method fit a curve to the data using least squares.

In order to have a lowess regression one must use tricube kernel for the weightings w, the weightings are determined using a k-nearest-neighbor model.

lowess is then calculated like so :

Σ(wG(y-a-bx)^2)

Our indicator use G, a ,b and remove the square as well as replacing x by y

Conclusion

The oscillator is simple and nothing revolutionary but its still interesting to have new indicators.

Lowess would be a great method to be made on pinescript, i have an estimate but its not that good. Some codes use a simple line equation in order to estimate a lowess smoother, i can describe it as ax + b where a is a smooth oscillator, b some kind of filter defined by lp + bp with lp a smooth low pass filter and bp a bandpass filter, x is a variable dependent of the smoothing span.

Release Notes
Added G in a separate calculation mode, thanks to @ aaahopper for pointing it out. Changed color for downside movements.
bandpassleastsquareslowessOscillatorsregressionslopesmooth

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 publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


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

Disclaimer