Linearly combining moving averages can provide relatively interesting results such as a low-lagging moving averages or moving averages able to produce more pertinent crosses with the price.

As a remainder, a linear combination is a mathematical expression that is based on the multiplication of two variables

This expression is a linear combination , with

Today proposed indicator allow the user to combine many types of moving averages together in order to get different results, we will introduce each settings of the indicator as well as how they affect the final output.

There are various ways to explain why linear combination can produce low-lagging moving averages, lets take for example the linear combination of a fast SMA of period

Which is equivalent to:

We can see the above linear combinations consist in adding a bandpass filter to the fast moving average, which of course allow to reduce the lag. It is important to note that lag is reduced when the first moving average term is more reactive than the second moving average term. In case we instead use:

we would have a combination between a low-pass and band-reject filter.

The indicator is based on the following linear combination:

The

The types of moving average available are: simple, exponentially weighted, triangular, least squares, hull and volume weighted. The lagging MA allow you to select another MA on the chart as input.

length = 100, leading period divisor = 2, coeff = 2, with both MA type = SMA . Using coeff = -2 instead would give:

You can select "Plot leading and lagging" in order to show the leading and lagging MA.

The proposed tool allow the user to create a custom moving averages by making use of linear combination. The script is not that useful when you think about it, and might maybe be one of my worst, as it is relatively impractical, not proud of it, but it still took time to make so i decided to post it anyway.

As a remainder, a linear combination is a mathematical expression that is based on the multiplication of two variables

*(or terms)*with two coefficients*(also called scalars when working with vectors)*and adding the results, that is:*ax + by*This expression is a linear combination , with

*x/y*as variables and*a/b*as coefficients. Lot of indicators are made from linear combinations of moving averages, some examples include the double/ triple exponential moving average , least squares moving average and the hull moving average .Today proposed indicator allow the user to combine many types of moving averages together in order to get different results, we will introduce each settings of the indicator as well as how they affect the final output.

**Explaining The Effects Of Linear Combinations**There are various ways to explain why linear combination can produce low-lagging moving averages, lets take for example the linear combination of a fast SMA of period

*p/2*and slow simple moving average of period*p*, the linear combination of these two moving averages is described as follows:*MA = 2SMA(p/2) + -1SMA(p)*Which is equivalent to:

*MA = 2SMA(p/2) - SMA (p) = SMA (p/2) + SMA (p/2) - SMA (p)*We can see the above linear combinations consist in adding a bandpass filter to the fast moving average, which of course allow to reduce the lag. It is important to note that lag is reduced when the first moving average term is more reactive than the second moving average term. In case we instead use:

*MA = -2SMA(p/2) + 1SMA(p)*we would have a combination between a low-pass and band-reject filter.

**The Indicator**The indicator is based on the following linear combination:

*Coeff × LeadingMA(length) - (Coeff-1) × LaggingMA(length)*The

*length*setting control both moving averages period,*leading*control the type of moving average used as leading MA, while*lagging*control the type of MA used as lagging moving average, in order to get low lag results the leading MA should be more reactive than the lagging MA.*Coeff*control the coefficients of the linear combination, with higher values of coeff amplifying the effects of the linear combination, negative values of coeff would make a low-lag moving average become a lagging moving average, coeff = 1 return the leading MA, coeff = -1 return the lagging MA. The leading period divisor allow to divide the period of the leading MA by the selected number.The types of moving average available are: simple, exponentially weighted, triangular, least squares, hull and volume weighted. The lagging MA allow you to select another MA on the chart as input.

length = 100, leading period divisor = 2, coeff = 2, with both MA type = SMA . Using coeff = -2 instead would give:

You can select "Plot leading and lagging" in order to show the leading and lagging MA.

**Conclusion**The proposed tool allow the user to create a custom moving averages by making use of linear combination. The script is not that useful when you think about it, and might maybe be one of my worst, as it is relatively impractical, not proud of it, but it still took time to make so i decided to post it anyway.

Patreon: www.patreon.com/alexgrover

Become a Patreon and get access to exclusive technical indicators!

You can also check out some of the indicators I made for luxalgo : www.tradingview.com/u/LuxAlgo/

Become a Patreon and get access to exclusive technical indicators!

You can also check out some of the indicators I made for luxalgo : www.tradingview.com/u/LuxAlgo/