Fractal Adaptive Moving Average Indicator: Ehlers FRAMA

Written by Dominic Walsh · Published · Last updated

The fractal adaptive moving average indicator changes its own speed. John Ehlers built it to measure how jagged recent price is. A smooth stretch makes the line fast. A jagged one slows it right down.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 3: FRAMA, Buy, Sell
Alerts popup, push notification, email, sound
Inputs 9

What the Fractal Adaptive Moving Average Indicator draws on the chart

A dodger blue `FRAMA` line sits directly on price.

`Buy` carries arrow 233 and `Sell` carries arrow 234.

Each mark keeps `ArrowOffsetPts` `8` points of clearance.

Nothing opens in a separate pane.

  • FRAMA: line, dodger blue, width 2
  • Buy: arrow, lime, width 2, arrow code 233
  • Sell: arrow, red, width 2, arrow code 234
Fractal adaptive moving average indicator adaptive line and arrows on EURUSD H1.
Fractal adaptive moving average indicator adaptive line and arrows on EURUSD H1.

How the Fractal Adaptive Moving Average Indicator calculates its values

The window splits in half

`FramaPeriod` `16` splits into two halves of eight. Each half contributes its own high to low travel. The whole window contributes a third measure.

Comparing those gives a dimension

Do the two halves together travel much further than the whole window? Then price is jagged. That comparison gives a fractal dimension between one and two, which drives everything else.

Dimension sets the smoothing

A low dimension gives a fast line. A high one gives a slow line. `SlowSC` `200` clamps how slow it may become, which stops the line freezing through a long chop.

How to read the signals

The line hugs price in a clean trend and flattens in a range.

Speed changes without any input from you, which is the whole idea.

`FramaPeriod` `16` must stay an even number for the halves to split.

A flat stretch is information, not a fault.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

`EnableAlerts` controls every signal alert and starts true with `EnablePopup`. Turn on `EnablePushNotify` for a phone buzz, `EnableEmail` for mail, or `EnableSound` to play `SoundFile`. Those three arrive off. Signals report on closed bars.

Every Fractal Adaptive Moving Average Indicator input

Core settings

Setting What it does Default
FramaPeriod FRAMA period (even number). Window length, which must be even, default `16`. 16
SlowSC Slow EMA bound (alpha clamp lower). Slowest the line may become, default `200`. 200

Display settings

Setting What it does Default
ArrowOffsetPts Arrow offset in points. Clearance between a mark and its wick, in points, default `8`. 8

Alert settings

Setting What it does Default
EnableAlerts One control over every signal alert, default `true`. on
EnablePopup Dialog box on a fresh signal, default `true`. on
EnablePushNotify Phone buzz on a fresh signal, default `false`. off
EnableEmail Email on a fresh signal, default `false`. off
EnableSound Audio cue on a fresh signal, default `false`. off
SoundFile Audio file the cue uses, default `”alert.wav”`. alert.wav
Fractal adaptive moving average indicator inputs panel with FramaPeriod and SlowSC.
Fractal adaptive moving average indicator inputs panel with FramaPeriod and SlowSC.

Settings that fit your chart

An adaptive average earns its keep where conditions change. EURUSD H1 is the reference chart, where the line alternates between fast and flat. On M5 the dimension reading gets noisy. Daily bars suit it very well.

When the Fractal Adaptive Moving Average Indicator fails

The fractal dimension is a rough measure, not a precise one.

A flat line during chop still gives back the start of the next move.

`SlowSC` `200` is a clamp, so a very choppy stretch pins the line at its slowest.

Copy the compiled Fractal Adaptive Moving Average Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: Moving Average Crossover Strategy.

Download the Fractal Adaptive Moving Average Indicator for MT4 and MT5

The zip holds the compiled Fractal Adaptive Moving Average Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

Why must FramaPeriod 16 be even?

The calculation splits the window into two equal halves. It then compares their travel against the whole. An odd number cannot divide cleanly, so the comparison behind the dimension breaks.

What does the fractal dimension measure?

How jagged recent price is, on a scale between one and two. A straight line approaches one and a completely erratic one approaches two. That single number sets how fast the average moves.

What does SlowSC 200 clamp?

How slow the line may get during a very jagged stretch. Without the clamp the average could effectively stop moving, which would leave it behind when a trend finally starts.

Is FRAMA better than a plain EMA?

It adapts, which a fixed average cannot. That helps in markets that alternate between trending and chopping. It still lags, and in a steady trend a good fixed average can match it.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Fractal Adaptive Moving Average Indicator as one input. Always backtest before trading live.

Category: this is part of our Trend collection. Also, truly, browse more Trend for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment