Comparación de diferentes tipos de media móvil en el comercio

Aleksey Zinovik | 15 diciembre, 2017


Contenido

Introducción

La media móvil (Moving Average, MA) es uno de los indicadores técnicos más populares en el mercado Fórex. Nuestro objetivo es analizar las diferentes MA y compararlas en el comercio en condiciones idénticas de entrada y salida.

Vamos a analizar 7 tipos de media móvil: Moving Average, Adaptive Moving Average, Double Exponential Moving Average, Fractal Adaptive Moving Average, Triple Exponential Moving Average, Variable Index Dynamic Average y Nick Rypock Moving Average.

Tipos de media móvil

En este apartado, se muestra una breve descripción y varias fórmulas para calcular las medias móviles que nos interesan.

Indicador técnico Moving Average

Moving Average es uno de los indicadores técnicos más extendidos. Muestra el valor medio del precio de un instrumento en un periodo de tiempo dado. Existen diversas variantes del indicador MA:

  • Simple Moving Average (SMA) — media móvil simple;
  • Exponential Moving Average (EMA) — media móvil exponencial;
  • Smoothed Moving Average (SMMA) — media móvil suavizada;
  • Linear Weighted Moving Average (LWMA) — media móvil ponderada lineal.

Vamos a mostrar las fórmulas de cálculo para cada variante del indicador Moving Average:

Variante del indicador Moving Average Fórmula de cálculo Comentarios
Simple Moving Average (SMA) SMA
  • n — número de periodos unitarios (por ejemplo, con n=6 en un gráfico con el periodo M15, el cálculo del indicador será realizado para las últimas 1,5 horas)
  • PRICE — valor actual del precio, en los ajustes del indicador se pueden elegir las siguientes variantes: high, low, open, close, median price ((high+Low)/2), typical price ((high+Low+Close)/3), weighted close ((high+Low+Close+Close)/4) o los datos del anterior indicador
Exponential Moving Average (EMA) EMA
  • EMA(i-1) — valor anterior
  • F — factor de suavizado (proporción de uso de los valores de los precios). El coeficiente F se elige de forma aleatoria dentro de los límites de 0 a 1, por ejemplo F=2/(n+1), donde n es el número de periodos unitarios
  • PRICE — valor actual del precio
Smoothed Moving Average (SMMA) SMMA
  • SMMA(i-1) — valor anterior
  • n — número de periodos unitarios
  • PRICE — valor actual del precio
Linear Weighted Moving Average (LWMA) LWMA
  • PRICE — valor actual del precio
  • n — número de periodos unitarios

Vamos a analizar la representación de las diferentes variantes de Moving Average en el gráfico de precio. En la figura 1 se muestran las variantes del indicador Moving Average con un periodo 12, calculado según los precios Close.

Indicador Moving Average

Fig. 1 Variantes del indicador Moving Average

Como podemos ver por el dibujo, Simple Moving Average oscila ligeramente en el mercado plano (flat), y esto puede dar señales comerciales falsas. Smoothed Moving Average, como se comprende por su nombre, tiene un aspecto más suavizado. Exponential Moving Average y Linear Weighted Moving Average se comportan de forma semejante en el mercado plano. Durante el movimiento de tendencia, Linear Weighted Moving Average se mueve más cerca de los precios que el resto de las líneas y, a diferencia de SMMA y EMA, no depende del valor anterior.

Indicadores técnicos basados en la media móvil exponencial (EMA)

La media móvil exponencial (EMA) ejerce como núcleo de otros indicadores técnicos.

Indicador
Descripción
Fórmula de cálculo
Explicación de la fórmula cálculo

Adaptive Moving Average (AMA)

MA con poca sensibilidad al ruido. En comparación con otras medias móviles, este indicador tiene un retardo poco significativo en la definición de los virjaes y el cambio de tendencia.
Ante saltos de precio fuertes, el indicador no da fluctuaciones intensas, y por lo tanto no causa señales comerciales falsas.
Cálculo del indicador AMA
  • AMA(i-1) — valor anterior del indicador
  • Price(i) — valor actual del precio
  • SSC(i) —  constante de suavizado

Double Exponential Moving Average

Se usa para suavizar el precio o los valores de otros indicadores. 

La principal ventaja es la ausencia de señales falsas en los momentos en que el precio se mueve en zigzag. Hace posible mantener la posición en un periodo de tendencia fuerte y disminuye los retrasos de la señal en comparación con la EMA habitual.

Cálculo del indicador DEMA


  • EMA(Price, n, i) — valor actual de EMA del precio Price con periodo n
  • EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — EMA doble del precio Price con periodo n

Triple Exponential Moving Average

Síntesis de la MA exponencial simple, doble y triple. Como resultado, el retraso es mucho más pequeño que para cada una de las MA individualmente.

El indicador se utiliza en lugar de las medias móviles tradicionales, y también para suavizar los gráficos de precios y los valores de otros indicadores. 

Cálculo del indicador TEMA
  • EMA(Price, n, i) — valor actual de EMA del precio Price con periodo n
  • EMA2(Price, n, i) = EMA(EMA(Price, n, i), n, i) — EMA doble del precio Price con periodo n
  • EMA3(Price, n, i)=EMA(EMA2(Price, n, i), n, i) — EMA triple del precio Price con periodo n

Fractal Adaptive Moving Average

Aquí, el factor de suavizado se calcula sobre la base de la dimensión fractal actual de la serie de precios. La ventaja del indicador es que va más allá de la tendencia fuerte, y se desacelera intensamente en los periodos de consolidación.

