Arnaud Legoux Moving Average (ALMA)

Created by Arnaud Legoux and Dimitrios Kouzis-Loukas, ALMA is a normal Gaussian distribution weighted moving average of price. [Discuss] :speech_balloon:

chart for Arnaud Legoux Moving Average (ALMA)

// usage
IEnumerable<AlmaResult> results =
  quotes.GetAlma(lookbackPeriods, offset, sigma);

Parameters

lookbackPeriods int - Number of periods (N) in the moving average. Must be greater than 1, but is typically in the 5-20 range. Default is 9.

offset double - Adjusts smoothness versus responsiveness on a scale from 0 to 1; where 1 is max responsiveness. Default is 0.85.

sigma double - Defines the width of the Gaussian normal distribution. Must be greater than 0. Default is 6.

Historical quotes requirements

You must have at least N periods of quotes to cover the warmup periods.

quotes is a collection of generic TQuote historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.

Response

IEnumerable<AlmaResult>

AlmaResult

Date DateTime - Date from evaluated TQuote

Alma double - Arnaud Legoux Moving Average

Utilities

See Utilities and helpers for more information.

Chaining

This indicator may be generated from any chain-enabled indicator or method.

// example
var results = quotes
    .Use(CandlePart.HL2)
    .GetAlma(..);

Results can be further processed on Alma with additional chain-enabled indicators.

// example
var results = quotes
    .GetAlma(..)
    .GetRsi(..);