Rankia España Rankia Argentina Rankia Brasil Rankia Chile Rankia Colombia Rankia Czechia Rankia Deutschland Rankia France Rankia Indonesia Rankia Italia Rankia Magyarország Rankia México Rankia Netherlands Rankia Perú Rankia Polska Rankia Portugal Rankia Romania Rankia Türkiye Rankia United Kingdom Rankia USA
Acceder
Programación de un indicador en PDV (3). Aplicar color

Programación de un indicador en PDV (3). Aplicar color

A través de este artículo, vamos a continuar con la serie dedicada al diseño de indicadores en Visual Chart 6 mediante la Plataforma de Diseño Visual. En anteriores capítulos, hablamos de cómo desarrollar la creación un indicador, y también acerca de cómo aplicar una tendencia al mismo. En esta ocasión, nos vamos a centrar en el proceso para configurar el color del indicador a través del código de programación.

Escenario de ejemplo

Para ilustrar el tema del que hoy vamos a hablar, vamos a partir nuevamente del indicador que hemos venido desarrollando a lo largo de esta serie de artículos y al que llamamos Stochastic Ratio. Si recordamos, tras aplicarle una serie de reglas de tendencia, conseguimos que el indicador cambiase de color en base a la ruptura de las bandas o bien se mantuviese en un color neutral si no las superaba:

dax

Tal y como vimos en su momento, la combinación de colores se determina desde los ajustes del indicador, una vez éste está insertado sobre el gráfico. De modo que tenemos la posibilidad de elegir qué tonalidad queremos asociar a cada una de las tres tendencias.

Pues bien, supongamos que buscamos ir un paso más allá y lo que necesitamos es utilizar una secuencia de cinco colores, de modo que se cumpla lo siguiente:

  1. Si el valor es mayor que la banda superior y es creciente, pintar de color azul marino.
  2. Si el valor es mayor que la banda superior pero es decreciente, pintar de color azul claro.
  3. Si el valor es menor que la banda inferior y es decreciente, pintar de color rojo.
  4. Si el valor es menor que la banda inferior pero es creciente, pintar de color rosa.
  5. Si está entre una banda y otra dibujar de color amarillo.

Es decir, que queremos distinguir entre los momentos en los que se superan las bandas y el movimiento es a favor de la ruptura, de los momentos en los que dicha ruptura se está debilitando.

Obviamente, con la asignación de tendencias no nos basta, pues esta asignación sólo nos permite tres estados: alcista, bajista y neutro. Por lo que tendríamos que descartar su uso y en su lugar aplicar el método que nos permite aplicar un color desde código. Vamos a verlo.

La función SetBarColor

Como su nombre indica, esta función permite asignar un color a una línea en una barra concreta. Es decir, que el color que especifiquemos no será general para la línea, sino sólo para la barra que estemos detallando.

La declaración de la función sería la siguiente:

SetBarColor(BarsAgo, Line, Color)

De donde cada parámetro implica lo siguiente:

  1. BarsAgo: Distancia desde la barra actual hasta la barra que queremos colorear. Si el valor es 0, entonces estamos haciendo referencia a la barra actual.
  2. Line: Número de línea que colorearemos.
  3. Color: Tipo de color que se quiere aplicar en dicha barra.

De los tres parámetros, el más interesante es el parámetro Color. Este parámetro sólo admite valores del tipo System.Drawing.Color, un tipo de estructura que representa un color ARGB (alfa, rojo, verde, azul). La forma de hacer referencia a este tipo sería especificando la palabra Color seguido del nombre en inglés del color que queramos usar. Por ejemplo, si queremos usar el rojo, pues pondríamos en el campo asignado a dicho parámetro Color.Red.

El listado de posibles colores que podemos elegir para esta propiedad lo podemos encontrar a través de la página oficial de Microsoft:

https://msdn.microsoft.com/es-es/library/system.drawing.color(v=vs.110).aspx

O de una forma más visual, podemos consultar el mismo listado desde la siguiente imagen:

https://safeery2k.files.wordpress.com/2013/06/system-drawing-knowncolor.png

