Preguntas que debemos responder al crear un sistema de trading

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    Broker honesto!

Preguntas que debemos responder al crear un sistema de trading

Crear un sistema de trading rentable ya no es tan complejo como era anteriormente, aunque tampoco sigue siendo una tarea fácil. En la actualidad podemos utilizar plataformas de trading como Metatrader o cTrader u otras aplicaciones similares, probar algunos indicadores técnicos y optimizar los valores del stop de pérdidas y de toma de ganancias hasta obtener resultados decentes y evaluar el sistema mediante herramientas como el backtesting y una cuenta demo con un buen broker. Pero una estrategia creada de esta manera trabajará raramente en práctica, por eso no existen en la actualidad miles de sistemas de trading exitosos y capaces de generar dinero a largo plazo. Los operadores tienen que tener mucho cuidado al crear sistemas de trading para evitar los peligros comunes que caracterizan este proceso.

En este artículo vamos a presentar las seis preguntas que tiene que preguntarse todo desarrollador al crear cualquier estrategia de trading. Realmente las preguntas no son complicadas, pero pueden servir de mucha ayuda.

¿Son las reglas del sistema de trading sencillas?

La primera pregunta que el desarrollador necesita responder es: ¿Son las reglas del sistema simples? Cuantas más variables agregue, mayores serán las probabilidades de que el sistema no funcione en la práctica. Una manera fácil de pensar en esto es que cada nueva regla, ya sea de entrada, salida o stop loss aumenta la complejidad por un factor de uno. Por ejemplo, supongamos que tenemos un sistema de trading simple en donde compramos cuando el precio rompe el máximo de la sesión anterior y vendemos cuando el precio rompe el mínimo de la sesión anterior. Esto significa que inicialmente el sistema tiene un total de dos reglas de negociación. Ahora, si agregamos un stop loss fijo varios niveles para la toma de beneficios (Take Profit), aumentamos la complejidad por un factor de dos, es decir que esencialmente duplicamos de nuevo. Si agregamos dos filtros para aumentar la fiabilidad de las señales, incrementamos aún más la complejidad del sistema.

Si seguimos podemos llegar a un punto en que el sistema sea demasiado complejo para su uso, a tal grado que tengamos pocas señales válidas y el sistema produzca pocas ganancias debido al número limitado de oportunidades.

Por lo tanto, mantenga su sistema lo más simple posible. No está mal agregar reglas y filtros, el problema es cuando se abusa de esta práctica y se acaba con un sistema excesivamente complejo.

¿Las reglas del sistema de trading se basan en principios sólidos?

El desarrollador siempre debe comenzar con la idea, no con los datos. La mayoría de los operadores eligen cualquier estrategia que aparentemente funcionó bien en el pasado sin tener en cuenta si tiene sentido. Por ejemplo, muchos sistemas de medias móviles se basan en estrategias simples diseñadas para aprovechar el impulso del precio. Este es un fenómeno de mercado bien conocido e investigado. El impulso ha funcionado durante tanto tiempo que ahora incluso los proponentes de la hipótesis del mercado eficiente han aceptado su existencia, aunque la han clasificado peyorativamente como una «anomalía».

¿El sistema de trading está demasiado optimizado?

La respuesta a esta pregunta debe ser un resonante NO. La mayoría de los desarrolladores de sistemas hacen lo opuesto. Ponen a prueba decenas o incluso cientos de valores distintos para los indicadores de sus sistemas antes de elegir el que mejor funcionó en el pasado.

Muchos sistemas buenos y simples no sufren de este problema. Algunos operadores seleccionan ciertos valores debido a su significado psicológico, o su relación con otros indicadores como los números de Fibonacci, por ejemplo, y con esto les basta. Claro está que la optimización puede ser útil para definir los parámetros más adecuados para un sistema de trading, siempre y cuando no se caiga en el error de la sobreoptimización y se ajusten los valores demasiado, aumentando la posibilidad de crear un sistema que funciona muy bien con los datos del pasado pero que tenga un desempeño pobre en el futuro.

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    Broker honesto!

A pesar de lo que opinan algunos, la optimización no es una herramienta inútil, el problema es que muchos operadores la aplican de forma errónea.

¿Se condujeron pruebas in-sample y out-of-sample del sistema?

Con la tecnología disponible para los operadores en la actualidad, todo desarrollador de sistemas de trading debería realizar pruebas in-sample y out-sample de los sistemas que crea. Este proceso implica dividir los datos en dos conjuntos y es la base de lo que se conoce como análisis Walk-Forward, del cual hablaremos más adelante. Las pruebas iniciales se realizan en un conjunto de datos.

Por ejemplo, supongamos que tenemos un sistema de trading de seguimiento de tendencia que deseamos evaluar. Para esto, probamos el sistema en 4 pares de divisas para el periodo entre 1994 y 2020. En total, este sistema produjo una ganancia de +7530 pips durante el periodo de evaluación. En los 4 pares se obtuvieron beneficios.

Tabla 1: Beneficios del sistema para los 4 pares de divisas durante el periodo de evaluación (Prueba In-Sample)

