Categorías
Indicadores

Detectar la tendencia

Presentación del indicador PowerTrend para detectar la tendencia del precio.

PowerTrend es un indicador para detectar la tendencia del precio. Pinta el fondo del chart de color verde para indicar tendencia alcista, y de rojo para tendencia bajista.

También dibuja unas líneas de frontera alrededor del precio que delimitan zonas de soporte y de resistencia.

En tendencia alcista la línea de frontera es verde, se dibuja por debajo del precio y marca soportes. Y en tendencia bajista la línea es roja, se dibuja por encima del precio, y marca resistencias.

El giro de tendencia se produce cuando el precio supera alguna de las líneas de soporte o de resistencia.

PowerTrend. Indicador para detectar la tendencia

Parámetros

El indicador trabaja con una media HMA (Hull Moving Average) y un ATR (Average True Range). Y tiene tres parámetros principales:

  • Período para el ATR.
  • Multiplicador para el ATR.
  • Período para la media HMA (Hull Moving Average).

Inconvenientes de los indicadores de tendencia

En general, los indicadores de tendencia sufren principalmente de dos problemas:

  1. Retraso en detectar el inicio de tendencia.
  2. Arrojan muchas señales falsas cuando el precio está moviéndose lateralmente o sin tendencia.

Las soluciones a estos dos problemas se contraponen y si aliviamos uno, empeoramos el otro. Por ejemplo, la manera más inmediata de reducir el número de fallos en lateral es aumentar el período de la media, pero entonces aumenta el retraso en detectar el inicio de tendencia. Así que lo que se gana por un lado, se pierde por el otro.

Ventajas del indicador PowerTrend

El indicador PowerTrend es rápido en detectar el inicio de la tendencia. Y al mismo tiempo da pocas señales falsas cuando el precio se encuentra lateral.

Para observar sus ventajas, a continuación lo comparo con un indicador tendencial de referencia como es el DM (Directional Movement).

En la imagen siguiente se observa un chart con el indicador PowerTrend aplicado en el panel del precio. En el panel inferior está el indicador DM (Directional Movement). Ambos indicadores colorean el fondo de su panel para informar sobre la tendencia del precio: alcista en verde o bajista en rojo. Se ha empleado la misma configuración del período para los dos indicadores.

Indicador PowerTrend vs Directional Movement

Conclusiones

Un simple análisis visual ya nos indica que ambos indicadores detectan los giros de tendencia prácticamente al mismo tiempo, por lo que ninguno presenta ventaja sobre el otro en la detección temprana. Pero en tramos laterales el DM presenta áreas con más señales falsas que el PowerTrend, y que he remarcado con rectángulos amarillos. Estas señales falsas penalizarían el rendimiento de cualquier sistema. Así pues, el PowerTrend se puede considerar un buen candidato para incorporase como indicador de referencia en un sistema tendencial.

Descarga

Puede descargar el código fuente del indicador PowerTrend para NinjaTrader 8 desde el siguiente enlace.

Una vez descargado el fichero, no lo descomprima. Importe directamente el fichero .zip en NinjaTrader 8, desde el menú Tools / Import / Ninja Script Add-On…

El indicador se registrará en la biblioteca de indicadores de NinjaTrader con el nombre Zi8SupperiaPowerTrend01.


Aviso de riesgo !

Este artículo tiene una finalidad didáctica y divulgativa acerca de sus contenidos. En ningún caso se pretende ofrecer al lector un vehículo de inversión o especulación mediante las pautas que aquí se explican, y se desaconseja encarecidamente usar los ejemplos propuestos en un entorno productivo con cuenta real. Observe la claúsula de riesgo a pie de página y el Aviso Legal.

15 respuestas a «Detectar la tendencia»

Sí, el indicador puede utilizarse en sistemas automáticos y en el asistente del Strategy Builder, ya que publica sus datos mediante Plots. El nombre de los dos Plots es «PlotBuy» y «PlotSell».

Hola todos que gran indicador, felicidades. Estoy intento utilizarlo con strategy builder, pero como se haria la condicion ( si uptrend igual a que) gracias por su ayuda

