Multiple Non-Linear Regression
Updated
May 2, 2024
TradingView

For free use on the TradingView platform

This Pine Script indicator is designed to perform multiple non-linear regression analysis using four independent variables: close, open, high, and low prices. Here's a breakdown of its components and functionalities:

Inputs:

Users can adjust several parameters:

  • Normalization Data Length: Length of data used for normalization.
  • Learning Rate: Rate at which the algorithm learns from errors.
  • Smooth?: Option to smooth the output.
  • Smooth Length: Length of smoothing if enabled.
  • Define start coefficients: Initial coefficients for the regression equation.

Data Normalization:

The script normalizes input data to a range between 0 and 1 using the highest and lowest values within a specified length.

Non-linear Regression:

It calculates the regression equation using the input coefficients and normalized data. The equation used is a weighted sum of the independent variables, with coefficients adjusted iteratively using gradient descent to minimize errors.

Error

Calculation:

The script computes the error between the actual and predicted values.

Gradient Descent: The coefficients are updated iteratively using gradient descent to minimize the error.


// Compute the predicted values using the non-linear regression function
predictedValues = nonLinearRegression(x_1, x_2, x_3, x_4, b1, b2, b3, b4)

// Compute the error
error = errorModule(initial_val, predictedValues)

// Update the coefficients using gradient descent
b1 := b1 - (learningRate * (error * x_1))
b2 := b2 - (learningRate * (error * x_2))
b3 := b3 - (learningRate * (error * x_3))
b4 := b4 - (learningRate * (error * x_4))

Visualization:

  • Plotting of normalized input data (close, open, high, low).
    The indicator provides visualization of normalized data values (close, open, high, low) in the form of circular markers on the chart, allowing users to easily observe the relative positions of these values in relation to each other and the regression line.
  • Plotting of the regression line.
  • Color gradient on the regression line based on its value and bar colors.

Display of normalized input data and predicted value in a table.

  • Signals for crossovers with a midline (0.5).


Interpretation:

Users can interpret the regression line and its crossovers with the midline (0.5) as signals for potential buy or sell opportunities.

This indicator helps users analyze the relationship between multiple variables and make trading decisions based on the regression analysis. Adjusting the coefficients and parameters can fine-tune the model's performance according to specific market conditions.

Get access to our Exclusive
premium indicators