Par Operaciones ganadoras Operaciones perdedoras % de operaciones ganadoras Cantidad de pips
EUR/USD 11 20 35.5 5444
GBP/USD 9 31 22.5 540
USD/JPY 13 18 41.9 1406
AUD/USD 12 25 32.4 140

Después de que el proceso está terminado ahora hacemos una segunda prueba (out-of-the sample) con la misma configuración exacta (indicadores, reglas y parámetros) en el otro conjunto de datos, desde el 2020 hasta ahora. Los resultados se presentan a continuación. Una ganancia total de 8,060 pips y todos los pares de divisas mostraron un resultado positivo. Tenga en cuenta que los diferentes pares tendrán tendencia en diferentes momentos, lo que significa que en distintos periodos un par de divisas puede tener un mejor desempeño que otros en sistemas de seguimiento de tendencia.

Tabla 2: Beneficios del sistema para los 4 pares de divisas durante el periodo de evaluación (Prueba Out-Of-The Sample)

Par Operaciones ganadoras Operaciones perdedoras % de operaciones ganadoras Cantidad de pips
EUR/USD 2 7 22.2 811
GBP/USD 3 4 42.8 2090
USD/JPY 2 4 33.3 4744
AUD/USD 2 8 20.0 415

Si se producen resultados significativamente distintos entre los dos conjuntos debe tomarse como una señal de alerta. Si su sistema funciona muy bien en las pruebas in-sample pero falla en las pruebas out-of-sample, existen altas probabilidades de que el sistema esté demasiado optimizado para un período y probablemente no funcionará en el futuro.

¿Qué tan atrás fuimos en las pruebas de backtesting?

La siguiente pregunta para contestar es: ¿Qué tan atrás fuimos al realizar las pruebas de backtesting? Cuantos más datos pruebe, mejor. Una prueba de backtesting de 20 años es mejor que una prueba de backtesting de 10 años que a su vez es mejor que un backtesting de 5 años. La siguiente tabla muestra los resultados combinados para el sistema del ejemplo anterior desde 1994 a septiembre de 2020. Se trata de una prueba de backtesting de 22.5 años realizado en cuatro pares de divisas diferentes.

Tabla 3: Beneficios del sistema para los 4 pares de divisas durante el periodo de evaluación (Prueba de Backtesting)

Par Operaciones ganadoras Operaciones perdedoras % de operaciones ganadoras Cantidad de pips
EUR/USD 13 27 32.5 6255
GBP/USD 12 35 25.5 2630
USD/JPY 15 22 40.5 5875
AUD/USD 14 33 29.8 555

Los datos son necesarios porque queremos ver como se comportó el sistema en diferentes entornos de mercado. Durante el período 1994-2020 pasó de todo, la Crisis de Crédito de 2008, la Crisis Financiera Asiática, el aumento de los tipos de interés en los años 2000 y el último período de Facilitación Cuantitativa del BCE.

A pesar de todo esto, el sistema generó beneficios. Una vez más, los cuatro pares principales terminaron con ganancias, con una ganancia sustancial mostrada en tres de ellos.

¿El sistema fue probado en otros instrumentos?

¿Ha probado su sistema en otros instrumentos financieros? Optimizar un sistema para operar sólo en el euro o sólo en el dólar estadounidense es una receta para el desastre. Un operador debe mostrarse sospechoso con un sistema que funciona sólo en un instrumento de negociación.

En las pruebas del sistema anterior los resultados han mostrado que funciona en los cuatro principales pares de divisas. Pero por qué no evaluar el sistema en otros instrumentos como metales preciosos o pares de divisas adicionales. Podríamos terminar llevándonos una sorpresa agradable.

Por supuesto las pruebas deben realizarse aplicando las mismas reglas, indicadores y parámetros usados anteriormente.

Conclusiones y Recomendaciones

Cualquier sistema de trading puede fallar o comenzar a tener un bajo rendimiento en cualquier momento. Pero si el operador sigue la metodología anterior cambiará significativamente las probabilidades en su favor. Un sistema creado de esta manera será robusto y menos propenso a fallar una vez que empiece a utilizarlo para operar con dinero real.

Por supuesto no hay nada fácil en el trading y la robustez también tiene un costo. Un sistema robusto por definición no estará optimizado para ningún período de tiempo o ambiente de mercado particular. Esto significa que los resultados futuros podrían variar enormemente a corto plazo, ya sea con un rendimiento inferior o superior con respecto al rendimiento promedio a largo plazo.

Y, por supuesto, un sistema es tan bueno como la persona que lo utiliza. Apegarse a las reglas durante los inevitables periodos de pérdidas requiere una disciplina que no muchos poseen. Pero si se sigue una metodología sólida durante la fase de creación, el desarrollador puede estar más tranquilo sabiendo que su estrategia no es una pérdida de tiempo que puede dejar de funcionar en cualquier momento.

Cómo crear una Tarea Técnica al encargar un indicador

Contenido

¿Cómo ayuda el trading algorítmico a los tráders?

