NinjaTrader Ehler's indicators

1
EHLER'S INDICATORS

MT4: go here
MT5: go here
👤 Background & Career

Ehlers trained as an electrical engineer: he holds a BSEE and MSEE from the University of Missouri. Later, he completed doctoral work at George Washington University, specializing in fields & waves and information theory.
Before becoming a full-time independent trader, he worked at Raytheon, retiring as a Senior Engineering Fellow.
He began trading privately in 1976. Over time, his engineering background shaped his approach to market analysis and algorithmic trading.

📈 What He’s Known For — DSP + Market Analysis

Ehlers is widely regarded as a pioneer in applying digital signal processing (DSP) — including spectral analysis and filter theory — to financial market data (stocks, futures, forex, etc.).
One of his landmark innovations: the MESA algorithm (Maximum Entropy Spectrum Analysis), a method to detect dominant cycles in price data and adapt indicator parameters accordingly, rather than relying on arbitrary/fixed periods.
His philosophy: before coding or deploying any trading technique, one should test it on theoretical waveforms (idealized data) to validate the math; only then apply to real-world data. In his view, this reduces overfitting and miscalibration.

✍️ Publications & Code — For Traders & Coders

Ehlers has authored numerous books, such as MESA and Trading Market Cycles, Rocket Science for Traders, and Cybernetic Analysis for Stocks and Futures.
He has been a frequent contributor to Technical Analysis of Stocks & Commodities magazine (often abbreviated “S&C Magazine”), where he published many indicator designs, trading system ideas, and code snippets (e.g. for various trading platforms).
His indicators often aim for “zero-lag” or minimal-lag filtering — smoothing price data without introducing too much delay. Tools like the “Directional Movement w/ Hann Windowing (DMH)”, “Zero-Lag filters”, “Laguerre filters”, custom oscillators, and cycle filters are widely attributed to him and used in algorithmic trading systems.

⚠️ What to Know — Strengths and Criticisms

Strengths: Ehlers’ approach is mathematically rigorous, explicitly uses engineering and DSP principles, and avoids “magic numbers” (like fixed-length 14-day RSI) by adapting to changing market cycles. This can produce more robust, adaptive trading indicators relative to standard ones.
Challenges / Criticisms: Some trading-community explorations of his systems (e.g. one based on his “Instantaneous Trendline” indicator) have shown poor performance with trend-following logic in out-of-sample backtests — leading some to invert the signal and use a mean-reversion logic instead.
This suggests that while the math or filtering ideas may be sound, actual trading success still depends heavily on how the filters/indicators are used, optimized, and tested — underscoring the need for rigorous backtesting and risk management.

🎯 Relevance & Influence — Why Traders Still Follow Him

Ehlers’ work helped popularize the use of DSP and adaptive filter design in trading tools, influencing many modern algorithmic traders, coders, and quantitative analysts.

Many “custom indicators” in trading platforms — especially those promising less lag and more responsiveness — trace their conceptual lineage to Ehlers’ research.

For traders with a coding background (e.g. using EasyLanguage, Python, or other algo-trading platforms), Ehlers’ papers and book content remain valuable as a mathematical foundation for building custom, tailored trading systems.


Re: NinjaTrader Ehler's indicators

2
Below is the definitive short list traders
(coders, quants, and magazine readers) encounter most from Ehlers.

===============================================================================
1️⃣ MESA (Maximum Entropy Spectrum Analysis)
Category: Cycle detection
Why it’s important:
  • This is Ehlers’ signature invention.
  • It analyzes price like a signal to find the dominant cycle length in real time.
  • Helps create adaptive moving averages, filters, and oscillators.
Used for:
  • Adapting indicator length dynamically
  • Cycle-based entries and exits
  • Avoiding fixed-period indicators (like standard RSI 14)
===============================================================================
2️⃣ Ehlers’ Instantaneous Trendline

Category: Zero-lag trend detection
Features:
  • Attempts to extract trend with nearly no lag.
  • Reacts faster than SMA/EMA while staying smoother.
Used for:
  • Trend-following systems
  • Fast directional bias without repainting
===============================================================================
3️⃣ Super Smoother Filter

Category: Low-lag smoothing
Description:
  • A 2-pole filter that removes noise while keeping responsiveness.
  • Works like a zero-lag EMA on steroids.
Used for:
  • Creating smoother versions of RSI, MACD, Stochastics
  • Reducing whipsaw during choppy forex markets
===============================================================================
4️⃣ Roofing Filter

Category: Band-pass filter
Purpose:
  • Removes both low-frequency drift (trend) and high-frequency noise.
  • Leaves only the tradable cyclical component of the price.
Used for:
  • Oscillator construction
  • Cycle-based scalping
  • Indicators like Ehlers’ Sinewave
===============================================================================
5️⃣ Ehlers Sine Wave / Lead Sine

Category: Cycle oscillator
Features:
  • Plots a sine and lead-sine line.
  • Shows turning points before RSI/MACD do.
Used for:
  • Early cycle reversals
  • Identifying peak/trough moments
  • Sideways market scalping
===============================================================================
6️⃣ Fisher Transform (Ehlers Fisher)

