lunes, 6 de febrero de 2017

Indicador de tendencia y sistema tendencial basado en el número de velas cuyo cierre sea superior/inferior a una media móvil

   En este artículo voy a mostrar la lógica de un indicador muy simple pero que desde mi punto de vista puede resultar interesante a la hora de detectar tendencias y que puede servir de base para el desarrollo de sistemas tendenciales. Básicamente, se trata de contar el número de velas de las últimas P cuyo cierre esté por encima o por debajo de una media móvil. A nadie se le escapa pensar que cuanto mayor sea el número de velas cuyo cierre sea mayor/menor que una media móvil, mayor será la probabilidad de que nos encontremos en una tendencia alcista/bajista.

   Vayamos con el indicador (código para PRT):

// Indicador TrendUpDown 
// tradingtendencial.blogspot.com
//
// Parámetros optimizables P (número de velas) y Trigger (porcentaje de velas)  
//
SMA = average[P](close)

IF (close > SMA) THEN

     T = 1

ELSIF (close < SMA) THEN

     T = -1

ELSE

     T = 0

ENDIF

Trend = (100 / P) * Summation[P](T)

Return Trend as "Trend", Trigger as "Trigger"

   Como se puede ver, más sencillo imposible. Se comprueba si el cierre es superior o inferior a una media móvil simple y en función del resultado se asigna el valor de T. Calculamos la suma de T en las últimas P velas y normalizamos su valor para que esté comprendido entre +100 y -100. El valor del Trigger lo utilizamos para ubicar el umbral deseado a la hora de determinar la tendencia alcista o bajista con un valor de 0 de forma predeterminada.

   En principio, la idea puede ser válida para cualquier marco temporal pero donde más lo he probado es para el desarrollo de sistemas tendenciales sobre gráficos mensuales, en este caso, aplicados sobre los índices de contado más importantes de USA y Europa (DJ30, SP500, NDX, AEX25, CAC40, DAX30, ESTOXX50, FTSE100 e IBEX35). En todos estos casos, el retorno es mejor que el Buy and Hold y con unos drawdowns muy inferiores.

   A continuación muestro las condiciones de entrada, salida y stop para un sistema de trading tendencial sobre gráficos mensuales que opera únicamente en el lado largo, basándose en la lógica de este indicador:

   Valores de las variables (para gráficos mensuales):

P = 9
Trigger = 0
SL=2

   Condición de entrada larga:

SetupLong = (Trend > Trigger) and (close > SMA)

   Es decir, para entrar largo, el valor de "Trend" en los últimos 9 meses deberá ser superior a 0 y el cierre de la última vela deberá ser superior a la media móvil simple de 9 meses.

   Para fijar el stop loss, he utilizado el indicador ATR de 14 periodos:

PrecioStop = (close - SL * averageTrueRange[14](close))

   Condición de cierre de largos:

CloseLong = (Trend < Trigger) and (close < SMA)

   Es decir, para cerrar el largo, la lógica inversa.


   En las imágenes siguientes se puede ver el sistema aplicado a los gráficos de contado del DJ30, DAX30 y Estoxx50:





Aviso/Disclaimer:
  • Las opiniones registradas en este blog se refieren única y exclusivamente a las operaciones realizadas por mí en los mercados financieros y, por tanto, ni constituyen recomendaciones de compra y/o venta de activos ni me responsabilizo de las posibles consecuencias de su uso. Del mismo modo, tampoco me hago responsable de las opiniones o sugerencias realizadas por terceros en los comentarios.

No hay comentarios:

Publicar un comentario