Los tráders buscan leyes en el comportamiento del mercado que ayuden a elegir los momentos adecuados para realizar transacciones comerciales. En este caso, es deseable además excluir del comercio los componentes de naturaleza aleatoria y la influencia de factores externos: rumores, noticias, fatiga, etcétera.

Como resultado de la observación de los gráficos de precios, el tráder dispone de una serie de reglas formales que permiten realizar un análisis objetivo de los gráficos de precio o ticks. Para facilitar este análisis, se escriben los indicadores técnicos.

El siguiente paso es desarrollar una serie de normas que permitan al tráder comerciar de una forma estrictamente mecánica según un cierto sistema, sin dejar pasar ni una sola entrada, incluso si le parece que una señal concreta no conviene para la situación en curso. Si bien las señales del sistema comercial se someten a una descripción formal, será mejor que un robot comercial se encargue de operar por nosotros.

Los robots comerciales funcionan las 24 horas del día y no conocen la fatiga, ni la duda. Pero no todos pueden escribir uno. En este caso, solo queda una solución: encargárselo a un programador especializado en trading algorítmico. Para ello, es imprescindible componer una Tarea Técnica en la que se describan los requisitos del programa deseado, ya sea un indicador o un robot comercial. En este artículo vamos a analizar las preguntas a las que debe responder un cliente que quiera recurrir al servicio Freelance.

Complemente el texto con imágenes y vídeos

Техническое задание должно быть написано строго, структурировано и содержать всё необходимое для понимания — формулы, логические условия, куски кода, описание алгоритма.

Todos los problemas de nuestra sociedad están relacionados con la falta de entendimiento entre personas. El encargo de un programa en Freelance no es una excepción. Pregunte a cualquier desarrollador, y seguro que le dirá que la parte más laboriosa del encargo es aclarar «qué quiere el cliente». Incluso si ambas partes hablan el mismo idioma, normalmente se debe aclarar si el uno entiende al otro. Es una pena detectar este hecho al entregar un trabajo ya ejecutado. La molestia la experimentan ambas partes, tanto el Cliente, como el Ejecutor. En ocasiones, el problema llega incluso a manos del Arbitraje.

Y resulta que precisamente entonces, cuando el trabajo se encuentra en el Arbitraje, las partes al fin comienzan a comprenderse mutuamente. A usted le parecerá que pensamos y que expresamos nuestra ideas con palabras. En realidad, pensamos con imágenes. Por eso, para que su Tarea Técnica sea lo más comprensible posible, no solo para usted, sino también para los potenciales ejecutores, no repare en componer dibujos para la tarea.

La norma es sencilla: en cada situación de mercado, cada patrón incluido en el encargo debe ir acompañado por un dibujo explicativo en su Tarea Técnica. Al mismo tiempo, el propio dibujo o diagrama debe contener solo la información más necesaria, y no contradecir el texto. Elimine de la imagen toda la información innecesaria, anote los lugares importantes e indique con flechas los niveles, patrones, etcétera.

Algunos Clientes crean gigantescas descripciones textuales, pensando que lo han hecho de forma minuciosa y comprensible. Pero en realidad, con frecuencia resulta complicado abrirse paso a través de un texto a secas. Mientras que el Ciente y el Ejecutor pueden tratar de forma diferente un término determinado, la imagen aclara esta diferencia de inmediato: una flecha y un círculo se percibirán como una flecha y un círculo, y no de otra forma. Invirtiendo 5 – 10 minutos en la creación de ilustraciones comprensibles para el desarrollador, usted no solo estará comunicando sus ideas, sino que también recibirá con mayor rapidez un programa plenamente funcional.

Y por supuesto, los dibujos se deben colocar directamente en el texto del mensaje, no se deben adjuntar en forma de archivos. Hay muchos desarrolladores que no van a descargar el archivo para verlo, y por lo tanto pueden malinterpretar la tarea o incluso omitirla.

Vea cómo se puede utilizar el editor para formalizar el texto:

Y en último lugar: con frecuencia, los Clientes escriben «Explicaré los detalles por Skype, así resultará más rápido y comprensible». ¡Pues no, no lo será! Será más comprensible si usted crea un vídeo con la descripción, y además trata de hacerlo de manera profesional: de forma clara, sin pausas ni titubeos. Pero para ello, hay que crear un plan del vídeo, y para crear el plan, deberá escribir un guión y un texto, al que usted tendrá que poner voz. Si intenta hacer esto en una única toma, verá que es imposible que le salga. Por Skype sucederá lo mismo. Por eso, tenemos que prepararnos y grabar el vídeo hasta que resulte claro y comprensible. Lo colgamos en Youtube, y después de ello, lo insertamos en el texto de la Tarea Técnica en el Encargo.

Ahora, vamos al grano: comenzaremos analizando un par de ejemplos de Tarea Técnica para el desarrollo de un indicador.

Programas útiles para crear una TT

Para crear y publicar rápidamente capturas de pantalla, recomendamos el programa ScreenPresso. Permite añadir fácilmente a una captura de pantalla textos, flechas, figuras y efectos visuales. En el programa existen multitud de ajustes, y permite grabar vídeos con facilidad. Las imágenes creadas se pueden colgar en el chat de su encargo en Freelance con solo arrastrarlas o copiarlas.