Hola Wilson,
el indicador tiene dos plots o series de datos: uno para las barras en tendencia alcista, y otra para las barras en tendencia bajista.
En cada barra sólo se informa uno de los dos plots, el otro no tiene valor. Lo puedes comprobar consultando la DataBox en el chart.

Para saber si una barra está en tendencia alcista serviría con comprobar si UpTrend es mayor que cero. Y si está en bajista, comprobar que DownTrend es mayor que cero.

El problema es facilitar ese valor «cero» para efectuar la comparación. El modo de hacerlo es mediante una variable.

En el paso de ‘Inputs & Variables’ crea una variable y le das el valor 0. Después en el paso de ‘Conditions & Actions’, cuando construyas la condición, para el lado derecho de la expresión lógica te aparecerá una carpeta llamada ‘User variables’ y dentro la variable que podrás usar para la comparación. Espero haberte ayudado.

Buenas Noches, solo queria agradecer por colocar este indicador de manera gratuita. Muchas, muchas gracias. Son Uds (el equipo) muy amables. Saludos de un novato.

Hola!!! ,me puedes decir por favor como automatizo esto en el builder ,??y lo otro para optimizar que conviene más varios targets o un trailing stop?

En el builder puedo colocar varios targets en el builder ?

Hola Rodolfo. En este artículo Cruce de medias, explico cómo automatizar en el Strategy Builder un sencillo sistema basado en el indicador SMA. Con el indicador PowerTrend sería casi idéntico. Prueba primero con el sistema del cruce de medias, y luego cambia la SMA por el PowerTrend.
En cuanto a colocar varios take-profits (o stop-loss), puedes hacerlo, pero tienes que vincular cada uno a una señal de entrada diferente. En este link puedes consultar la documentación oficial de la función donde se observa que el parámetro fromEntrySignal es el encargado de discriminar por nombre de entrada.
Saludos

Muchas gracias pude configurarlo perfectamente con el Strategy Builder.
Funciona super bien las compras y las ventas automáticas cuando cambia de tendencia.

Muchas gracias por tus excelentes artículos. Soy novato en esto y me ha ayudado a entender mucho sobre este tema, tanto por tus artículos como con las respuestas que tan acertadamente das a todos los que te preguntan. Al respecto, hice un ejercicio donde compro al superar el alto de la vela anterior y busco colocar el stop en el bajo de la vela anterior de la de entrada. Pero no entiendo porque al ejecutarlo, aunque la entrada la hace bien, en el punto correcto, siempre cierra por stop en el mismo precio de compra. ¿cómo debo asignar el Stop para que quede en el bajo de la vela anterior? (he probado de varias formas sin conseguirlo).

Hola Alberto, gracias por tu comentario.

La entrada la tienes bien resuelta y estarás tomando como precio de referencia para la entrada el High[n].

Pero la salida no es tan sencilla de resolver. No sé si has hecho el sistema con el StrategyBuilder o con código a medida.
Con el StrategyBuilder tendrías que usar variables. En este artículo explico cómo utilizar variables en el Strategy Builder.

En el modo Managed las órdenes se envían al cierre de cada barra, y si no son filled, se cancelan.
De este modo si quieres enviar una orden de salida stop-loss a un precio determinado, no puedes usar una referencia como Low[0] o Low[1] porque con cada nueva barra el precio de la orden de stop-loss sería diferente.

Como quieres salir en el Low de la barra de entrada, tienes que guardar ese precio en una variable y utilizarlo como precio de referencia cada vez que envías el stop-loss en vez de Low[n].

Y aparte, para detectar el problema que estás teniendo consulta el log en la ventana Output (antes, asegúrate de asignar la propiedad TraceOrders=True). Probablemente estés usando como precio de stop-loss el Low de la misma barra en la que envías la orden con lo que siempre se ejecutará. Tendrías que usar Low[1] para evitar el error. Pero lo correcto sería usar una variable como he comentado antes.

Espero haberte ayudado. Saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  Acepto la política de privacidad