En anteriores artículos de este blog hemos estado viendo diversos ejemplos de cómo diseñar estrategias de trading con la plataforma Visual Chart, utilizando para ello tanto la tecnología VB.NET como la Plataforma de Diseño Visual. Sin embargo, en ocasiones nos puede interesar, para nuestro análisis, desarrollar sencillos indicadores que nos faciliten la tarea de estudio, y para esto, aún no hemos abordado cómo se desarrolla un indicador en Visual Chart. Pues bien, ese momento ha llegado, ya que dedicaremos el presente artículo a explicar cómo diseñar un indicador, usando en este caso, el lenguaje de programación PDV.
Escenario de ejemplo
A fin de que sea lo más ilustrativo posible, vamos a plantear un ejemplo real y a partir de su desarrollo podremos entender qué pasos debemos seguir para elaborar un indicador.
La situación de ejemplo sería la siguiente: supongamos que queremos crear una estrategia basada en el cruce del estocástico con su media, si bien queremos esperar a que éste se sitúe a algunos puntos de distancia para evitar la zona de incertidumbre, algo así:
Además, a fin de que la estrategia nos sirva sobre diferentes mercados, queremos normalizar esta diferencia expresándola en términos relativos, esto es, mostrando la diferencia porcentualmente. La fórmula sería algo así:
Cuando el SK es mayor que el SD:
Cuando el SD es mayor que el SK:
De modo que si el valor del Stochastic Ratio es mayor de un porcentaje concreto, entramos largos, y si es menor de un porcentaje negativo concreto, entramos cortos.
Con esto, ya podríamos directamente diseñar la estrategia, sin embargo, nos gustaría poder visualizar el ratio a fin de poder verificar que las señales entran en el sitio adecuado. Por lo que decidimos crear un indicador que dibuje los resultados de la fórmula.
Diseño del indicador
Para elaborar la programación de éste indicador usaremos la Plataforma de Diseño Visual de Visual Chart 6. Por tanto, abrimos el programa, seleccionamos el menú de indicadores y le damos a crear nuevo indicador en PDV:
El indicador se va a llamar Stochastic Ratio:
Una vez se abra el editor de programación, empezaremos por añadir las herramientas que necesitaremos. En nuestro caso, sólo necesitamos incorporar al indicador estocástico, así que lo seleccionamos pinchando en la carpeta Indicadores y dándole a Añadir.
Como el indicador estocástico cuenta con varios parámetros, los seleccionamos todos (salvo dos) para que aparezcan como parámetros de nuestro indicador. En mi caso, voy a cambiar un poco el nombre de los parámetros en lugar de dejar los nombres que aparecen por defecto a fin de simplificarlos:
Además, no selecciono los dos últimos porque en el caso del ratio, no vamos a necesitar la banda superior e inferior del estocástico, aunque luego veremos que sí incluiremos sus propias bandas de ruptura.
Una vez añadido el indicador, pasaríamos a las variables.
Como decíamos, vamos a añadir dos bandas que sirvan de referencia para detectar los niveles porcentuales exigidos para operar. Vamos a llamar a estas bandas BandaCompra (valor al 0.5%) y BandaVenta (valor al -0.5%).
Por último, añadimos una variable a la que llamaremos stochastic_ratio donde vamos a guardar el resultado de la ecuación, y que será el valor que luego mostraremos en pantalla.
Al final, el listado de variables nos debería de quedar así:
Con esto habríamos acabado con la parte de las herramientas. Vamos a proceder a desarrollar el código. Primero, comprobamos cual es la mayor de las dos líneas del estocástico, puesto que en base a esto calcularemos el valor del stochastic_ratio en términos porcentuales.
Para ello, añadimos una condición en la que comparamos la línea 1 del estocástico con la línea 2 del estocástico:
Ahora, añadimos una sentencia donde definiremos la ecuación del ratio y cuyo resultado vamos a guardar en la variable stochastic_ratio. Para ello:
1. Seleccionamos el icono de Sentencia y creamos una sentencia nueva en el editor dibujando un cuadrado con el ratón:
2. Aparecerá el diálogo de creación de sentencia. Seleccionamos la variable y le damos a Añadir.
3. Añadimos un igual y seguidamente, abrimos paréntesis.
4. Seleccionamos el estocástico y le damos a Añadir.
5. Añadimos un signo de resta.
6. Seleccionamos el estocástico, cambiamos a la línea 2 (para hacer referencia a la media del estocástico) y le damos a Añadir. Cerramos paréntesis.
7. Añadimos un signo de división.
8. Seleccionamos otra vez el estocástico con la línea 1 y le damos a Añadir.
9. Por último, multiplicamos por 100 y le damos a Aceptar.
Una vez que se cierre el diálogo de creación de sentencia, podremos ver la sentencia añadida dentro del editor:
Unimos la sentencia con la condición. Este será el caso en el que el SK sea mayor que el SD, es decir, la línea 1 del estocástico es mayor que la línea 2.
Repetimos todo el proceso de creación de sentencia, sólo que para esta sentencia, el divisor será la línea 2, debido a que es el mayor de los dos valores.
Cuando tengamos la segunda sentencia creada, la unimos con la salida si no de la condición. Al final, nos debe de quedar como vemos en la siguiente imagen:
Elementos de dibujo
A diferencia de cuando diseñamos una estrategia, cuando creamos un indicador, en el menú de herramientas de programación nos aparece un elemento llamado Valor Indicador. Pues bien, este elemento es el que se encarga de dibujar los resultados. Vamos a añadir uno con el cual trazar el valor del ratio. Para ello, seleccionamos el elemento, y al igual que en el caso de la sentencia, dibujamos un cuadrado con el ratón sobre el editor. Al hacer esto, nos aparecerá el diálogo de Valor del indicador:
Este diálogo nos presenta cuatro propiedades que podemos modificar, que serían:
1. Valor del indicador
Desde donde especificamos qué valor es el que se va a dibujar en el gráfico. Pinchamos en cualquier parte de esta propiedad y automáticamente se abrirá el diálogo de creación de sentencia, desde donde definimos el valor del indicador. En nuestro caso, simplemente escribimos stochastic_ratio y le damos a Aceptar.
2. Num. de Línea
Como hemos visto con otros indicadores, es posible dibujar más de una línea con el mismo indicador. Si sólo dispone de un dato, entonces siempre debemos dejar esta propiedad en el 1. En nuestro caso lo hacemos así.
3. Color
Esta propiedad lleva a la confusión porque podría pensarse que sirve para definir el color de la línea a la hora de verse en el gráfico. Pero no, simplemente sirve para cambiar el color del cuadro Valor del Indicador dentro del código. En nuestro caso lo despreciamos y dejamos el color por defecto.
4. Barras atrás
Determina sobre qué barra se va a dibujar el valor. Si por defecto lo dejamos a 0, quiere decir que se dibujará en la barra actual. Si vale 1, el valor indicado se dibujará una barra antes de la actual. Si vale 2, dos barras antes, etcétera. Atención, no es posible asignarle valores negativos para que dibuje el valor en barras posteriores a la actual. Esta opción está deshabilitada en Visual Chart 6.
Una vez que hemos acabado, cerramos la pestaña del diálogo y unimos el valor del indicador con las sentencias anteriores (¡con ambas!). Nos debería de quedar así:
Llegados a este punto, le daríamos al botón de compilar y ya podríamos ver el resultado sobre un gráfico.
El indicador aparecerá en la lista de indicadores del usuario.
Si le damos a insertar vemos cómo dibuja la línea porcentual que buscábamos:
En la imagen, hemos cambiado el estilo de la línea por el tipo Volumen para que se vea claramente cómo oscila en torno a cero. Al tener el estocástico abierto en la ventana superior, podemos comprobar cómo efectivamente, cuando la distancia entre ambas líneas del estocástico se abre, el valor del ratio aumenta, subiendo cuando la diferencia es positiva y bajando cuando es negativa.
Añadir las bandas
Por último, como se puede incorporar más de una línea a la vez, vamos a incluir en el indicador la posibilidad de dibujar las bandas de compra y venta que habíamos añadido en la lista de parámetros. Así cuando diseñemos la estrategia, tendremos una clara referencia de los puntos determinantes de entrada.
Para ello, volvemos a incluir en el editor otro elemento del tipo Valor del indicador. Sólo que en este caso, el valor será el parámetro BandaCompra y el número de línea será la línea 2, tal que así:
Hacemos lo mismo con la BandaVenta, sólo que para este valor, asignamos como número de línea la línea 3:
Es decir, que cada vez que queramos incorporar un nuevo valor a un indicador, debemos incrementar el número de línea último. De no hacerlo así, sobrescribiremos el valor de la misma línea.
Para acabar, unimos los nuevos elementos con el anterior y compilamos:
Mucha precaución con la cuestión del número de línea, ya que como vemos en esta imagen, en el propio cuadro del elemento no hay ninguna señal que nos indique el número que tenemos asociado a cada valor.
Si accedemos otra vez al gráfico donde teníamos insertado el indicador, veremos que ahora aparece representado con tres líneas:
Como los valores indicados por defecto eran muy estrechos, los hemos cambiado por 20 y -20. Al hacer esto, vemos claramente las dos bandas sobre el indicador. Cuando desarrollemos la estrategia, tendremos que comprobar si efectivamente las órdenes de compra y venta se producen en el momento en el que el ratio cruza a sus bandas.
Conclusiones
El ejemplo que hemos puesto era bastante sencillo si bien incluía los elementos esenciales para diseñar un indicador: Cómo incluir variables y otros indicadores, cómo definir una sentencia y cómo dibujar uno o varios valores.
La creación de indicadores con Visual Chart 6 proporciona un número mayor de posibilidades, como podría ser configurar el estilo predeterminado de las líneas, asignarle un nombre a cada una de las líneas, cambiar su color en base a la tendencia, etcétera. En posteriores artículos explicaremos estas opciones como complemento de lo visto en éste artículo.
Departamento de Estrategias
Visual Chart Group