Si necesita más herramientas para editar la captura de pantalla, entonces puede recurrir a otro editor gráfico: PicPick. Ambos programas son gratuitos y de uso particular. Podrá combinarlos, pues son complementarios. Claro está que en internet podrá encontrar una gran cantidad de programas para editar capturas de pantalla.

Para crear proptotipos de paneles gráficos, pruebe el programa Pencil. Permite bosquejar en 5 – 10 minutos un croquis para la interfaz necesaria. En él se puede crear un bloque-esquema para explicar visualmente algoritmos complejos. Si usted necesita más información, lea otros análisis en la Red, por ejemplo Seis programas para crear diagramas.

La composición del bloques-esquema es un procedimiento excelente para visualizar la lógica del programa, en ellos podrá crear las transacciones según las condiciones, los ciclos, etcétera. Si usted tiene buenos conocimientos de matemáticas, podrá describir las fórmulas y cálculos con la ayuda de Microsoft Excel. Además, en ese mismo programa podrá crear gráficos, diagramas, paneles y bloques-esquema con la ayuda de SmartArt.

Vamos a resumir. No importa qué programa use para describir la idea de su indicador. Lo importante, es que la presentación sea comprensible para el Ejecutor. Use sin falta imágenes, bloques-esquema y gráficos para complementar la descripción textual. Al crear el encargo en Freelance, todo esto ayudará a la comprensión mutua y ahorrará tiempo.

Formulación de la Tarea Técnica en forma de Algoritmo

Cada indicador representa una cierta idea. Por eso, primero es necesario describir la idea con palabras e imágenes, si esto es posible. Sin dicha descripción, será muy complicado entender qué quiere precisamente el Cliente.

Ahora podemos proceder a la descripción del propio algoritmo de trabajo/cálculo/representación del indicador. Describa secuencialmente las operaciones, en forma de algoritmo. Y es que solo en el que caso de que exista un algoritmo, el Desarrollador podrá escribir un código para este. Si en la descripción de la idea o el algoritmo existen términos, descríbalos con precisión, para que haya seguridad de que ambas partes comprendan de la misma forma su significado.

De ser posible, enumere y ordene escrupulosamente las etapas del algoritmo en el orden en que van a funcionar. No salte de una parte de la TT a otra sin describir por completo el bloque/módulo/etapa finalizado de la Tarea técnica.

Para describir los términos, será mejor usar listas, por ejemplo:

  1. rango diario: distancia entre el precio máximo y mínimo durante el día;
  2. rango medio: valor medio del rango diario en N días;
  3. segmento plano: rango de precios durante el día, donde han tenido lugar los mayores volúmenes de transacciones;
  4. .

Para designar las etapas se pueden usar cifras, listas y fuentes en negrita.

Intente hacer la descripción de la TT en forma de secuencia de acciones que fluyan una tras otra, en el mismo orden en el que se ejecutarán en el programa que implemente su indicador. Más abajo se muestran ejemplos de TT.

Ejemplos de Tarea Técnica

Necesitamos un indicador ZigZag que se construya con osciladores

Idea del indicador

Necesitamos construir un indicador ZigZag cuyos extremos definiremos con la ayuda de un oscilador. Servirá cualquier oscilador normativo clásico para el que exista el concepto de zonas de sobrecompra y sobreventa. En primer lugar, procesamos el algoritmo con el indicador WPR, luego añadimos de forma análoga la posibilidad de construir el Zigzag con otros indicadores como:

Algoritmo y Términos

La primera etapa abarca la construcción del Zigzag:

  1. Se llaman zonas de sobrecompra a las velas en las que el valor del indicador es mayor que Value > Lmax (Lmax=-20).
  2. Se llaman zonas de sobreventa a las velas en las que el valor del indicador es menor que Value Envelopes .
  3. Segmentos: pueden utilizarse dentro de indicadores complejos para dibujar líneas.
  4. El estilo Zigzag, por ejemplo, el Zigzag a color.
  5. Barras y velas: para representar gráficos con símbolos ajenos o velas personalizadas basadas en los cálculos. Por ejemplo, Heiken-Ashi.
  6. Combinación de los estilos enumerados.

Algunos tipos de indicadores necesitan para el dibujado varias series de datos (se llaman con los búferes de indicador). Para cada búfer es necesario indicar un nombre, de manera que luego sea más fácil aclararse con los valores del indicador en la Ventana de datos.

Colores de dibujado

¿Debemos dibujar con un color, o utilizamos varios? Si comprendemos bien el asunto, no habrá dudas. Pero si debemos cambiar dinámicamente el color, dependiendo de la situación actual, entonces necesitaremos un algoritmo claro para describir las condiciones.

Dónde se dibuja el indicador

  1. En la ventana principal del gráfico
  2. En la subventana del gráfico

Marcos temporales y símbolos para el cálculo y la muestra

  1. ¿El indicador utilizará para los cálculos solo su pareja símbolo/marco temporal o recurrirá a los datos de otros símbolos/marcos temporales?
  2. ¿Debemos prohibir la muestra del indicador en algunos símbolos/marcos temporales?
  3. ¿Qué hacemos si para los cálculos no hay barras suficientes de un símbolo/marco temporal ajeno?