Cálculo del indicador FRAMA

  • Price(i) — valor actual del precio
  • A(i) — factor actual de suavizado exponencial

Variable Index Dynamic Average

Se trata de una EMA cuyo periodo de promediación cambia y depende de la volatilidad del mercado. 

La volatilidad del mercado se mide con el oscilador Chande Momentum Oscilador (OCM). Mide la relación entre las sumas de incrementos positivos y negativos para un cierto periodo (periodo de CMO). El valor de CMO ejerce como coeficiente para el factor de suavizado de EMA. De esta forma, para el indicador se pueden ajustar dos parámetros: el periodo del oscilador CMO y el periodo de suavizado de EMA.

Cálculo del indicador VIDYA
  • F=2/(n+1) — factor de suavizado, n — número de periodos unitarios
  • ABS - es una función matemática que calcula el valor absoluto de la magnitud
  • VIDYA(i-1) — valor anterior del indicador
  • CMO(i) — valor del oscilador CMO

Nick Rypock Moving Average

El indicador no entra en el paquete estándar del terminal MetaTrader 5. Su principal ventaja es que prácticamente no muestra fluctuaciones en el mercado plano, sigue estrictamente la tendencia. 

Cálculo del indicador NRMA

  • NRMA(i-1) — valor anterior del indicador
  • Price(i) — valor actual del precio
  • F=2/(n+1) — factor de suavizado, n — número de periodos unitarios

    NRratio - coeficiente para el factor de suavizado

Diferencias de los indicadores con respecto a la EMA habitual

Vamos a comparar los indicadores analizados más arriba con una EMA habitual. En la figura 2 se muestran:

  • Adaptive Moving Average (periodo 12, EMA rápida — 2, EMA lenta — 30, desplazamiento — 0)
  • Double Exponential Moving Average (periodo — 12, desplazamiento — 0)
  • Fractal Adaptive Moving Average (periodo — 12, desplazamiento — 0)
  • Exponential Moving Average (periodo — 12, desplazamiento — 0)
  • Triple Exponential Moving Average (periodo — 12, desplazamiento — 0)
  • Variable Index Dynamic Average (periodo CMO — 12, periodo EMA — 12, desplazamiento — 0)
  • Nick Rypock Moving Average (método de promediación — SMA, profundidad de suavizado — 3, parámetro de suavizado — 15 (no se usa para SMA), Kf — 1, Fast — 12, Sharp — 2, desplazamiento en vertical y horizontal — 0).

Todos los indicadores han sido construidos sobre los precios Close.

AMA, DEMA, TEMA, FRAMA, VIDYA, NRMA, EMA

Fig. 2. Comparación de los indicadores basados en la media móvil exponencial (EMA)

Como podemos ver por la figura 2, DEMA y TEMA, en comparación con la EMA habitual, repiten con mayor precisión los movimientos de precio, sin embargo, sus oscilaciones en mercado plano pueden dar señales comerciales falsas. Los demás indicadores (FRAMA, AMA, VIDYA, NRMA) apenas vacilan en el mercado plano, no reaccionan a los pequeños cambios de precio. Durante la tendencia, casi todos los indicadores se han comportado de la misma forma, TEMA y FRAMA han reaccionado antes que los demás al cambio de dirección de la tendencia.

Comparando diferentes tipos de media móvil

Vamos a comparar los indicadores técnicos analizados más arriba en la estrategia comercial con las mismas condiciones de entrada y salida del mercado.

Descripción de la estrategia comercial

Para poner a prueba el indicador, hemos elegido una estrategia simple con condiciones claras para la entrada en el mercado y la salida del mismo.

Condiciones de entrada en el mercado. 

  • Señal preliminar de compra: la línea del indicador cruza el cuerpo de las velas "alcistas". A continuación, si la diferencia entre los valores actuales del indicador y los anteriores es superior al parámetro Growth factor establecido (el indicador crece), abrimos la transacción de compra.
  • Señal preliminar de venta: la línea del indicador cruza el cuerpo de las velas "bajistas". A continuación, si la diferencia entre los valores actuales del indicador y los anteriores es superior al parámetro Growth factor establecido (el indicador cae), abrimos la transacción de venta.

Condiciones de salida del mercado:

  • al alcanzar los niveles de TakeProfit o StopLoss;
  • si hay abierta una transacción de compra y la línea del indicador ha cruzado el cuerpo de la vela "bajista";
  • si hay abierta una transacción de venta y la línea del indicador ha cruzado el cuerpo de la vela "alcista".

En las figuras 3,4 se muestran ejemplos de comercio con esta estrategia.

Buy

Fig. 3. Ejemplo de transacción de compra

Sell

Fig. 4. Ejemplo de transacción de venta

Una estrategia comercial semejante se ha implementado en el asesor Moving Average, que se puede encontrar en el navegador del terminal MetaTrader 5.

Creación del asesor

Vamos a escribir un asesor para comerciar según la estrategia descrita más arriba. En el asesor se implementará la posibilidad de elegir uno de los indicadores técnicos: MA (con los métodos Simple, Exponential, Smoothed, Linear Weighted), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA. El indicador elegido se dibujará en el gráfico. Asimismo, podemos indicar los parámetros de entrada del indicador, establecer el tamaño de TakeProfit y StopLoss, el tamaño del lote para comerciar y el valor del coeficiente de crecimiento del indicador (Growth factor).

