Справка по MetaTrader 5

Fractal Adaptive Moving Average

Технический индикатор Фрактальная Адаптивная Скользящая Средняя (Fractal Adaptive Moving Average, FRAMA) был разработан Джоном Эйлерсом (John Ehlers). Данный индикатор строится на основании алгоритма экспоненциальной скользящей средней, в которой фактор сглаживания вычисляется на основании текущей фрактальной размерности ценового ряда. Достоинством индикатора FRAMA является способность следовать за сильными трендовыми движениями и очень сильно замедляться в моменты ценовых консолидаций.

К этому индикатору применимы все виды анализа, которые используются для скользящих средних.

Вы можете проверить торговые сигналы данного индикатора, создав советник при помощи MQL5 Wizard.

Fractal Adaptive Moving Average

Расчет

FRAMA(i) = A(i) * Price(i) + (1 - A(i)) * FRAMA(i-1)

где:

FRAMA(i) — текущее значение FRAMA;
Price(i) — текущая цена;
FRAMA(i-1) — предыдущее значение FRAMA;
A(i) — текущий фактор экспоненциального сглаживания.

Фактор экспоненциального сглаживания вычисляется по формуле:

A(i) = EXP(-4.6 * (D(i) - 1))

где:

D(i) — текущая фрактальная размерность;
EXP() — математическая функция экспоненты.

Фрактальная размерность прямой линии равна единице. Из формулы видно, что если D = 1, то A = EXP(-4.6 *(1-1)) = EXP(0) = 1. Таким образом, если цена изменяется прямолинейно, экспоненциальное сглаживание не используется, потому что формула в этом случае выглядит следующим образом:

FRAMA(i) = 1 * Price(i) + (1 — 1) * FRAMA(i—1) = Price(i)

То есть, индикатор точно следует за ценой.

Фрактальная размерность плоскости равна двум. Из формулы получаем, что если D = 2, то фактор сглаживания A = EXP(-4.6*(2-1)) = EXP(-4.6) = 0.01. Столь малое значение фактора экспоненциального сглаживания получается в те моменты, когда цена производит сильное пилообразное движение. Такое сильное замедление соответствует примерно 200-периодной простой скользящей средней.

Формула фрактальной размерности:

D = (LOG(N1 + N2) - LOG(N3))/LOG(2)

Она вычисляется на основе вспомогательной формулы:

N(Length,i) = (HighestPrice(i) - LowestPrice(i))/Length

где:

HighestPrice(i) — текущее максимальное значение за Length периодов;
LowestPrice(i) — текущее минимальное значение за Length периодов;

Значения N1, N2 и N3 соответственно равны:

N1(i) = N(Length,i)

N2(i) = N(Length,i + Length)

N3(i) = N(2 * Length,i)