Qué precios, volúmenes e indicadores se usan para los cálculos

Los indicadores clásicos siempre han trabajado solo con los precios Open, High, Low y Close del marco temporal propio. Pero, en nuestro tiempo, las posibilidades del análisis técnico y los lenguajes de programación MQL5/MQL4 permiten usar las series temporales de datos más diferentes, incluyendo los volúmenes y valores de otros indicadores.

  • ¿Necesitamos la posibilidad en los parámetros del indicador de establecer el tipo de precio conforme al que se realizan los cálculos?
  • ¿Debe el indicador saber trabajar con los datos de otro indicador? Por ejemplo, podemos superponer una media móvil al gráfico RSI. No todos los tráders conocen esta posibilidad, es posible que les resulte útil.
  • ¿Debemos mostrar/dibujar los niveles en los indicadores que se construyen en una subventana aparte del gráfico? Por ejemplo, como los niveles 30 y 70 para Stochastic Oscillator.

Si para los cálculos se usan los datos de otros indicadores, será mejor mostrar el código fuente de estos indicadores. Está claro que el desarrollador puede explicar cómo sacar los valores de un indicador adicional, pero la presencia del código fuente puede ayudar a comprender mejor lo que podemos esperar de él.

Componentes y nombres de los parámetros de entrada

Mejor presentar al desarrollador una lista con los parámetros y sus nombres, de la forma que aparecerán en el terminal. Normalmente, el programador da a las variables de entrada un nombre, para que el código sea más cómodo de leer. Al tráder, como usuario del programa, le serán necesarios los nombres de los parámetros que descubren su esencia y objetivos. Por ejemplo, en el indicador Chaikin Volatility (CHV) existen tales parámetros, que le serán familiares al tráder:

  1. Periodo de suavizado: cuántos valores se toman para la promediación de la matriz auxiliar.
  2. Periodo CHV: cuántas barras se toman para obtener la matriz auxiliar según el método de Chaikin.
  3. Tipo de suavizado: qué tipo de suavizado se usará para el oscilador.

El desarrollador, basándose en ello, escribe en el código:

Los comentarios después de los valores se mostrarán como nombres en la ventana de parámetros para el tráder:

Inicio de los cálculos en cada tick

Con cada cambio de precio en el indicador se inicia una función-procesador especial del evento Calculate, en la que tienen lugar todos los cálculos necesarios. Es posible que su indicador no tenga necesidad de procesar cada tick, bastará con iniciar los cálculos con la aparición de una nueva barra.

Si actualizamos los cálculos solo al aparecer una nueva barra, la velocidad de la simulación del asesor, llamada por su indicador, crecerá exponencialmente. Por eso, deberá resolver esta cuestión y describir este punto claramente en la Tarea Técnica.

Además, un algoritmo de cálculos ineficaz en el indicador también puede provocar que el tiempo de simulación del asesor aumente. Pídale al desarrollador que perfile el código para descubir las funciones lentas y acelerar el código. Y por supuesto, no debemos olvidarnos de la optimización analítica del código, cuando podemos reducir significativamente el número de cálculos gracias a las transformaciones matemáticas. Esto es actual para muchos indicadores basados en los métodos de promediación de series temporales.

Redibujado del indicador

El redibujado del indicador con la historia es uno de los errores desagradables que se dan al crear un sistema comercial. Entendemos por redibujado el comportamiento del indicador en el que los cálculos dependen de su tiempo de inicio. Por ejemplo, si iniciamos un indicador así en el gráfico EURUSD M5 y dejamos el terminal conectado durtante 24 horas, y al día siguiente lo iniciamos con exactamente los mismos parámetros de entrada en otro gráfico EURUSD M5, podemos observar que los valores y el aspecto de los indicadores se diferencian.

Con mayor frecuencia, el motivo del efecto radica en el propio algortimo. Y un desarrollador con experiencia, normalmente, puede de forma autónoma reconocer este comportamiento y advertir al cliente sobre los potenciales problemas que pueden darse al utilizar ese indicador en el comercio.

Alertas, mensajes Push, envío de emails, informes, capturas

Si le resulta imprescindible que el indicador le notifique en determinados momentos la situación actual del mercado, el desarrollador puede añadir al código el envío de notificaciones Pushy correos electrónicos. Además, para llamar la atención del tráder, se pueden añadir al indicador las funciones PlaySound(), Alert() y MessageBox(). Si usted tiene su propia página web o blog, quizá le sea necesario SendFTP().

En el artículo de Andrey Voytenko Cómo crear un bot para Telegram en el lenguaje MQL5 se muestran otras posibilidades de la automatización del comercio manual. Posiblemente, usted querrá tomar ciertas ideas de este.

Panel gráfico de control

