Robust Weighting Oscillator


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


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.
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.

Want to use this script on a chart?

Become a Patreon and get access to exclusive technical indicators!

You can also check out some of the indicators I made for luxalgo :