Solo comprobaremos las condiciones de entrada y salida en el mercado en la nueva barra, no en cada tick. Primero se comprueba la presencia de posiciones abiertas (para ello, se ha creado en el asesor la función SelectPosition). Si no hay ninguna, comprobamos la condición de entrada (función CheckForOpen), si la hay, comprobamos la condición de salida (función CheckForClose).

El código del asesor se adjunta al artículo (archivo MultiMovingAverageExpert.mq5). Vamos a analizar solo la implementación de las condiciones de entrada y salida en el mercado. La comprobación de las condiciones de entrada se implementa en la función CheckForOpen de la forma siguiente:

   if(rt[0].open>ma[0] && rt[0].close<ma[0])               //comprobamos el cruzamiento del cuerpo de las velas "bajistas"
     {
      if(BuyCross)
         BuyCross=false;                                   //quitamos la condición preliminar de compra (si antes de ello la línea del indicador ha cruzado la vela "alcista")
      SellCross=true;                                      //establecemos la condición preliminar de venta
     }
   else
   if(rt[0].open<ma[0] && rt[0].close>ma[0])               //comprobamos el cruzamiento del cuerpo de la vela "alcista"
     {
      if(SellCross)
         SellCross=false;                                 //quitamos la condición preliminar de venta (si antes de ello la línea del indicador ha cruzado la vela "bajista")
      BuyCross=true;                                      //establecemos la condición preliminar de compra
     }
   if(SellCross && ma[0]>ma[1] && ma[0]-ma[1]>GFactor)
     {
      signal=ORDER_TYPE_SELL;                             //si el indicador cae, aparece la condición de venta
      SellCross=false;                                    //quitamos la condición preliminar de venta
     }
   else
   if(BuyCross && ma[1]>ma[0] && ma[1]-ma[0]>GFactor)
     {
      signal=ORDER_TYPE_BUY;                             // si el indicador crece, aparece la condición de compra
      BuyCross=false;                                    //quitamos la condición preliminar de compra
     }
  • En la matriz rt[] se guardan los datos históricos de los precios
  • En la matriz ma[] se guardan los valores del indicador.
  • rt[0].close, rt[0].open — valor del precio close/open anterior
  • ma[0] — valor previo del indicador
  • ma[1] — valor actual del indicador.
  • GFactor — coeficiente de crecimiento del indicador.
  • La variable signal se utiliza en lo sucesivo para formar la solicitud comercial de compra o venta.

La comprobación de las condiciones de salida se implementa en la función CheckForClose de la forma siguiente:

   bool signal=false;
   long type=PositionGetInteger(POSITION_TYPE);

   if(type==(long)POSITION_TYPE_BUY && rt[0].open>ma[0] && rt[0].close<ma[0])       //si hay abierta una posición de compra y 
                                                                                    //la línea del indicador cruza el cuerpo de la vela "bajista" 
      signal=true;                                                                  //señal de cierre de transacción
   if(type==(long)POSITION_TYPE_SELL && rt[0].open<ma[0] && rt[0].close>ma[0])      //si hay abierta una posición de venta y 
                                                                                    //la línea del indicador cruza el cuerpo de la vela "alcista"  
      signal=true;                                                                  //señal de cierre de transacción
   if(signal)
     {
      if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100)
         ExtTrade.PositionClose(_Symbol,3);                                         //cerramos la transacción
     }

Simulación y resultados del funcionamiento del asesor

Vamos a simular el asesor con las parejas de divisas EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD, marco temporal H1. TakeProfit — 80 puntos, StopLoss — 50 puntos, volumen del lote para el comercio 0.1, volumen del depósito — 10 000 USD, modo de simulación — todos los ticks, apalancamiento 1:100, cotizaciones de 5 dígitos, servidor: MetaQuotes-Demo.

La simulación se ha llevado a cabo en el periodo que va desde el 01.01.2016 al 09.09.2017.

Para cada indicador se han optimizado el periodo (rango de cambio 5 — 50, salto 1) y el parámetro Growth factor (rango de cambio 0,0001 —  0,0001, salto 0,001).

Para Variable Index Dynamic Average se han optimizado el periodo EMA (como periodo de cálculo del indicador) y el periodo del oscilador CMO (rango de cambio 5 — 50, salto 1).

Para Nick Rypock Moving Average se ha optimizado el parámetro Fact, que define el periodo de cálculo del indicador.

El cálculo de los valores de los indicadores se ha realizado según los precios Close, sin desplazamiento en horizontal o vertical. Algunos indicadores tienen parámetros adicionales:

Nombre de la media móvil Valores de los parámetros
Adaptive Moving Average
  • Periodo de la EMA rápida — 2
  • Periodo de la EMA lenta — 30
Nick Rypock Moving Average
  • Método de promedicación — SMA
  • Profundidad de suavizado — 3
  • Parámetro de suavizado — 15 (no se utiliza con el método de promediación SMA)
  • KF=1
  • Sharp=2

Resultados de la simualción con la pareja de divisas EURUSD

Los resultados de la simualción con la pareja de divisas EURUSD (variantes con el mejor beneficio neto) se muestran en el recuadro:

Nombre de la media móvil Parámetros y valores optimizables Número de transacciones Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción
máxima de recursos
Moving Average (método de promediación Simple) Periodo —15, Growth factor — 0.0002 383 1309.82 1.32 3.14 0.1 397.29 (3.81%) 417.26 (3.99%)
Moving Average (método de promediación Exponential) Periodo — 11, Growth factor — 0.0003 405 1109.72 1.22 3.02 0.08 346.35 (3.39%) 367.45 (3.6%)
Moving Average (método de promediación Smoothed) Periodo — 6, Growth factor — 0.0003 405 1109.72 1.22 3.02 0.08 346.35 (3.39%) 367.45 (3.6%)
Moving Average (método de promediación Linear Weighted) Periodo — 22, Growth factor — 0.0002 351 1505.35 1.34 3.65 0.11 383.71 (3.41%) 412.88 (3.91%)
Adaptive Moving Average Periodo — 14, Growth factor — 0.0001 384 1024.19 1.19 1.63 0.07 600.06 (5.41%) 627.36 (5.64%)
Double Exponential Moving Average Periodo — 28, Growth factor — 0.0003 366 1676.43 1.39 3.49 0.12 460.33 (4.39%) 481.03 (4.58%)
Triple Exponential Moving Average Periodo — 44, Growth factor — 0.0002 482 1842.81 1.35 5.31 0.11 321.07 (3.14%) 347.27 (3.39%)
Fractal Adaptive Moving Average Periodo — 16, Growth factor — 0.0007 174 766.52 1.37 2.69 0.12 252.4 (2.5%) 285.08 (2.78%)
Variable Index Dynamic Average Periodo EMA — 12, periodo CMO — 2, Growth factor — 0.0003 333 1237.31 1.26 2.86 0.09 385.44 (3.43%) 432.81 (3.84%)
Nick Rypock Moving Average Fact — 15, Growth factor — 0.0001 295 1669.62 1.42 4.14 0.14 376.22 (3.5%) 403.52 (3.75%)

A partir de los resultados de la simulación, podemos sacar las siguientes conclusiones:

  • Triple Exponential Moving Average ha mostrado el mayor índice de beneficio neto y el mejor factor de recuperación, sin embargo, sus demás índices no son los más altos; tampoco han dado malos resultados Double Exponential Moving Average y Nick Rypock Moving Average.
  • Adaptive Moving Average ha mostrado el peor índice de rentabilidad, factor de recuperación, coeficiente de Sharpe, y también la mayor reducción de los recursos y el balance.

Para realizar una comparación más clara de los resultados de las pruebas, normalizaremos los beneficios netos, la rentabilidad, el coeficiente de Sharpe, el factor de recuperación, la reducción máxima del balance y los recursos según la fórmula siguiente:

donde:

  • nValue — valor normalizado del parámetro en el intervalo de 0 a 1,
  • Value — valor actual del parámetro,
  • MaxValue — valor máximo del parámetro,
  • MinValue — valor mínimo del parámetro.

Los resultados se muestran en un recuadro (destacamos en amarillo los mejores resultados, en rojo, los peores):

Nombre de la media móvil  Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción máxima de los recursos Suma de los índices sin tener en cuenta las reducciones Suma de los índices teniendo en cuenta las reducciones
Moving Average (método de promediación Simple) 0.50479 0.56522 0.41033 0.42857 0.41676 0.38618 1.9089 1.10597
Moving Average (método de promediación Exponential) 0.31887 0.13043 0.37772 0.14286 0.27024 0.24065 0.96988 0.459
Moving Average (método de promediación Smoothed) 0.31887 0.13043 0.37772 0.14286 0.27024 0.24065 0.96988 0.459
Moving Average (método de promediación Linear Weighted) 0.68646 0.65217 0.54891 0.57143 0.3777 0.37338 2.45898 1.7079
Adaptive Moving Average 0.23941
0 0 0 1 1 0.23941 -1.76059
Double Exponential Moving Average
0.84541

0.86957 0.50543 0.71429 0.59808 0.57248 2.9347 1.76413
Triple Exponential Moving Average 1 0.69565 1 0.57143 0.19572 0.18169 3.26708 2.88787
Fractal Adaptive Moving Average 0 0.78261 0.28804 0.71429 0 0 1.78494 1.78494
Variable Index Dynamic Average 0.43742
0.29631 0.33361 0.27656 0.38267 0.43161 1.34419 0.52992
Nick Rypock Moving Average 0.83909 1 0.68207 1 0.35615 0.34603 3.52115 2.81897

En la última columna del recuadro, al sumar los índices, los valores de la reducción máxima del balance y de los recursos se han adoptado un signo negativo para ellos (cuanto menor sea la reducción, mejor sera la estrategia). De esta forma, los mejores índices para la estrategia analizada han sido mostrados por Triple Exponential Moving Average, Nick Rypock Moving Average y Double Exponential Moving Average (en el recuadro se destacan en amarillo). Los resultados de la simulación para TEMA, NRMA y DEMA se muestran en la fig. 5-10.

Gráfico para Triple Exponential MA

Fig. 5. Gráfico del balance (recursos) para Triple Exponential Moving Average


Fig. 6. Informe para Triple Exponential Moving Average

Gráfico para NRMA

Fig. 7. Gráfico del balance (recursos) para Nick Rypock Moving Average


Fig. 8. Informe para Nick Rypock Moving Average

Gráfico DEMA

Fig. 9. Gráfico del balance (recursos) para Double Exponential Moving Average 


Fig. 10. Informe para Double Exponential Moving Average 

En la figs. 5, 7, 9 podemos ver que el gráfico del balance (recursos) para TEMA parace más estable que NRMA y DEMA, aunque tiene pequeñas reducciones. En el gráfico de balance (recursos) de NRMA se observa un crecimiento brusco del beneficio en los últimos 3 meses de comercio; en el gráfico DEMA el crecimiento del beneficio (con una pequeña reducción) se cuenta desde diciembre de 2016.