Si usted quiere hacer el control del gráfico más flexible, considere añadir un panel gráfico de control. El artículo «Control de eventos en MQL5: cambiar el periodo de la media móvil sobre la marcha» salió hace mucho tiempo, en este, se muestra la misma idea. Desde entonces, las posibilidades del lenguaje MQL5 se han hecho práctiamente ilimitadas. Eche un vistazo a los ejemplos en los artículos Oscilador universal con interfaz gráfica y Cómo añadir rápidamente un panel de control a un indicador o asesor. Y, por supuesto, recomendamos leer la serie de artículos Interfaces gráficas de Anatoli Kazharski.

Si lo que usted necesita es, no solo un indicador que dibuje varias líneas, sino un complejo de análisis completo y preparado, añadirle un panel gráfico hará su trabajao bastante más cómodo. Además, en este caso, deberá pensar en los eventos a los que reacciona y qué funcionalidad deberá implementar dicho panel:

  • expandir/minimizar el panel con un click del ratón en una esquina;
  • arrastrar el panel por el gráfico;
  • cambiar el tamaño del panel;
  • evento del ratón: click del botón izquierdo/derecho, desplazamiento;
  • evento de teclado: pulsar, mantener la tecla, combinación de teclas;
  • evento de temporizador;
  • eventos personalizados que gestionan unos programas con otro distinto, etcétera.

Familiarícese con el apartado Tipos de eventos del gráfico para conocer todas las posibilidades disponibles.

Capturas de pantalla aclaratorias

Es bien conocido el refrán «Mejor verlo una vez, que oírlo cien veces». Por eso, si su indicador debe dibujar/visualizar en el gráfico situaciones concretas de una forma completamente definida, necesitará hacer ilustraciones bien comprensibles. Recomendamos mostrar en ellas solo lo imprescindible, el tamaño de las imágenes no debe ser grande, no tiene sentido hacer capturas gigantescas. Podrá encontrar algunos consejos útiles en el artículo ¿Cómo presentar correctamente un Producto a la venta en el Mercado?

Por ejemplo, si usted publica un programa para reconocer patrones, muestre varios patrones que han sido encontrados en el gráfico. Tome varias capturas grandes y de buena calidad y acompáñelas de inscripciones explicativas.

No merece la pena intentar introducir en una sola captura multitud de pequeños detalles. Aquí tenemos un ejemplo de lo que no hay que hacer:

Y es que se podría haber hecho una serie de 2-3 capturas en lugar de una sola. En dichas capturas se podrían haber mostrado todos los patrones de reconociemiento a mayor tamaño, y conseguir además que el texto fuese legible. Esto también concierne a los gráficos de precio, intente no usar escalas demasiado pequeñas, dele a los usuarios la posibilidad de percibir los detalles. Y no utilice, a no ser que sea imprescindible, esquemas de color no estándar, no muestre en los comentarios texto (mensajes de la función Comment) que tape el gráfico. Destaque en los colores habituales las señales de compra y venta (azul y rojo). Una captura así no sería adecuada:

Si nos esforzamos un poco, entonces podremos convertirlo en una variante mejor.

Aquí se ha elegido una escala de gráfico mayor, mostrada en un esquema de colores estándar «Black & White», se ha quitado una inscripción que estorbaba, el nombre del patrón se ha plasmado con otro tipo de fuente y color, los lugares de ruptura del triángulo se han marcado adicionalmente con contorno rojo. Las propias flechas de la ruptura están también dibujadas en los colores habituales para la mayoría de los tráders. Una captura así no contiene detalles sobrantes y muestra solo la idea más esencial.

Logs y registros para la depuración

Es prácticamente imposible escribir un programa libre de errores. Y cuanto más complejo sea el programa, más situaciones imprevistas aparecerán en él. Por eso, esté preparado para que el comportamiento del indicador se diferencie de lo que usted espera. Esto puede estar provocado por los motivos que describimos más abajo.

  • Error del programador: simplemente, el código se ha escrito de forma incorrecta en algún lugar y se ha omitido algún momento de la Tarea Técnica.
  • Una situación imprevista en el gráfico, para la cual su TT no contiene una opción preparada de acción. Es decir, el programa funciona correctamente, pero hay una cierta variante de desarrollo de eventos que usted no ha incluido en el algoritmo, y acaba obteniendo otro resultado del esperado. Hay que resolver con el programador qué hacer en este caso.
  • Usted mismo ha hecho algo incorrecto: ha indicado parámetros externos no permitidos, ha implementado una historia del instrumento insuficientemente profunda, no ha adjuntado algunos archivos para el funcionamiento correcto).
  • O algo más.

Si aparece un error, es necesario comprender la causa del mismo. Y esto significa que tenemos que tratar de obtener toda la información para la investigación. En este caso, necesitaremos no solo mostrar la situación con la ayuda de capturas y vídeos, sino también presentar al desarrollador los logs del programa y del propio terminal. Por eso, usted deberá no solo saber dónde se encuentra el Registro de la plataforma, sino también definir de antemano en la Tarea Técnica qué deberá mostrar precisamente el programa y en qué formato deberán estar los mensajes sobre su funcionamiento.

