[blackcat] L2 Ehlers Autocorrelation Reversals

Level: 2


John F. Ehlers introduced Autocorrelation Reversals in his "Cycle Analytics for Traders" chapter 8 on 2013.


One of the distinctive characteristics of autocorrelation is that the autocorrelation shifts from yelow to red or from red to yellow at all values of lag at the cyclic reversals of the price. Therefore, all we need do to determine these reversals is to sum the bar-to-bar differences of the autocorrelation function across all values of lag. When the sum is large a turning point has been identified.

The indicated reversals are very sensitive to the smoothing of the price data. Therefore, the LPLength is made available as an indicator input to decrease or increase the number of indicated reversals as desired. The AvgLength parameter is also made available as an indicator because this averaging also impacts the number of indicated reversals. Care should be taken when increasing the value of this input because the lag of the indicator increases in direct proportion to the increase of the value of the AvgLength. Typical delay of the indicator will be about three bars when the AvgLength parameter is set to a value of 3. The HPLength parameter is also made available as an input for complete flexibility of the indicator. However, changing its value has a relatively minor impact on the indicated reversals.

Key Signal

Reversals --> Autocorrelation Reversals pulses

Pros and Cons

100% John F. Ehlers definition translation of original work, even variable names are the same. This help readers who would like to use pine to read his book. If you had read his works, then you will be quite familiar with my code style.


The 50th script for Blackcat1402 John F. Ehlers Week publication.


In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.

The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.

Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.

Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.

Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.

Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.

Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.

"Win$ & Donate w/ This" Addresses are no longer valid.
Open-source Skript

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Möchten Sie dieses Skript auf einem Chart verwenden?