Resultados de la simualción con la pareja de divisas  GBPUSD

Los resultados de la simualción con la pareja de divisas GBPUSD se muestran en el recuadro:

Nombre de la media móvil Parámetros y valores optimizables Número de transacciones Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción  
máxima de recursos
Moving Average (método de promediación Simple) Periodo —38, Growth factor — 0.0005 52 1013.56 1.98 3.82 0.32 207.04 (2.7%) 265.06 (2.65%)
Moving Average (método de promediación Exponential) Periodo —41 , Growth factor — 0.0002 219 787.12 1.14 1.23 0.07 576.96 (5.21%) 639.44 (5.75%)
Moving Average (método de promediación Smoothed) Periodo — 42, Growth factor — 0.0003 48 817.42 1.71 3.85 0.26 151.32 (1.51%) 212.24 (2.04%)
Moving Average (método de promediación Linear Weighted) Periodo — 50, Growth factor — 0.0001 328 1086.08 1.17 1.26 0.07 818.34 (7.45%) 861.04 (7.82%)
Adaptive Moving Average Periodo — 21, Growth factor — 0.001 100 1102.16 1.61 4.61 0.21 176.46 (1.71%) 239.12 (2.28%)
Double Exponential Moving Average Periodo — 23, Growth factor — 0.0007 263 1070.88 1.21 1.96 0.08 466.24 (4.42%) 547.58 (5.16%)
Triple Exponential Moving Average Periodo — 30, Growth factor — 0.0009 214 1443.90 1.39 4.11 0.14 322.76 (3.02%) 351.14 (3.28%)
Fractal Adaptive Moving Average Periodo — 38, Growth factor — 0.0001 819 651.54 1.05 0.85 0.02 747.98 (7.12%) 764.88 (7.28%)
Variable Index Dynamic Average Periodo EMA — 35, periodo CMO — 7, Growth factor — 0.0004 73 1606.98 1.99 5.20 0.34 251.94 (2.52%) 309 (3.08%)
Nick Rypock Moving Average Fact — 45, Growth factor — 0.0005  53 978.30 1.80 3.86 0.29 200.64 (1.99%) 253.58 (2.51%)

Los resultados normalizados se muestran en el recuadro (destacamos en amarillo los mejores resultados, en rojo, los peores):

Nombre de la media móvil  Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción máxima de los recursos Suma de los índices sin tener en cuenta las reducciones Suma de los índices teniendo en cuenta las reducciones
Moving Average (método de promediación Simple) 0.3789
0.98929 0.68343 0.91799 0.08354 0.08141 2.96961 2.80467
Moving Average (método de promediación Exponential) 0.1419 0.09351 0.08718 0.13465 0.63812 0.65845 0.45724 -0.8393
Moving Average (método de promediación Smoothed) 0.17416 0.70302 0.69032 0.74598 0 0 2.31347 2.31347
Moving Average (método de promediación Linear Weighted) 0.45481 0.12036 0.09417 0.14629 1 1 0.81562 -1.1844
Adaptive Moving Average 0.47164 0.58999 0.86402 0.57613 0.03769 0.04143 2.50177 2.42265
Double Exponential Moving Average
0.4389
0.17142 0.25383 0.1936 0.47213 0.51686 1.05774 0.06875
Triple Exponential Moving Average 0.82931 0.36161 0.74969 0.36845 0.25702 0.21409 2.30906 1.83795
Fractal Adaptive Moving Average 0 0 0 0 0.89452 0.85179 0 -1.7463
Variable Index Dynamic Average 1 1 1 1 0.15085 0.14914 4 3.70001
Nick Rypock Moving Average 0.342 0.79826 0.69126 0.82047 0.07394 0.06372 2.65199 2.51433

Como se puede deducir a partir los recuadros, los mejores índices pertenecen a Variable Index Dynamic Average; también han mostrado buenos resutados Nick Rypock Moving Average y Moving Average, con el método de promediación Simple. Los resultados de la simulación para VIDYA, NRMA y SMA se muestran en las figs. 11-16.

Vidya_gbp_usd

Fig. 11. Gráfico del balance (recursos) Variable Index Dynamic Average


Fig. 12. Informe para Variable Index Dynamic Average

NRMA GBPUSD

Fig. 13. Gráfico del balance (recursos) Nick Rypock Moving Average


Fig. 14. Informe para Variable Index Nick Rypock Moving Average

SMA GBPUSD

Fig. 15. Gráfico del balance (recursos) Simple Moving Average 


Fig. 16. Informe para  Simple Moving Average 

En la figs. 11-16 vemos que los gráficos VIDYA, NRMA y SMA tienen más o menos el mismo aspecto: al inicio del comercio se observa una pequeña reducción, a continuación los gráficos crecen, y el número de transacciones en VIDYA es mayor que en NRMA y SMA. El tanto por ciento de transacciones rentables de VIDYA supera a NRMA y SMA.

Resultados de la simulación con la pareja de divisas USDJPY

Los resultados de la simulación con la pareja de divisas USDJPY se muestran en el recuadro:

Nombre de la media móvil Parámetros y valores optimizables Número de transacciones Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción  
máxima de recursos
Moving Average (método de promediación Simple) Periodo —34, Growth factor — 0.0004 451 1784.95 1.32 3.69 0.1 465.52 (4.17%) 483.34 (4.32%)
Moving Average (método de promediación Exponential) Periodo — 42, Growth factor — 0.0007 465 1135.23 1.20 2.21 0.07 461.52 (4.08%) 514.61 (4.53%)
Moving Average (método de promediación Smoothed) Periodo — 33, Growth factor — 0.0008 372 1702.94 1.36 5.15 0.12 296.57 (2.58%) 330.6 (2.87%)
Moving Average (método de promediación Linear Weighted) Periodo — 50, Growth factor — 0.0005 477 1892.24 1.33 4.66 0.10 384.06 (3.68%) 406.1 (3.88%)
Adaptive Moving Average Periodo — 46, Growth factor — 0.0006 403 1460.51 1.26 2.56 0.09 527.75 (4.77%) 569.67 (5.13%)
Double Exponential Moving Average Periodo — 18, Growth factor — 0.001 1062 1459.18 1.15 3.55 0.05 366.24 (3.30%) 410.56 (3.69%)
Triple Exponential Moving Average Periodo — 50, Growth factor — 0.0003 657 1115.86 1.15 1.87 0.05 537.18 (4.68%) 597.71 (5.18%)
Fractal Adaptive Moving Average Periodo — 24, Growth factor — 0.0008 1030 615.92 1.06 0.8 0.02 734.03 (6.58%) 766.01 (6.85%)
Variable Index Dynamic Average Periodo EMA — 18, periodo CMO — 42, Growth factor — 0.001 238 2338.68 1.64 5.14 0.21 417.66 (3.62%) 454.69 (3.93%)
Nick Rypock Moving Average Fact — 28, Growth factor — 0.0002 435 1465.32 1.27 3.00 0.09 456.65 (4.02%) 488.7 (4.29%)

Los resultados normalizados se muestran en el recuadro (destacamos en amarillo los mejores resultados, en rojo, los peores):

Nombre de la media móvil  Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción máxima de los recursos Suma de los índices sin tener en cuenta las reducciones Suma de los índices teniendo en cuenta las reducciones
Moving Average (método de promediación Simple) 0.67858 0.45316 0.66457 0.4324 0.38621 0.3508 2.22871 1.49171
Moving Average (método de promediación Exponential) 0.30144 0.25001 0.32251 0.25216 0.37706 0.42261 1.12612 0.32645
Moving Average (método de promediación Smoothed) 0.63098 0.51885 1 0.50010 0 0 2.64993 2.64993
Moving Average (método de promediación Linear Weighted) 0.74086 0.46535 0.88693 0.42881 0.2 0.1734 2.52195 2.14855
Adaptive Moving Average 0.49025 0.34559 0.40481 0.36951 0.52846 0.54907 1.61017 0.53264
Double Exponential Moving Average 0.48948 0.15054 0.63263 0.14711 0.15926 0.18364 1.41976 1.07686
Triple Exponential Moving Average 0.2902 0.15141 0.2445 0.15928 0.55002 0.61347 0.84538 -0.3181
Fractal Adaptive Moving Average 0 0 0 0 1 1 0 -2
Variable Index Dynamic Average 1 1 0.99825 1 0.2768 0.285 3.99825 3.43645
Nick Rypock Moving Average   0.49305  0.36549  0.50479  0.37182 0.36593  0.36311  1.73515  1.00611 

Como se puede deducir a partir los recuadros, los mejores índices pertenecen a Variable Index Dynamic Average y Moving Average, con los métodos de promediación Smoothed y Linear Weighted. Los índices de beneficio neto y rentabilidad y el coeficiente de Sharpe de VIDYA superan a los de SMMA y LWMA, pero SMMA y LWMA tienen menor reducción de balance y recursos. Los resultados de simulación para VIDYA, SMMA y LWMA se muestran en las figs. 17-22.

Vidya USDJPY

Fig. 17. Gráfico del balance (recursos) Variable Index Dynamic Average


Fig. 18. Informe para  Variable Index Dynamic Average

LWMA

Fig. 19. Gráfico del balance (recursos)  Linear Weighted Moving Average 


Fig. 20. Informe para  Linear Weighted Moving Average 

SSMA

Fig. 21. Gráfico del balance (recursos) Smoothed Moving Average 


Fig. 22. Informe para  Smoothed Moving Average

En la figs. 17-22 vemos que, a pesar del bajo porcentaje de transacciones rentables, los indicadores demuestran un beneficio neto alto: esto se debe a que la pareja de divisas USDJPY tiene una alta volatilidad.

Resultados de la simulación con la pareja de divisas USDCAD

Los resultados de la simulación con la pareja de divisas USDCAD se muestran en el recuadro:

Nombre de la media móvil Parámetros y valores optimizables Número de transacciones Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción  
máxima de recursos
Moving Average (método de promediación Simple) Periodo —39, Growth factor — 0,0004 59 1101.44 2.30 7.11 0.40 133.44 (1.25%) 154.92 (1.45%)
Moving Average (método de promediación Exponential) Periodo — 31, Growth factor — 0.0005 76 951.88 1.74 3.01 0.27 278.08 (2.56%) 316.57 (2.91%)
Moving Average (método de promediación Smoothed) Periodo — 50, Growth factor — 0.0001 121 1262.26 1.57 3.07 0.22 343.76 (3.19%) 411.32 (3.81%)
Moving Average (método de promediación Linear Weighted) Periodo — 46, Growth factor — 0.0005 46 903.64 2.34 5.31 0.42 128.97 (1.22%) 170.05 (1.61%)
Adaptive Moving Average Periodo — 38, Growth factor — 0.0009 41 990.44 3.18 8.62 0.55 77.57 (0.73%) 114.96 (1.09%)
Double Exponential Moving Average Periodo — 44, Growth factor — 0.0007 73 941.93 2.07 5.33 0.32 137.28 (1.28%) 176.6 (1.64%)
Triple Exponential Moving Average Periodo — 49, Growth factor — 0.0009 76 559.18 1.62 3.28 0.20 122.21 (1.2%) 170.57 (1.66%)
Fractal Adaptive Moving Average Periodo — 15, Growth factor — 0.0009 185 504.26 1.27 2.44 0.09 197.12 (1.95%) 206.37 (2.04%)
Variable Index Dynamic Average Periodo EMA — 34, periodo CMO — 9, Growth factor — 0.0002 111 1563.99 1.86 6.17 0.30 185.64 (1.70%) 253.36 (2.32%)
Nick Rypock Moving Average Fact — 41, Growth factor —0.0004  81 594.91 1.39 1.74 0.16 309.02 (2.88%) 342.16 (3.18%)