Además, al surgir una situación imprevista, deberá presentar al desarrollador datos adicionales, como se muestra en el artículo de Andrey Khatimlianskii Cómo solicitar un EA y obtener el resultado deseado:

  • Adjunte el archivo set con los parámetros del programa (botón «Guardar» en la ventana de parámetros del asesor)
  • Indique la pareja de divisas y el marco temporal del gráfico
  • Indique la dirección del servidor al que ha sido conectado el terminal y el tipo de cuenta (demo, real, de concurso u otra)
  • Indique la versión del terminal (menú «Ayuda» – «Sobre el programa»)
  • Si la comprobación se realiza en el simulador, indique adicionalmente los ajustes del simulador (intervalo de fechas, modo de modelado, modo comercial, depósito inicial, apalancamiento crediticio)

Por eso es deseable indicar en la Tarea Técnica estos datos en un punto aparte para el desarrollador.

Admisión y comprobación del indicador

Podemos comprobar el funcionamiento del indicador no solo en los gráficos online, sino también en el simulador de estrategias en el modo simulación visual. Esto permitirá ahorrar tiempo sustancialmente, y también ver el comportamiento del indicador en diferentes fases del mercado. Además, pida al desarrollador que perfile el código y analice aquellos lugares del programa donde tiene lugar una pequeña pérdida de tiempo. Para las funciones llamadas con mayor frecuencia o cuyo uso de tiempo es más importante, podemos añadir al código temporizadores que recopilen el número de llamadas y el tiempo invertido.

Al detectar un error, es necesario proporcionar al desarrollador todas las situaciones imprescindibles para la descripción y la reproducción del mismo: capturas de pantalla, logs, datos sobre el símbolo/marco temporal, cuenta comercial. Todo ello le ayudará a resolver con mayor rapidez el problema.

Si para el funcionamiento del indicador se necesitan otros indicadores o archivos, asegúrese de que se encuentran en las carpetas necesarias del catálogo de datos de su terminal.

¡Invente, describa, encargue!

Esperamos que este artículo le haya resultado útil, y ahora pueda hacerse una mejor idea de cómo componer una Tarea Técnica de forma clara y comprensible para el programador. También hemos intentado mostrar todas las posibilidades del lenguaje MQL, en el que los desarrolladores escribirán para usted un indicador de cualquier complejidad y belleza.

Si usted nunca ha encargado un programa en Freelnace porque no sabía por dónde comenzar a escribir, intente aprovechar los consejos contenidos en este artículo. Y, por supuesto, procure relacionarse con los desarrolladores en Freelance antes de elegir el Ejecutor. Los programadores conocen perfectamente su materia y le ayudarán a formular los aspectos más complejos en su encargo.

Cómo programar un sistema de trading a través de Visual Chart

2 2 recomendaciones

En la tarde de ayer organizamos un webinar en Rankia sobre «Cómo programar un sistema de trading a través de Visual Chart» con la finalidad de explicar de una forma sencilla la herramienta Visual Chart a la hora de programar sistemas de trading.

Plataforma Visual

En el caso de la plataforma visual, ésta emplea el lenguaje PDV de programación, y es la manera más sencilla de desarrollar sistemas con Visual Chart, por lo tanto, es la más recomendable para aquellos que se están introduciendo en el mundo de Visual Chart.

De esta forma, cuando queremos programar un sistema de trading a través de la plataforma visual, nuestra tarea será la de diseñar un diagrama a través de sus herramientas con los procesos del sistema, y será la misma plataforma visual la que se encargará de traducir a continuación el diseño de nuestro diagrama al código VBA de programación, por lo que tiene la ventaja de que no tenemos porque preocuparnos si no tenemos nociones de programación, ya que se escribe el código automáticamente.

Para crear un sistema desde cero con la plataforma visual, deberemos acceder a Visual Chart y en el menú de Programación, hacer click sobre la opción «Sistema» y a continuación sobre «Crear sistema (PDV)». Una vez hecho esto se nos abrirá una ventana dividida en dos partes: una parte de la misma blanca, sobre la que podremos diseñar el diagrama de nuestro sistema; y otra parte con el cuadro de herramientas disponibles para diseñar el sistema.

Herramientas de diseño de la plataforma visual

Sobre la ventana de la que hablamos anteriormente, se encuentra el menú de herramientas que podremos utilizar para diseñar el diagrama de flujos en sí. Podemos encontrar muchas herramientas para el diseño de nuestros sistemas, pero hoy vamos a hablar solamente de las más importantes para aquellos que se estén iniciando en Visual Chart:

  • Condición: Sirve para definir las reglas de entrada y salida del sistema, o para hacer otro tipo de preguntas diversas al programa.
  • Sentencia: Con él asignamos valores a variables como pueden ser precios, resultados, etc.
  • Compra/Venta: Se utiliza para especificar órdenes de compra y de venta.
  • Compilar: Sirve para registrar el sistema en Visual Chart, compilando la estructura formada para comprobar su corrección. Si todo está correctamente diseñado, se producirá la traducción del diagrama diseñado al código de programación VBA.

Elementos principales del cuadro de herramientas de la plataforma visual

