En este artículo explico cómo añadir sumas, restas y otras operaciones aritméticas en las condiciones del Strategy Builder mediante la propiedad Offset.
Para una óptima comprensión del contenido del artículo, el lector debe estar familiarizado con la creación de estrategias automáticas mediante el Strategy Builder. En el artículo sobre el Strategy Builder encontrará más detalles sobre el funcionamiento de este asistente.
Y aquí encontrará la documentación oficial de NinjaTrader 8 sobre el Strategy Builder.
Caso práctico
Vamos a suponer que queremos detectar cuándo el Close de la barra se encuentra fuera de la envolvente formada por una EMA +/- 5 puntos. En la siguiente imagen se muestra la EMA de período 14 (línea azul oscuro) con una envolvente de +/- 5 puntos (líneas azul claro).
Habrá que implementar dos condiciones:
- Cuando el Close esté por encima de la envolvente superior
- Cuando el Close esté por debajo de la envolvente inferior
Cierre de la barra por encima de la envolvente superior
La implementación de la condición se muestra en la imagen siguiente. En la propiedad Offset se suman 5 puntos a la EMA de período 14.
Cierre de la barra por debajo de la envolvente inferior
En este caso el operador de comparación es Less y el Offset es una resta.
Conditions & Actions
El resultado final de Conditions se muestra en la siguiente imagen. Atención al campo If Any, para detectar el cumplimiento de alguna de las condiciones. La otra opción es If All para detectar el cumplimiento de todas las condiciones a la vez, pero para el caso que nos ocupa no es aplicable.
Y como Action voy a colorear el fondo del chart. Abro la carpeta Drawing dentro de Actions, y elijo Set background color, para establecer el color a Gold.
Ejecución
Al procesar la estrategia en el Strategy Builder y cambiar al Display Chart se resaltan en color las barras con su Close fuera de la envolvente.
Para verificar que el resultado es correcto he cargado en el chart un indicador programado a medida que dibuja la EMA y su envolvente. De este modo puedo comprobar visualmente que el Close de todas las barras resaltadas queda fuera de la envolvente.
2 respuestas a «Cálculos aritméticos en el Strategy Builder»
Hola. Me encanta su página esperando que se abra un curso de strategy builder. Tengo una pregunta como puedo realizar una condion , quiero poner una línea horizontal en un máximo a una hora determinada y también quiero poner una línea en un rango determinado, por ejemplo un máximo de 9 am a 10 am . Si tienes alguna sugerencia te agradezco.
Saludos
Hola Ricardo, quizás para el próximo octubre pueda abrir una convocatoria para el curso de programación.
Sobre las dudas que planteas primero tendrías que crearte unos Inputs para que el usuario pudiera configurar el intervalo de fechas y a partir de ahí diseñar las Conditions and Actions. Para el máximo podrías usar el indicador MAX aplicado sobre los Highs de n-barras.
De todos modos, la manera más robusta sería hacerlo mediante programación a medida. Podrías crear un esbozo con el StrategyBuilder y después perfeccionarlo mediante código a medida.