Технический индикатор Фрактальная Адаптивная Скользящая Средняя (Fractal Adaptive Moving Average, FRAMA) был разработан Джоном Эйлерсом (John Ehlers). Данный индикатор строится на основании алгоритма экспоненциальной скользящей средней, в которой фактор сглаживания вычисляется на основании текущей фрактальной размерности ценового ряда. Достоинством индикатора FRAMA является способность следовать за сильными трендовыми движениями и очень сильно замедляться в моменты ценовых консолидаций.
К этому индикатору применимы все виды анализа, которые используются для скользящих средних.
Вы можете проверить торговые сигналы данного индикатора, создав советник при помощи MQL5 Wizard. |
---|
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)