En el cuadro de herramientas de la plataforma visual vamos a encontrar diversas opciones mediante las cuales programar nuestro sistema de trading, para ello, tan sólo deberemos añadirlas al diagrama. El proceso para añadir elementos es siempre el mismo, pinchamos click derecho sobre el que nos interesa y le damos a la opción «añadir».

Los elementos principales del cuadro de herramientas se encuentran contenidos en diversas carpetas, de las cuales las que vamos a utilizar son:

  • Carpeta funciones: Contiene diversas funciones que nos van a permitir saber como está el sistema y obtener información sobre él, como pueda ser cual ha sido nuestro precio de entrada en una operación, si la operación es a largo o a corto, etc.
  • Carpeta indicadores: Si queremos que nuestro sistema extraiga información de un indicador ya hecho, tendremos que añadir dicho indicador a través de esta carpeta, seleccionando aquél que nos interese concretamente.
  • Carpeta variables: En esta carpeta se encuentran las variables que podemos utilizar y otro tipo de herramientas como por ejemplo los parámetros del sistema.

Órdenes en la plataforma visual

Una vez que ya hemos definido nuestras condiciones y hayamos añadido los indicadores, las funciones, etc. nos centraremos en establecer las órdenes para nuestro sistema en función de las condiciones que se estén cumpliendo.

Las órdenes s irven básicamente para definir el tipo de orden que vamos a enviar, pudiendo ser éstas u órdenes de entrada al mercado, u órdenes de salida de éste. En función de lo que queramos hacer tendremos que especificar una cosa u otra.

También podemos especificar que tipo de orden queremos utilizar, ya sea ésta a mercado, en stock, etc. y además, determinar el precio al que queremos que se produzca la orden y el número de contratos que la compongan.

Ejemplo práctico de programación de un sistema de trading

A continuación, para demostrar como funciona la plataforma visual de Visual Chart, vamos a programar un sistema de trading tendencial basado en el cruce de dos medias exponenciales de distinto período, ya que éstas son una de las herramientas más utilizadas del análisis técnico.

  • Condición para enviar la orden de compra: que la media corta esté por encima de la media larga.
  • Condición para enviar la orden de venta: que la media corta esté por debajo de la media larga.

El primer paso que tendremos que hacer es elaborar un listado de herramientas con todo aquello que consideramos que vamos a necesitar, para a continuación añadirlas. En este caso utilizaremos dos medias exponenciales de 30 y 5 sesiones (AvExponential) y las ó rdenes de COMPRA y VENTA.

Para añadir las medias exponenciales simplemente daremos click derecho sobre el cuadro de herramientas en la carpeta de indicadores, y pulsaremos añadir:

Lo siguiente sería incluir las órdenes de compra/venta en el diagrama. Visual Chart distingue entre órdenes de entrada y órdenes de salida, si bien durante éste ejemplo sólo vamos a incorporar operaciones de entrada (el sistema siempre estará dentro de mercado).

Para ello, debemos diferenciar entre la orden de compra y la orden de venta, estableciendo las características concretas que deseamos que cumplan cada una.

Ejemplo de una orden de entrada a precio de mercado:

Una vez hemos agregado al diagrama tanto la condición para que se lleve a cabo la orden de compra, así como la propia orden de compra al diagrama, deberemos unir ambas de manera que una vez que se cumpla la condición, se produzca la orden de entrada al mercado.

Como es posible que la condición que hemos puesto en nuestro diagrama no se cumpla, deberemos agregar además, la otra condición que entraba en nuestros planes, es decir, la de salida del mercado cuando la media corta se encuentra por debajo de la larga. A continuación de ésta insertaremos una orden de venta y la uniremos a la condición de venta al mercado al igual que hicimos con la condición de compra anteriormente.

Una vez hecho todo esto, uniremos ambas condiciones como se muestra en la imagen siguiente:

Así pues, habremos finalizado el diseño del diagrama de nuestro sistema y sería el momento de compilarlo para comprobar que no existe ningún error en su diseño y en caso de que esté todo correcto, poder probar más adelante el sistema y las órdenes que da, para comprobar el funcionamiento del sistema y cambiar cualquier parámetro o aspecto que consideremos que no se ajusta exactamente a lo que buscamos y que podría mejorar el funcionamiento del sistema de trading.

Grabación del webinar

A continuación todos los usuarios que estuvieráis inscritos al cursos online podéis acceder a la grabación del webinar «Cómo programar un sistema de trading a través de Visual Chart«:

¿Qué Bróker se adapta mejor a tu perfil?

¿Quieres dar tus primeros pasos en bolsa o cambiar a un bróker que se adapte mejor a tus necesidades? Te ayudamos a encontrar el mejor bróker de acciones y derivados que mejor se adapta a ti en menos de 2 minutos. El estudio es gratuito y sin compromiso.

Los mejores corredores de opciones binarias 2020:
  • Binarium
    Binarium

    1er lugar! El mejor broker de opciones binarias!
    Ideal para principiantes! Entrenamiento gratis! Bonos de registro!

  • FinMax
    FinMax

    Broker honesto!

Like this post? Please share to your friends:
Cómo negociar opciones binarias
Deja un comentario

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: