Uhl MA Crossover System

Today proposed indicator is based on the corrected moving average, an indicator originally proposed by Andreas Uhl professor at Salzburg University. This moving average is not the most well known, which is a pity since its design is extremely elegant.

The corrected moving average ( CMA ) is an adaptive moving average based on exponential averaging and aim to correct common problems of classical moving averages such as crosses occurring during sideway markets, more details will be introduced in the calculation section. The CMA aim to act as a slow moving average in a moving average crossover system.

Here a new fast adaptive moving average named corrected trend step ( CTS ) based on the CMA is introduced in order to provide a full moving average crossover system based on A. Uhl design.

To Andreas Uhl

Calculation And Understanding The CTS

Even if the code is quite compact, the original idea behind the CMA can be blurry for some users, however it is actually relatively simple to understand. The CMA is based on exponential averaging and a smoothing variable is therefore required, in the CMA the calculation of the smoothing variable is based on the squared distance between the precedent CMA output and a simple moving average , and the rolling variance, where the rolling variance act as threshold.

The CTS work the same way but instead of using the squared error between a simple moving average and the previous CMA output, we use the squared error between the closing price and the previous CTS output, this allow the CTS to better fit with the closing price. As said before the rolling variance act as threshold, if the squared error is lower than the rolling variance this mean that the CTS is close to the price, which can indicate a sideway market, therefore we should filter the entirety of the current price, therefore on sideways market the CTS is equal to the precedent value of the CTS .

In trending/volatile markets we expect the price to go away from the CTS , thus having an high squared error, if the squared error is greater than the rolling variance, the smoothing variable is equal to 1 - variance/squared error, here variance/squared error < 1 since the squared error is greater than the rolling variance (remember that the smoothing variable need to be in a (0,1) range), however if the squared error is way higher than variance this ratio will be small, which would return a non reactive output, but thats not what we want ! This is why we subtract 1 by this ratio in order to make the CTS more reactive instead of less reactive.

In case the squared error is greater than the rolling variance during sideway markets we would not expect a huge difference anyway, that is squared error ≈ variance and therefore:

1 - variance/squared error ≈ 1 - 1/1 ≈ 1 - 1 ≈ 0

This is a beautiful way to make an adaptive moving average , the CMA is not a flashy indicator, but when we look at the details behind the design we can only get amazed, or maybe that its just me, truly a great adaptive moving average .

The System

length control the filtering amount of both moving averages, with higher values of length returning larger filtering amount. Mult multiply the rolling variance by an user selected value, this also allow a greater amount of filtering.

The CTS act as a fast moving average while the CMA act as a slow moving average.

Here the indicator with length = 200, we can see how a sideway market who could have generated a large amount of signals don't affect our system.

Unlike classical crossovers systems where the slow moving average will rarely produce a cross with the fast moving average and price at the same time, the Uhl system can actually do that:


A moving average crossover system based on the corrected moving average proposed by Andreas Uhl has been presented, a new moving average that aim to produce good fits with the price has been created especially for this system. The logic behind the CMA has also been explained. A possible strategy analysis could be presented in the future.

In conclusion i would say the CMA is a bit underrated, in a field where arrows, signals, alerts are the only things appreciated by peoples, original content is slowly dying, this actually make today technical indicators have a pretty bad academic reputations. I'am afraid that today haiku master is Uhl rather than me, i hope to see more indicators from him in the future.

Thanks for reading !

Original paper:
Script de código aberto

No verdadeiro espírito TradingView, o autor deste script o publicou com código aberto, para que os traders possam compreendê-lo e verificá-lo. Um brinde ao autor! Você pode usá-lo gratuitamente, mas a reutilização deste código em uma publicação é regida pelas Regras da Casa. Você pode favoritá-lo para utilizá-lo em um gráfico.

Quer usar esse script no gráfico?

Become a Patreon and get access to exclusive technical indicators!

You can also check out some of the indicators I made for luxalgo :


500 moedas
Wonderfull work, as always!
Gr, JD.
+7 Resposta
Another beauty from Alex!. This is a great Moving Average for Renko.
+6 Resposta
@Chakku, Thx for trying it out and for your feedback, testing the proposed indicators on non standard chart types might be great in indicator posts, let me know if you like the idea.
Chakku alexgrover
@alexgrover, It is certainly a great idea. Look forward to it in future publications.
new ideas and on first blush looks to have a bit of value in the trade setup process for sure. thx for sharing!
+4 Resposta
This is excellent! Thanks to UHl and you Alex for sharing and teaching us!
+3 Resposta
alexgrover wroclai
@wroclai, Yr welcome. On a side note, is it me or the text appear only the left side of the post ? I'am also seeing the comments in italic, is that happening to you as well ?
wroclai alexgrover
@alexgrover On my phone, the post content/text looks normal, but I did notice all comment text is in italics for some reason.
+1 Resposta
alexgrover wroclai
@wroclai, Thx for the returns, might be a tradingview problem, should be fixed soon enough, i hope so ^^
Início Rastreador de Fundamentos Rastreador Forex Rastreador de Criptomoedas Calendário Econômico Sobre Recursos gráficos Preços Indique um Amigo Regras da Casa Central de Ajuda Soluções para Sites & Corretoras Widgets Soluções em Gráficos Biblioteca de Gráficos Lightweight Blog & Notícias Twitter