Desarrollo de la programación

Una vez presentada la función SetBarColor vamos a pasar directamente a realizar el ejemplo expuesto, ya que es la mejor manera para explicar el uso de dicha función.

Empezaremos por crear un clon del indicador Stochastic Ratio a fin de preservar la versión original:

sistemas

Llamaremos a esta nueva versión Stochastic Ratio 2.

Como la relación color/tendencia no nos va a servir para esta ocasión, vamos a proceder a eliminar todo lo relacionado con el uso de la propiedad IndicatorPosition. Por tanto, lo primero que vamos a hacer es volver a dibujar las tres líneas del indicador usando los elementos ValorIndicador tal que así:

trading

Recordando que BandaCompra tendrá asignada la línea 2 y BandaVenta la línea 3. Esto se hacía desde la opción Propiedades del elemento ValorIndicador.

Lo siguiente será establecer los cinco estados que queremos detectar (creciente por encima de banda compra, decreciente por encima de banda compra, decreciente por debajo de banda venta, creciente por debajo de banda venta y por último entre ambas bandas). 

Para ello, usaremos los elementos Condición de la siguiente forma:

sistemas trading

Lo que hemos hecho es preguntar primero si el ratio es mayor que la banda de compra, en caso de serlo, si el ratio está subiendo pintamos de azul marino y si está bajando de azul claro. Si no cumple que sea mayor que la banda de compra, comprobamos si el ratio es menor que la banda de venta. En caso de serlo, si el ratio está bajando pintamos de rojo y si está subiendo de rosa. Si no cumple tampoco que sea menor que la banda de venta, entonces pintaríamos de amarillo.

Para verificar si el ratio sube o baja, lo que hacemos es comparar su valor actual con el valor que obtuvo en la barra anterior. Para ello, hemos seguido los siguientes pasos:

                 1. Hemos creado una variable a la que hemos llamado stochastic_ratio_anterior:

sistemas de trading

                2. Hemos copiado la fórmula para calcular el ratio pero en lugar de usar como referencia los valores del estocástico en la barra actual, hemos usado los valores del estocástico en la barra anterior (distancia 1):

visual

Con esto, ya tenemos la estructura montada y sólo nos faltaría añadir las funciones SetBarColor

Al igual que ocurría con la propiedad IndicatorPosition, la función SetBarColor no está añadida en el contexto de la Plataforma Visual, por lo que tendríamos que incluirla usando el método de entrecomillar el código que se usa en el lenguaje de programación .NET.

En concreto, lo que queremos trasladar del lenguaje .NET serían las funciones SetBarColor, que en dicho lenguaje quedarían de la siguiente forma: 

trading

Esto se hacía añadiendo una sentencia y escribiendo en la misma la línea de programación en .NET correspondiente pero entrecomillada.

Quedaría así:

trading

Hecho esto, compilamos el indicador y lo aplicamos al gráfico para ver cómo quedaría finalmente el aspecto del mismo. Aquí vemos un ejemplo:

indicadores

Esta opción nos permite detectar de forma muy clara cada una de las zonas que hemos querido destacar. En este caso, hemos optado por darle mayor relevancia a los momentos favorables a las rupturas, de ahí que el rojo y el azul oscuro sobresalgan del resto de colores.

Conclusiones    

En el ejemplo que hemos planteado hemos jugado con la posibilidad de utilizar cinco colores distintos de forma que cada uno de ellos nos marque un aspecto concreto del indicador. Puesto que el número de colores que hay a disposición es sumamente amplio, cabe destacar que podemos establecer multitud de combinaciones de colores dentro del mismo indicador.

Por último, cabe comentar que no sólo disponemos de la posibilidad de cambiar el color del indicador en función de unas determinadas reglas, sino que también podemos modificar tanto el grosor de las líneas como el estilo de las mismas. En posteriores artículos mostraremos otros ejemplos que ilustren estas funciones.

Departamento de Estrategias

Visual Chart Group

Accede a Rankia
¡Sé el primero en comentar!