Acceder

Diseño de sistemas para novatos

¿Puedo diseñar un sistema sin ser programador?

No por ser un tema del que se ha hablado mucho quiere decir que pierda su interés: Ciertamente, uno de los grandes problemas que nos encontramos cuando queremos aventurarnos en el uso de sistemas automáticos, es la circunstancia de que, una vez que hemos decidido qué estrategia queremos automatizar, hay que trasladar dicha idea al código de programación de la plataforma de trading que usemos.
 
Llegados a este punto, parece que las opciones que tenemos para hacer frente a esta situación, se reducen o bien a aprender a programar en el entorno correspondiente o bien a contactar con un desarrollador para que nos realice la tarea.
 
De modo que ¿No tenemos modo alguno de, sin ser grandes conocedores del mundo de la programación, diseñar un sistema de trading? 
Lo cierto es que sí que existen opciones.
Una de ellas la encontramos a través del programa Visual Chart, donde existe una herramienta mediante la cual sí que podremos montar pequeños sistemas por nuestra cuenta: Esta herramienta se trata de la Plataforma Visual, a la cual podemos acceder independientemente de si somos o no usuarios del programa:
plataforma Visual
 
La Plataforma Visual cuenta con un entorno de programación muy sencillo donde, aprendiendo a manejar dos elementos básicos de desarrollo, podremos llegar a diseñar un sistema sin el mayor de los problemas.
Existen numerosos documentos y artículos donde explican las características y funcionamiento de ésta herramienta; por lo que les invito a que las visiten si desean comprender con rigor el funcionamiento de la misma. 
Por mi parte, me voy a centrar en plantear una demostración del uso de la herramienta, invitándoles de forma paralela a que prueben a seguir los mismos pasos como si se tratase de una clase práctica de cocina.
 

El caso del indicador TRIX

Como muchos usuarios conocerán, el indicador TRIX es un indicador de momento que está basado en el estudio de una media móvil exponencial triple
El aspecto de éste indicador es como el que vemos a continuación:
indicador TRIX
El indicador se asemeja al comportamiento del MACD, pero resulta más fiable a largo plazo, ya que filtra los ciclos pequeños o “codos” del mercado.
Al igual que haríamos si siguiéramos al MACD, debemos operar cuando el indicador cruza a la línea cero, de modo que compramos cuando suba por encima de la línea y vendemos cuando caiga por debajo de ella.
Siguiendo con la analogía del MACD, puede resultar interesante incluso aplicarle una media móvil de 9 periodos al TRIX para crear una línea de señal, en lugar de fijarnos en la línea 0:
media movil 9
La pregunta, por tanto, sería la siguiente: ¿Cuál de las dos estrategias merece más la pena seguir? ¿La que consiste en seguir la banda central o bien la que sigue a la línea de señal?
Lo ideal para salir de ésta tesitura, sería contar con un sistema que nos permitiera generar los resultados en backtesting de ambas ideas, comparar dichos resultados y seleccionar el que presente mejores datos estadísticos.
La idea en realidad es bastante sencilla, por lo que nos vamos a atrever a montar el sistema por nuestra cuenta, usando la Plataforma Visual de Visual Chart.
 

Pasos previos e ingredientes necesarios

A partir de este punto, consideramos que tenemos instalado el programa Visual Chart y que lo tenemos abierto y activo.
 
A través de Visual Chart accedemos a Programación/Sistema/Crear Sistema (PDV).
 
Definimos el nombre y código del sistema que vamos a crear:
nuevo sistema
Se abrirá el lienzo en blanco de la plataforma donde debemos dibujar nuestro sistema:
crear sistema
El primer paso que debemos dar será el de añadir los ingredientes necesarios para confeccionar el sistema. Como hemos visto en la teoría, básicamente lo que necesitamos es el indicador TRIX, una media aplicada sobre dicho indicador y algún tipo de switch (interruptor) que nos permita cambiar de un tipo de estrategia a la otra.
 
A la izquierda del lienzo en blanco del diseñador, encontramos una ventana con una serie de carpetas. En dichas carpetas se almacenan los ingredientes o herramientas que van a entrar en juego. Por tanto, debemos añadir en dichas carpetas estos elementos de los que hemos hablado.
Si observan la ventana de herramientas, verán que existe una carpeta llamada Indicadores. Pues bien, en esa carpeta vamos a incluir el indicador TRIX que queremos estudiar. Para ello, pinchamos sobre ella con el botón derecho y seleccionamos la opción Añadir indicador.
indicadores
Buscamos al indicador en la lista de indicadores y lo seleccionamos. 
trix
Marcamos los parámetros del indicador como parámetros del sistema. Esto nos va a permitir cambiarlos desde el propio sistema.
parametros del sistema
Hecho esto, pulsamos ACEPTAR y ya tenemos incluido el indicador.
El siguiente paso será repetir el proceso con una Media Simple. La única diferencia es que tenemos que especificar que el dato de referencia sobre el que se calcula dicha media tiene que ser el propio TRIX que acabamos de añadir.
media simple
Ya sólo nos falta incluir el interruptor que nos permita cambiar entre los tipos de estrategia. Esto lo vamos a hacer a través de un parámetro del sistema de modo que cuando cambiemos el valor de dicho parámetro, se seleccione una u otra estrategia. 
En la misma ventana de herramientas, verán una carpeta llamada Variables donde ya se han añadido los parámetros del TRIX. Repetimos el proceso de antes pero esta vez sobre ésta carpeta:
interruptor
Le vamos a dar al parámetro el nombre de ModoEntrada y por defecto le damos el valor 0. Cuando ModoEntrada valga 0, seguiremos a la Banda Central del TRIX, cuando ModoEntrada valga 1, seguiremos al cruce de la línea de señal.
parametros
Hecho esto, ya tenemos los elementos necesarios para iniciar la estrategia.
 