Category: Probability-based oscillator
Why it’s popular:
  • Converts price into a Gaussian-like distribution, making turning points more statistically meaningful.
  • Extremely sharp turning points.
Used for:
  • Reversal signals
  • Converting price swings into clear highs/lows
  • Foundation of many MT4/MT5 custom indicators
===============================================================================
7️⃣ Laguerre Filter / Laguerre RSI

Category: Recursive filter
Purpose:
  • Smooths data with almost no lag and incredibly little noise.
  • Uses gamma (γ) to control memory depth.
Used for:
  • Building “no-lag RSI,” “no-lag MACD,” etc.
  • Intraday scalping
  • Eliminating false signals
===============================================================================
8️⃣ Instantaneous Frequency & Hilbert Transform Tools

Category: Advanced DSP
Includes:
  • Hilbert Transform
  • Quadrature components
  • Dominant cycle measurement
Used for:
  • Adaptive indicators
  • Determining if market is trending or cycling
  • Identifying cycle phase (peak, trough, slope)
===============================================================================
9️⃣ Mesa Adaptive Moving Average (MAMA) & FAMA

Category: Adaptive moving averages
Features:
  • Uses the measured dominant cycle to adjust speed.
  • Fast in trends, slow in chop — automatically.
Used for:
  • Trend trading
  • Filtering noise
  • Adaptive support/resistance
===============================================================================
🔟 Decycler / De-Trending Indicator

Category: Removing cycles
Purpose:
  • Instead of filtering noise to isolate cycles, this filter removes cycles to show pure trend.
Used for:
  • Trend direction without oscillations
  • Hybrid cycle/trend systems when paired with Roofing Filter
===============================================================================
🔥 Honorable Mentions

These are also referenced frequently in S&C Magazine:
  • Zero-Lag EMA — modified EMA formula with reduced lag
  • Adaptive RSI — RSI using dominant cycle length
  • Homodyne Discriminator — cycle measurement technique
  • Band-Pass filters for scalping systems
  • Gaussian filters for ultra-smooth lines
  • Ehlers’ Cyber Cycle — a highly responsive oscillator
===============================================================================
🎯 Why Ehlers Matters for Coders

Ehlers is the bridge between engineering DSP theory and trading indicators.
He uses:
  • Digital filters
  • Spectral analysis
  • Hilbert transforms
  • Smoothing algorithms
  • Zero-lag techniques
This makes his indicators codable, modular, and mathematically consistent.

That’s why platforms like:
  • MT4/MT5
  • TradingView
  • NinjaTrader
  • ThinkorSwim
  • AmiBroker
all have large libraries of Ehlers-based indicators.
===============================================================================

Re: NinjaTrader Ehler's indicators

3
Laguerre Filters

NinjaTrader: July 2025
In his article “Laguerre Filters” in this issue, John Ehlers presents two indicators, the Laguerre filter and the Laguerre oscillator. The indicators are available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicators into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

Re: NinjaTrader Ehler's indicators

4
PMA: projected moving average

NinjaTrader: March 2025
In “Removing Moving Average Lag” in this issue, John Ehlers presents the projected moving average (PMA) and some accompanying indicators. Several of the indicators discussed in the article are available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

Re: NinjaTrader Ehler's indicators

5
Ultimate Smoother

The UltimateSmoother, which is introduced in the article “The Ultimate Smoother” in this issue by John Ehlers, is available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

A chart displaying the indicator is shown below:


Re: NinjaTrader Ehler's indicators

6
Ultimate Channel

TASC = Technical Analysis of Stocks & Commodities
TASC magazine May 2024 issue

The ultimate channel and ultimate bands indicators, which are described in the article “Ultimate Channels And Ultimate Bands” in this issue by John Ehlers, are available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

Sample charts demonstrating the two indicators are shown below:

Re: NinjaTrader Ehler's indicators

7
The One Euro Filter

Ninjatrader: December 2025
In “The One Euro Filter” in this issue, John Ehlers discussed the one euro filter. The indicator is available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

Re: NinjaTrader Ehler's indicators

8
The Continuation Index

NinjaTrader: September 2025
In his article “The Continuation Index” in this issue, John Ehlers presents an indicator named the continuation index. The indicator is available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.

Re: NinjaTrader Ehler's indicators

9
Cybernetic Oscillator

NinjaTrader: June 2025
In “Making A Better Oscillator” in this issue, John Ehlers presents a new oscillator he calls the cybernetic oscillator. The indicator discussed in the article is available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.
A sample chart demonstrating applying the cybernetic oscillator on a chart of ES is shown.
This figure demonstrates application of the author’s example trading strategy based on rate-of-change.

Re: NinjaTrader Ehler's indicators

10
The Ultimate Oscillator

NinjaTrader: April 2025
In “The Ultimate Oscillator” in this issue, John Ehlers presents a no-lag oscillator. The indicator discussed in the article is available for download at the following link for NinjaTrader 8:

Once the file is downloaded, you can import the indicator into NinjaTrader 8 from within the control center by selecting Tools → Import → NinjaScript Add-On and then selecting the downloaded file for NinjaTrader 8.

You can review the indicator source code in NinjaTrader 8 by selecting the menu New → NinjaScript Editor → Indicators folder from within the control center window and selecting the file.