El indicador técnico "Media Móvil Adaptativa Fractal" (Fractal Adaptive Moving Average, FRAMA) fue desarrollado por John Ehlers. Este indicador se construye a base del algoritmo de la Media Móvil Exponencial, en la que el factor de suavizado se calcula a base de la actual dimensión fractal de la serie de precios. La ventaja del indicador FRAMA consiste en su capacidad de seguir fuertes movimientos de tendencia y desacelerarse suficientemente durante los momentos de consolidaciones de los precios.
A este indicador se le puede aplicar todos los tipos de análisis que se utilizan para las Medias Móviles.
Usted puede comprobar las señales comerciales de este indicador después de crear su propio Asesor Experto con MQL5 Wizard. |
---|
FRAMA(i) = A(i) * Price(i) + (1 - A(i)) * FRAMA(i-1)
aquí:
FRAMA(i) – valor actual de FRAMA;
Price(i) – precio actual;
FRAMA(i-1) – valor anterior de FRAMA;
A(i) – factor actual del suavizado exponencial.
El factor actual del suavizado exponencial se calcula según la fórmula:
A(i) = EXP(-4.6 * (D(i) - 1))
aquí:
D(i) – dimensión fractal actual;
EXP() – función matemática exponencial.
La dimensión fractal de una línea recta es igual a uno. De la fórmula se ve que si D = 1, entonces A = EXP(-4.6 *(1-1)) = EXP(0) = 1. De esta manera, si el precio se cambia rectilíneamente, el suavizado exponencial no se utiliza, ya que la fórmula para esos cálculos es la siguiente:
FRAMA(i) = 1 * Price(i) + (1 – 1) * FRAMA(i–1) = Price(i)
O sea, el indicador sigue directamente el precio.
La dimensión fractal de la superficie es igual a dos. De la fórmula resulta que si D = 2, entonces el factor de suavizado A = EXP(-4.6*(2-1)) = EXP(-4.6) = 0.01. El valor tan pequeño del factor de suavizado exponencial se obtiene en los momentos cuando el precio hace un movimiento dentado bastante fuerte. Una disminución tan fuerte corresponde a una media móvil simple aproximadamente de 200 períodos.
Fórmula de dimensión fractal:
D = (LOG(N1 + N2) - LOG(N3))/LOG(2)
Se calcula a base de una fórmula auxiliar:
N(Length,i) = (HighestPrice(i) - LowestPrice(i))/Length
aquí:
HighestPrice(i) – valor máximo actual para Length períodos;
LowestPrice(i) – valor mínimo actual para Length períodos;
Los valores N1, N2 y N3 respectivamente son iguales a:
N1(i) = N(Length,i)
N2(i) = N(Length,i + Length)
N3(i) = N(2 * Length,i)