El objeto de Condición

A la hora de empezar a diseñar el sistema, el elemento fundamental que necesitamos conocer es el objeto de Condición.
condicion
Cuando insertamos uno de estos objetos, dentro del objeto estamos definiendo una regla que tiene dos posibles salidas: O se cumple la condición o no se cumple. Según sea el resultado, el sistema tomará una dirección u otra. 
 
De este modo es como el sistema puede detectar los momentos concretos del mercado en los que se cumplen las reglas para operar.
 

Las reglas del Sistema

Empecemos por el principio: Lo primero que queremos preguntar es si el usuario va a usar la técnica de seguir a la banda central o la técnica del cruce con la línea de señal. Como dijimos, para ello usamos el parámetro ModoEntrada. Por lo que la condición que debemos añadir es la siguiente:
parametro modo entrada
¿Se entiende la idea? Según como sea ModoEntrada, tiraremos por un sendero o por otro.
 
Supongamos que ModoEntrada = 0. Cuando pasa esto, vamos a seguir a la banda central. La regla que debe cumplirse por tanto para entrar a largo es que el TRIX se encuentre por encima de la banda.
 
Si no se cumple dicha condición, lo que haremos será entrar a corto:
sistema-trading
Para especificar al sistema que queremos comprar o vender, usamos los objetos de Compra/Venta.
 
Ya tenemos hecho con esto el 50% del sistema. Ahora nos falta la otra parte.
 
Si no se cumple que ModoEntrada = 0, entonces vamos a seguir a la línea de señal. La regla que debe cumplirse para entrar a largo es que el TRIX esté por encima de su media móvil.
 
Al igual que antes, si no se cumple la condición, entonces lo que haremos será entrar a corto:
Y con esto hemos finalizado. ¡Ya tenemos nuestro sistema listo! Ahora pulsamos el botón Compilar para confirmar que no hemos cometido ningún error de sintaxis y para que quede registrado el sistema.
 

La prueba final

Ahora que ya tenemos el sistema, podemos insertarlo dos veces sobre un producto en concreto; en un caso el parámetro ModoEntrada será 1 y en el otro será 0. 
 
Hecho esto, podemos observar la línea de ganancia en cada uno de los casos y analizar qué regla obtiene mejores resultados:
prueba final

Conclusiones

Evidentemente, el sistema que acabamos de desarrollar puede ampliarse hasta niveles insospechados: añadiéndole gestiones monetarias, reglas de salida, stops dinámicos, filtros horarios, o cualquier cosa que pudiera ocurrírsenos. 
 
Sin embargo, lo que hemos tratado de demostrar es que, manejando cuatro nociones básicas de programación, podemos montar pequeños sistemas que nos pueden servir para evaluar el rendimiento de las herramientas de análisis técnico que queramos utilizar.
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group

 

¿Buscas un bróker?

Logo de IGIG

Gran cantidad de subyacentes, con acceso a más de 17.000 mercados

Ver más
Logo de AvaTradeAvaTrade

Importante oferta de futuros y opciones financieras

Ver más
Logo de EToroEToro

Dispone de más de 5.000 productos de inversión entre acciones, ETFs y criptomonedas

Ver más
  1. en respuesta a Gatocosmico
    -
    #5
    03/06/14 09:49

    Para poder aplicar un sistema nuevo, sencillamente debemos abrir el gráfico del producto en cuestión y seleccionar la opción de sistemas. En la carpeta "User" encontraremos el sistema creado. Lo seleccionamos, elegimos los parámetros y le damos a "Insertar". Pueden encontrar vídeos explicativos de este proceso (ejemplo: https://www.youtube.com/watch?v=Ca6UKTtLycI).

  2. #4
    02/06/14 22:44

    Hola he conseguido realizar el esquema, pero no entiendo como podemos ejecutarlo sobre algún producto.

  3. #3
    10/08/13 20:19

    muy util,gracias

  4. en respuesta a Chaguen
    -
    #2
    08/07/13 08:19

    Estimado Chaguen
    Quizás lo que me ha faltado por explicar sea cómo insertar los objetos dentro del "lienzo" de programación: Verá, cuando seleccionamos, por ejemplo, un objeto "Condición", fíjese que el puntero del ratón se cambia por una cruz. Pues bien, si pinchamos con dicha cruz sobre el lienzo y, sin soltar el botón del ratón, arrastramos, estaremos creando una nueva condición. A continuación, veremos que aparece una ventana donde debemos ir rellenando la condición que debe cumplirse. Intente avanzar hasta este punto. ¡Animo!

  5. #1
    05/07/13 22:23

    Muy interesante. Aunque no he conseguido completar la parte del apartado "Condicion". No se como dar los pasos que enumeras dentro del programa, me pierdo bastante en lo que a programacion se refiere

Definiciones de interés