hisatomi

ApproximateGaussianSmoothing

Library "ApproximateGaussianSmoothing"
This library provides a novel smoothing function for time-series data, serving as an alternative to SMA and EMA. Additionally, it provides some statistical processing, using moving averages as expected values in statistics.
'Approximate Gaussian Smoothing' (AGS) is designed to apply weights to time-series data that closely resemble Gaussian smoothing weights. it is easier to calculate than the similar ALMA.
In case AGS is used as a moving average, I named it 'Approximate Gaussian Weighted Moving Average' (AGWMA).

The formula is:
AGWMA = (EMA + EMA(EMA) + EMA(EMA(EMA)) + EMA(EMA(EMA(EMA)))) / 4
The EMA parameter alpha is 5 / (N + 4), using time period N (or length).


ma(src, length)
  Calculate moving average using AGS (AGWMA).
  Parameters:
    src (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Moving average.

analyse(src, length)
  Calculate mean and variance using AGS.
  Parameters:
    src (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Mean and variance.

analyse(dimensions, sources, length)
  Calculate mean and variance covariance matrix using AGS.
  Parameters:
    dimensions (simple int): Dimensions of sources to process.
    sources (array<float>): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Mean and variance covariance matrix.

trend(src, length)
  Calculate intercept (LSMA) and slope using AGS.
  Parameters:
    src (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Intercept and slope.
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

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 library?

Copy the following line and paste it in your script.