Here I aimed to combine the principles of traditional band indicators (such as Bollinger Bands), regression channel and outlier detection methods. Its upper and lower bands define an interval in which the current price was expected to fall with a prescribed probability, as predicted by the previous-step result of the local polynomial regression (for the original Moving Regression script, see link below).
1. At every time step, the script performs local polynomial regression of the sample data within the lookback window specified by the Length input parameter.
2. The fitted polynomial is used to construct the Moving Regression time series as well as to extrapolate data, that is, to predict the next data point (MRPrediction).
3. The accuracy of local interpolation is estimated by means of the root-mean-square error (RMSE), that is, the deviation between the fitted polynomial and the observed values.
4. The MRPrediction and RMSE values calculated for the previous bar are then used to build the upper and lower bands, which I define as follows:
Upper Band = MRPrediction_prev + Multiplier*(RMSE_prev)
Lower Band = MRPrediction_prev - Multiplier*(RMSE_prev)
Here the Multiplier is a user-defined parameter that should be interpreted as a quantile in the standard normal distribution (the default value of 2.0 roughly corresponds to the 95% prediction interval).
To visualize the central line, the script offers the following options:
- Previous-Period MR Prediction: MRPrediction_prev time series from the above equation.
- MR: Conventional Moving Regression time series.
- Ribbon: “Previous-Period MR Prediction” and “MR” curves plotted together and colored according to their relative value (green if MR > Previous MR Prediction; red otherwise).
My original idea was to use the band breakouts as potential trading signals. For example, the price crossing above the upper band is a bullish signal, being a potential sign that price is gaining momentum and is out of a previously predicted trend. The exit signal could be the crossing under the lower band or under the central line.
However, be aware that it is an experimental indicator, so you might fin some better strategies.
Feel free to play around!
See also a simple strategy illustrating the use of this indicator:
- Upon request, several more alert conditions are introduced:
- changing the color of the MR curve from red to green (for details on how the color is determined, see the main description),
- changing the color of the MR curve from green to red,
- price crossing above the lower band,
- price crossing below the upper band.
- The code is translated into Pine Script v.5.
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.