Los resultados normalizados se muestran en el recuadro (destacamos en amarillo los mejores resultados, en rojo, los peores):

Nombre de la media móvil  Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción máxima de los recursos Suma de los índices sin tener en cuenta las reducciones Suma de los índices teniendo en cuenta las reducciones
Moving Average (método de promediación Simple) 0.56352
0.53776 0.78104 0.67198 0.20989 0.13484 2.5543 2.20957
Moving Average (método de promediación Exponential) 0.42239 0.24419 0.18441 0.37529 0.75326 0.68029 1.22628 -0.2073
Moving Average (método de promediación Smoothed) 0.71528 0.15751 0.19342 0.26924 1 1 1.33545 -0.6646
Moving Average (método de promediación Linear Weighted) 0.37687   0.55859 0.5199 0.69827 0.1931 0.18589 2.15363 1.77465
Adaptive Moving Average 0.45878 1 1 1 0 0 3.45878 3.45878
Double Exponential Moving Average 0.413
0.42112 0.52277 0.48957 0.22431 0.20799 1.84645 1.41415
Triple Exponential Moving Average 0.05182 0.18256 0.22388 0.23681 0.1677 0.18764 0.69508 0.33974
Fractal Adaptive Moving Average 0 0 0.10249 0 0.44912 0.30844 0.10249 -0.6551
Variable Index Dynamic Average 1 0.30606 0.64482 0.43945 0.40599 0.467 2.39033 1.51734
Nick Rypock Moving Average   0.08554 0.06124  0.14059 0.86949  0.76664  0.28737  -1.3488 

Como podemos comprender por el recuadro, los mejores índices los muestran Adaptive Moving Average, Moving Average, con el método de promediación Simple y Variable Index Dynamic Average. Adaptive Moving Average demuestra los mejores índices de rentabilidad, factor de recuperación y coeficiente de Sharpe, además, también tiene la menor reducción de balance y recursos. Variable Index Dynamic Average tiene el mayor beneficio neto, pero los demás índices no son los más altos. Los resultados de la simulación para AMA, SMA y VIDYA se muestran en las figs. 23-28.

AMA

Fig. 23. Gráfico del balance (recursos) Adaptive Moving Average


Fig. 24. Informe para  Adaptive Moving Average

SMA

Fig. 25. Gráfico del balance (recursos) Simple Moving Average


Fig. 26. Informe para  Simple Moving Average

VIDyA

Fig. 27. Gráfico del balance (recursos) Variable Index Dynamic Average


Fig. 28. Informe para  Variable Index Dynamic Average

En las figs. 23-28 vemos que AMA tiene el menor número de transacciones y el mayor porcentaje de transacciones con beneficios. SMA y VIDYA tienen grandes beneficios gracias a su mayor número de transacciones, mientras que el número de operaciones rentables supera al de las no rentables. No se observan fuertes reducciones en los gráficos de AMA, SMA y VIDYA. 

Resultados de la simulación con la pareja de divisas AUDUSD

Los resultados de la simulación con la pareja de divisas AUDUSD se muestran en el recuadro:

Nombre de la media móvil Parámetros y valores optimizables Número de transacciones Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción  
máxima de recursos
Moving Average (método de promediación Simple) Periodo —7, Growth factor — 0.0009 78 262.48 1.36 1.23 0.11 175.85 (1.74%) 214.18 (2.11%)
Moving Average (método de promediación Exponential) Periodo — 40, Growth factor — 0.0004 24 652.88 2.62 2.82 0.47 206.76 (1.93%) 231.76 (2.16%)
Moving Average (método de promediación Smoothed) Periodo — 21, Growth factor — 0.0004 24 651.18 2.61 2.81 0.47 206.76 (1.93%) 231.76 (2.16%)
Moving Average (método de promediación Linear Weighted) Periodo — 32, Growth factor — 0.0005 24 383.64 1.97 2.25 0.30 116.38 (1.11%) 170.24 (1.62%)
Adaptive Moving Average Periodo — 21, Growth factor — 0.0007 58 252.39 1.30 0.54 0.11 392.15 (3.80%) 464.47 (4.48%)
Double Exponential Moving Average Periodo — 40, Growth factor — 0.0006 39 296.15 1.70 1.53 0.20 156.62 (1.51%) 193.02 (1.86%)
Triple Exponential Moving Average Periodo — 21, Growth factor — 0.001 69 273.12 1.35 1.05 0.11 228.5 (2.20%) 259.71 (2.50%)
Fractal Adaptive Moving Average Periodo — 38, Growth factor — 0.0007 83 109.01 1.11 0.55 0.04 142.85 (1.42%) 196.47 (1.94%)
Variable Index Dynamic Average Periodo EMA — 26, periodo CMO — 5, Growth factor — 0.0006  23 697.59 2.99 2.96 0.53 151.35 (1.41%) 235.38 (2.19%)
Nick Rypock Moving Average Fact — 22, Growth factor — 0.0006 34 509.27 1.90 2.55 0.28 94.58 (0.9%) 200 (1.89%)

