TASC 2021.11 MADH Moving Average Difference, Hann

6035 vues

Presented here is code for the "Moving Average Difference, Hann" indicator originally conceived by John ​Ehlers. The code is also published in the November 2021 issue of Trader's Tips by Technical Analysis of Stocks & ​Commodities (TASC) magazine.


By employing a Hann windowed finite impulse response filter (FIR), John ​Ehlers has enhanced the Moving Average Difference (MAD) to provide an oscillator with exceptional smoothness.

​Of notable mention, the wave form of MADH resembles ​Ehlers' "Reverse EMA" Indicator, formerly revealed in the September 2017 issue of TASC. Many variations of the "Reverse EMA" were published in TradingView's Public Library.


Three values in the script's "Settings/Inputs" provide control over the oscillators behavior:
 • The price source
 • A "Short Length" with a default of 8, to manage the lower band edge of the oscillator
 • The "Dominant Cycle", originally set at 27, which appears to be a placeholder for an adaptive control mechanism

Two coloring options are provided for the line's fill:
 • "ZeroCross", the default, uses the line's position above/below the zero level. This is the mode used in the top version of MADH on this chart.
 • "Momentum" uses the line's up/down state, as shown in the bottom version of the indicator on the chart.


The source price is used in two independent Hann windowed FIR filters having two different periods (lengths) of historical observation for calculation, one being a "Short Length" and the other termed "Dominant Cycle". These are then passed to a "rate of change" calculation and then returned by the reusable function. The secret ​sauce is that a "windowed Hann FIR filter" is superior tp a generic SMA filter, and that ultimately reveals Ehlers' clever enhancement. We'll have to wait and see what ingenuities ​Ehlers has next to unleash. Stay tuned...

The `madh()` function code was optimized for computational efficiency in Pine, differing visibly from ​Ehlers' original formula, but yielding the same results as ​Ehlers' version.

This indicator has a sibling indicator discussed in the "The MAD Indicator, Enhanced" article by ​Ehlers. MADH is an evolutionary update from the prior MAD indicator code published in the October 2021 issue of TASC.

Sibling Indicators
 • Moving Average Difference (MAD)
 • Cycle/Trend Analytics

Related Information
 • Cycle/Trend Analytics And The MAD Indicator
 • The Reverse ​EMA Indicator
 • Hann Window
 • ROC

Join TradingView!

Script open-source

Dans le véritable esprit de TradingView, l'auteur de ce script l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par le règlement. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Vous voulez utiliser ce script sur un graphique ?