The Fractal Adaptive Moving Average (FRAMA) is an adaptive and intelligent moving average developed by John Ehlers. It takes into account and gives higher priority precisely to price changes and closely follows the price when it shows significant movements, while in range markets it remains flat without presenting major changes. It uses the fractal dimension of market prices to dynamically adjust its smoothing period.
FRAMA takes advantage of the fact that markets are fractals and dynamically adjusts the look-back period based on this fractal geometry. The actual calculation of this moving average is very elaborate and complicated. FRAMA is often used in combination with other signals and analysis techniques.
Fractals are geometric shapes that can be divided into smaller parts. These parts are just a smaller copy of the full original geometric shape.
This indicator is built on the algorithm of the exponential moving average (EMA), with a smoothing factor calculated based on the current fractal dimension of the price.
FRAMA’s biggest advantage is its ability to track strong trend movements and market consolidation moments.
Formula and values of the FRAMA indicator
Although there are modified indicators in platforms such as Metatrader 4 that are designed to calculate the FRAMA moving average automatically, below we show how it is calculated
The general formula is as follows:
FRAMA (i) = A (i) * Price (i) + (1 – A (i)) * FRAMA (i-1)
Where:
FRAMA (i) – current value of the FRAMA indicator;
Price (i) – current aaset price;
FRAMA (i-1) – previous value of the FRAMA indicator;
A (i) – current exponential smoothing factor.
The current exponential smoothing factor is calculated with the following formula:
A (i) = EXP (-4.6 * (D (i) – 1))
Where:
D (i) – current fractal dimension;
EXP () – exponential mathematical function.
General characteristics of the FRAMA moving average
The FRAMA indicator averages the differences of the highest maximum prices and the lowest minimum prices in variable time segments of the duration of the moving average period.
The obtained values are mathematically manipulated using Boolean logic, Euler’s number, natural logarithms and, together with data from the previous fractal adaptive moving average, are used to calculate the most recent value of the FRAMA.
The length of the FRAMA period, as well as the price type, can be adjusted to reflect the preference of the trader.
The main idea behind the FRAMA is to take into account mainly the most crucial price changes. If the price moves significantly in a particular direction, the FRAMA indicator is able to follow the price very closely, which can be quite advantageous in trending markets.
If the price is moving in a narrow horizontal range and it does not make any crucial moves, the FRAMA remains flat.
FRAMA divides the price chart into smaller parts and then compares these parts with each other. In this way, we have that the price chart is a set made up of many parts, some larger and others smaller. For example, if we want to calculate the 8-day FRAMA, then this moving average analyzes these 8 days, but it also analyzes how the price acts during the first 4 days and the following 4 days.
Visually, the FRAMA looks like any other moving average as shown in the following price chart:

Rules and interpretation of FRAMA trading signals
The interpretation of the FRAMA moving average is identical to the interpretation of the other moving averages.
- However, the biggest difference is that the FRAMA line appears relatively “flat” in market periods when the price moves in a horizontal range. Therefore, it can be used to avoid many false signals when you want to use a moving average crossover trading strategy.
- The FRAMA line has a greater ability to react to trend changes than other moving averages. This offers the trader the ability to open a position much earlier in the market when a horizontal price channel breakout occurs.
You can download a version of the FRAMA indicator for the Metatrader 4 platform in the following article: FRAMA Indicator for MT4