Los resultados normalizados se muestran en el recuadro (destacamos en amarillo los mejores resultados, en rojo, los peores):

Nombre de la media móvil  Beneficio neto Rentabilidad Factor de recuperación Ratio de Sharpe Reducción máxima del balance Reducción máxima de los recursos Suma de los índices sin tener en cuenta las reducciones Suma de los índices teniendo en cuenta las reducciones
Moving Average (método de promediación Simple) 0.26075 0.12921 0.28183 0.13463 0.27311 0.14934 0.80642 0.38397
Moving Average (método de promediación Exponential) 0.92404 0.80629 0.93942 0.86552 0.37699 0.20909 3.53527 2.94919
Moving Average (método de promediación Smoothed) 0.92115 0.8006 0.93639 0.86226 0.37699 0.20909 3.5204 2.93433
Moving Average (método de promediación Linear Weighted) 0.4666 0.45691 0.70658 0.52861 0.07326 0 2.1587 2.08544
Adaptive Moving Average 0.2436 0.10105 0 0.13347 1 1 0.47812 -1.5219
Double Exponential Moving Average 0.31795
0.31405 0.40942 0.31848 0.20849 0.07742 1.3599 1.07399
Triple Exponential Moving Average 0.27882 0.12776 0.20999 0.14014 0.45005 0.30408 0.75672 0.00259
Fractal Adaptive Moving Average 0 0 0.00473 0 0.16221 0.08915 0.00473 -0.2466
Variable Index Dynamic Average 1 1 1 1 0.19078 0.22139 4 3.58783
Nick Rypock Moving Average   0.68004 0.42124  0.82757  0.48773   0 0.10115  2.41659  2.31545 

Como se puede deducir a partir los recuadros, los mejores índices pertenecen a Variable Index Dynamic Average y Moving Average, con los métodos de promediación Exponential y Smoothed. VIDYA demuestra los mejores índices de beneficio neto, rentabilidad, factor de recuperación y coeficiente de Sharpe. EMA y SMMA tienen prácticamente los mismos índices y el mismo número de transacciones. Los resultados de la simulación para VIDYA, EMA y SMMA se muestran en las figs. 29-34.

VIDyA
Fig. 29. Gráfico del balance (recursos) Variable Index Dynamic Average


Fig. 30. Informe para  Variable Index Dynamic Average

EMA

Fig. 31. Gráfico del balance (recursos)  Exponential Moving Average


Fig. 32. Informe para  Exponential Moving Average

SSMA

Fig. 33. Gráfico del balance (recursos) Smoothed Moving Average


Fig. 34. Informe para  Smoothed Moving Average

En la figs. 29-34 podemos ver que los gráficos de balance (recursos) para VIDYA, EMA y SMMA son más o menos iguales; VIDYA tiene más transacciones rentables que EMA y SMMA. La pareja de divisas AUDUSD tiene una baja volatilidad, lo que explica los resultados obtenidos.

Partiendo de los resultados de la simulación de las parejas de divisas EURUSD, GBPUSD, USDJPY, USDCAD, AUDUSD podemos sacar las siguientes conclusiones:

  • los mejores resultados en las parejas de divisas con alta volatilidad (GBPUSD, USDJPY) y alta volatilidad (AUDUSD) pertenecen a Variable Index Dynamic Average
  • con la pareja de divisas USDCAD, los mejores resultados son los de Adaptive Moving Average, sin embargo, con la pareja EURUSD, esta ha demostrado los peores resultados
  • con la pareja de divisas EURUSD los mejores resultados son los de Triple Exponential Moving Average
  • los peores resultados con las parejas GBPUSD, USDJPY, USDCAD, AUDUSD pertenecen a Fractal Adaptive Moving Average
  • no están mal los resultados demostrados por el indicador estándar Moving Average con diferentes periodos de promediación.

Conclusión

Hemos analizado diferentes medias móviles (MA (con los métodos Simple, Exponential, Smoothed, Linear Weighted), DEMA, TEMA, FRAMA, AMA, VIDYA, NRMA), para cada MA hemos explicado su secuencia de cálculo. Se han comparado y optimizado los parámetros de las medias móviles en el comercio con las mismas condiciones de entrada y salida en el mercado.

A partir de los resultados obtenidos, podemos sacar las siguientes conclusiones:

  • optimizando los parámetros de cualquiera de las medias móviles analizadas, podemos conseguir una estrategia rentable;
  • la mayoría de medias móviles son variantes del indicador EMA;
  • La principal ventaja de las medias móviles basadas en EMA, es la reducción del número de señales falsas en el mercado plano y la mayor capacidad de reacción ante el cambio de tendencia;
  • los mejores resultados pertenecen al indicador Variable Index Dynamic Average, que puede ser utilizado tanto para parejas de divisas con alta y baja volatilidad, como para parejas de divisas con volatilidad media.
En el artículo se han analizado cuatro indicadores técnicos (AMA, FRAMA, VIDYA, NRMA), que se diferencian de EMA por su método de cálculo del factor de suavizado. Es posible que este hecho sirva como estímulo para algunos tráders a la hora de crear una nueva variante más efectiva de EMA.