Descargar MetaTrader 5

Cómo realizar un robot de trading en poco tiempo

12 diciembre 2013, 11:21
MetaQuotes Software Corp.
0
23 567

Para diseñar un robot de trading necesitamos un sistema de trading

Operar en los mercados financieros conlleva muchos riesgos, incluido el más importante: el riesgo de tomar una decisión equivocada. El sueño de cualquier operador es encontrar un robot de trading que siempre funcione correctamente y no esté sujeto a los defectos humanos como el miedo, la avaricia y la impaciencia.

Cómo hacer un robot de trading en poco tiempo

Cada recién llegado a este negocio quiere disponer de un sistema de trading que permita, a través de una serie de algoritmos, evitar la realización de operaciones rutinarias. ¿Es esto posible?

Un sistema de trading es una condición necesaria para entrar al mercado, y este sistema debe ser rentable, desde luego. Cuando los recién llegados entran al mercado, con frecuencia se sienten abrumados por la gran cantidad de información disponible y la dificultad para asimilarla. En estos casos, los libros y los foros sobre operativa en los mercados pueden ser de ayuda.

Pero por desgracia, no todos los autores de libros son operadores de éxito ni todos los que tienen éxito escriben libros. Muchos recursos en la web tienen como principal objetivo proporcionar beneficios a sus autores, ya que resulta mucho más complicado generar ingresos siguiendo estos consejos que enseñando a otros a operar en los mercados financieros.

Cada operador debe pasar, por sí mismo, por todas las etapas de la creación de un sistema de trading. Se suele decir que no importa cuál sea el sistema de trading que uno utilice, lo verdaderamente importante es seguir dicho sistema al operar en los mercados. De lo contrario, la operativa en los mercados se convierte en un juego de azar de resultados predecibles.


Los robots de trading y Forex

Se dice que el mercado Forex tiene una gran liquidez. Y, además, permite operar las 24 horas del día, a diferencia de muchos otros mercados. Por tanto, muchos operadores procuran utilizar robots de trading especializados en el mercado Forex, ya que estos ofrecen un gran número de herramientas para operar.

Sin embargo, los escépticos defienden que todos los pares de divisas se encuentran fuertemente correlacionados entre sí, manteniendo un bajo nivel de volatilidad en el mercado. Sin embargo, los que defienden la tesis contraria opinan que cada par de divisas tiene sus propias características y que la baja volatilidad es compensada por un gran apalancamiento.

En algunos casos, los instrumentos de Forex son atractivos para la utilización de robots de trading, y la mayoría de los defensores de la operativa automática en los mercados ponen en práctica sus habilidades con los pares de divisas.

Los terminales de Meta Trader 4 y Meta Trader 5 están especialmente diseñados para facilitar el desarrollo de sistemas de trading pero, al mismo tiempo, su interfaz sigue siendo apropiada para operar manualmente.


¿Cómo comenzar a realizar un robot de trading?

Hay muchas formas de diseñar un sistema de trading automatizado. Vamos a describir solo los métodos principales.

El primer método se basa en las matemáticas. Un programador intenta diseñar una ecuación capaz de considerar muchos factores. Este enfoque se basa en la firme creencia de que los movimientos del precio obedecen a un modelo que puede deducirse a partir de los datos históricos disponibles.

En la mayoría de los casos, los seguidores de este enfoque conocen muchas matemáticas pero no saben nada o no les interesa el mercado. El mercado es una abstracción pura, una especie de juego intelectual para ellos. Este enfoque conlleva a menudo muchos años de estudio y desarrollo, siendo menos importante la obtención de resultados en la forma de un sistema automatizado de trading.

El segundo enfoque se basa en el estudio de las leyes del mercado. No se pretende comprender por qué el precio sube o baja a la hora de analizar técnicamente las cifras que aparecen en los gráficos. La ventaja de este enfoque es que no requiere un conocimiento especial de matemáticas y tampoco presupone la existencia de una determinada fuerza motriz del mercado.

Es más claro y apropiado cuando se estudia la operativa de trading. Es más popular entre los operadores más famosos a nivel mundial. La desventaja de este enfoque es la necesidad de hacer un constante seguimiento de todos los símbolos necesarios.

Tarde o temprano, un operador terminará por considerar la posibilidad de utilizar un sistema automatizado de trading, y entonces es cuando debe afrontar el aspecto más importante de esta etapa: la complejidad de establecer reglas de trading y expresarlas en forma de algoritmos. En algunos casos, los operadores no son capaces de establecer las normas de la operativa en los mercados cuando intentan obtener un robot de trading y se encuentran en una situación similar a la de los programadores.

El tercer enfoque se basa en el intento de crear una "caja negra" sobre la base de redes neuronales que utilizan herramientas disponibles en determinados programas de software y paquetes matemáticos. La creación de un sistema de trading automatizado con elementos de inteligencia artificial constituye una tarea estimulante y todo un reto incluso para los recién llegados, ya que no requiere ni un profundo conocimiento de matemáticas ni experiencia en programación, sino que todo se realiza mediante ayudas visuales.

Para ello, un operador debería conocer los principios fundamentales de los indicadores técnicos, poseer la habilidad necesaria para elaborar los datos sobre precios y tener cierta experiencia con paquetes que trabajan con redes neuronales. La principal desventaja de este enfoque es que los robots de trading que se obtienen usando estas herramientas especializadas en la utilización de redes neuronales son actualmente una "caja negra". Los operadores no conocen sus principios de funcionamiento y, por lo general, es imposible predecir cuál será la fase del mercado que presentará mayores problemas a los robots.

A menudo, los programadores eligen el cuarto enfoque, que consiste en empezar a elaborar un robot de trading desde el principio sin dedicar tiempo a la operativa manual. ¿Por qué operar manualmente? Es posible elaborar un robot dedicando varios meses y luego recoger los beneficios.

Pero "sin dolor no hay beneficio". En la mayoría de los casos, los programadores comienzan a crear toda la infraestructura necesaria usando un lenguaje de programación familiar en lugar de elaborar un robot de trading, obteniendo y procesando los datos sobre precios, la representación visual de gráficos e indicadores, medios adecuados para probar las estrategias sobre los datos históricos, etc.

Ganan mucha experiencia en el proceso. Pero en la mayoría de los casos esa experiencia no les lleva a conseguir su objetivo: la creación de un sistema de trading automatizado. Incluso si llegan a crear un robot de trading, no hay garantías de que este vaya a ser rentable. ¿Y si un programador desea escribir otro sistema de trading? Será inevitable una profunda reestructuración y nuevos errores de programación.

Existe incluso un quinto enfoque: comprar un sistema de trading ya desarrollado en forma de robot de trading. En este caso, el operador actúa como un operario o como un ajustador. Este enfoque ahorra mucho tiempo (ya que no es necesario aprender muchas cosas nuevas) y permite a los operadores entrar rápidamente en el mundo del trading automatizado.

La principal desventaja de este enfoque deriva de sus ventajas: no se conocen los principios de funcionamiento ni la estructura de los robots de trading. Incluso si el vendedor le proporciona una descripción detallada del sistema implementado, nunca estará completamente seguro de él.

Sin embargo, ninguno de los enfoques mencionados puede proporcionarle una garantía absoluta, excepto un depósito bancario. Pero esa no es la mejor solución para quienes están interesados en operar en los mercados financieros y aumentar sus activos.


¿Cuál es el mejor enfoque para conseguir un sistema de trading automatizado?

Cada uno de los cinco enfoques que hemos visto tiene sus ventajas y se adapta a cada tipo concreto de operador. Es poco probable que elijamos el primer enfoque (descripción analítica del mercado) sin una gran experiencia y conocimientos matemáticos. Es igualmente improbable que uno comience a crear robots de trading basados en redes neuronales. Sin embargo, ambos enfoques son muy estimulantes y un buen ejercicio intelectual.

A continuación vamos a ver tan solo el segundo enfoque, considerado como el enfoque clásico. Este es el enfoque elegido normalmente por los nuevos seguidores de los sistemas automatizados de trading, ya que el análisis técnico sigue siendo la principal área de conocimiento en el aprendizaje de los fundamentos del trading.

Otra ventaja del segundo enfoque es que tras emplear algún tiempo en el trading manual y tomar el pulso al mercado, tendremos ya un buen nivel de comprensión de las herramientas de análisis técnico. Además, seremos capaces de programar estrategias de diseño o crear redes neuronales a un nivel mayor.


Primeros pasos en el diseño de un robot de trading

Para conseguir un sistema de trading automatizado necesitamos tener habilidades de programación y conocer la problemática del procesamiento de solicitudes. Pero antes podemos empezar con los asesores expertos, robots de trading, de la librería de la base de código gratuita.

Descargue cualquier asesor experto (robot de trading) y ejecútelo en el probador de estrategias del terminal de cliente de Meta Trader 4 o Meta Trader 5. Seleccione un intervalo del historial con una fuerte tendencia y otro intervalo plano. Realice la optimización de los parámetros de entrada de un asesor experto y examine sus diferencias en estos dos intervalos.

Ejecute un asesor experto con los parámetros óptimos para un tramo fijo sobre un intervalo de tendencia y con los parámetros óptimos para una tendencia en un intervalo fijo. Examine las diferencias en los resultados de las transacciones, distribución de contratos y otros parámetros estadísticos. Verá cuánto puede variar el comportamiento de su sistema de trading con los cambios del mercado.

Sería mejor intentar varias estrategias de trading con este método en diferentes partes del historial y con distintos símbolos. Con estas pruebas se evita usar un sistema de trading en un intervalo del historial definido y se consigue entender mejor los sistemas de tendencias y contratendencias.

El siguiente paso sería crear sistemas de trading más complejos basándonos en una combinación de señales simples existentes desde el MQL5 Wizard. Puede poner a prueba y desarrollar su intuición para las operaciones de trading clasificando las malas señales de un sistema a través de un filtro realizado sobre otros sistemas sin necesidad de programación.

Lo fundamental aquí es no excederse. Cuantos más parámetros de entrada tiene un sistema de trading, más sencillo es adaptarlo. Han habido muchas discusiones acerca de las diferencias entre la optimización y la adaptación. No hay una solución ampliamente aceptada en este caso. No obstante, puede ayudarle la visualización de los resultados de los tests u optimizaciones y su propio sentido común.

Aprenda a identificar los parámetros de entrada más relevantes que afectan a su sistema de trading a partir de todo el conjunto de parámetros de entrada. No preste mucha atención a parámetros secundarios que consumen tiempo durante la optimización pero que no afectan a la lógica del sistema. Recuerde que un buen sistema de trading siempre muestra un pequeño movimiento libre de parámetros secundarios pero no muestra la drástica volatilidad de los cambios insignificantes del mercado.

Puede dedicar a esta etapa todo el tiempo que desee hasta estar seguro de que comprende todas las pruebas de estrategias de trading y todos los resultados de una optimización. El conocimiento de las fortalezas y debilidades de los sistemas estándar le permitirá estar mejor preparado a la hora de crear su propio robot de trading.


Programar un robot de trading

Suponga que ha aprendido, o está aprendiendo, el lenguaje de programación MQL4 o MQL5, y que ahora está preparado para escribir su primer asesor experto para el terminal de cliente de MetaTrader. Pueden darse aquí varios casos.

En primer lugar, puede examinar los distintos robots de trading prediseñados que se describen en los distintos artículos para comprender mejor la complejidad de la programación.

En segundo lugar, puede realizar preguntas en la comunidad MQL4 o en la comunidad MQL5, si tiene dudas por resolver. Los usuarios con experiencia suelen ayudar a los recién llegados que muestran un verdadero interés en la materia.

En tercer lugar, puede adquirir una mejora o un desarrollo de algún asesor experto o indicador en servicio en servicio de trabajos, si no, puede escribir por sí mismo el código necesario. Pero incluso si realiza una compra a través de los proveedores de servicio, podrá hacerse una idea de las pruebas de estrategia con la ayuda de un programador.

Además, el conocimiento básico de un lenguaje de programación le permitirá realizar pequeños cambios y modificaciones al código una vez que el trabajo haya terminado. Después de todo, no es muy aconsejable acudir a un programador cada vez que tenemos un problema que resolver. Sería mucho más fácil y rápido si lo resolviera usted mismo.


No es necesario reinventar la rueda

¿Cómo encontrar su propia estrategia de trading o, al menos, hacia dónde orientar nuestra búsqueda? Todos los operadores protegen sus propios sistemas de trading, si es que tienen alguno. Los principiantes desean crear un sistema rentable u obtener uno prediseñado. Al mismo tiempo, cualquier solución parece demasiado simple si se compara con las ideas de los recién llegados sobre el concepto de un sistema de trading original.

¿Cómo encontrar su propia estrategia de trading o, al  menos, hacia dónde orientar nuestra búsqueda?

Los militares de todo el mundo son propensos a excesivos niveles de secretismo. Existen numerosas bromas sobre esta cuestión como la siguiente: "el secreto militar no reside en lo que estás estudiando -dijo un oficial a los estudiantes de la escuela militar, sino en el hecho mismo de estar estudiándolo". La situación con los sistemas de trading es muy similar: la mayoría de operadores utilizan ideas simples y conocidas con pocas modificaciones, como por ejemplo, añadiendo órdenes Trailing Stop o verificaciones a partir de indicadores de tendencia.

Hay gran cantidad de foros sobre trading de acceso limitado donde los usuarios pueden aunar esfuerzos para desarrollar o mejorar algunos sistemas de trading secretos. Lo más interesante es que tales sistemas no tienen nada de especial. Normalmente se usa como base una idea conocida (como "opera según la tendencia"). Luego, se perfecciona con algunos nuevos indicadores desconocidos para el público en general.

Por tanto, puede utilizar el código fuente de robots de trading que hay disponible e intentar usarlo de forma adecuada con varios símbolos y períodos de tiempo. Otro dicho popular es el siguiente: "si no le gustan los gatos ¡no sabrá como cocinarlos!" Cuesta creerlo, pero la probabilidad de que usted pueda desarrollar algo realmente nuevo es muy pequeña. Lo importante aquí es crear un sistema usando elementos disponibles. No crea que hay genios que tienen acceso a sistemas secretos de los laboratorios de la NASA. Ese es el secreto del Grial.


Solo algunos lo harán

Entonces, ¿por qué nadie utiliza la ideas sobre trading si están, literalmente, al alcance de las manos? La respuesta está, probablemente, en la psicología humana. Los empleados de muchos bancos y grandes fondos de inversión son operadores que realizan transacciones con sujeción a estrictas reglas y para volúmenes limitados. Pero por alguna razón, tan solo algunos operadores institucionales dejan sus compañías y empiezan a operar con su propio dinero.

Resulta que no solo es necesario una estrategia de trading sino también una disciplina férrea para seguirla. Muchos operadores se han dado cuenta, a su pesar, de que también tienen los mismos problemas psicológicos que se describen en los libros. Después de llegar a la conclusión de que el peor enemigo de un operador es él mismo, los recién llegados al negocio comienzan a pensar en desarrollar un robot de trading para poder vencer las barreras psicológicas.

Aunque se sale un poco de la temática, cabe mencionar aquí los legendarios comerciantes de tortugas que comerciaron con éxito en numerosos mercados a finales del siglo XX. Lea Way of the turtle y verá que lo más importante para un comerciante es la autodisciplina y no determinados sistemas de alto secreto. Pero la mayoría de los recién llegados no serán capaces de seguir una estrategia rentable, ni siquiera si la obtuvieran gratis.

El problema es que la mayoría de las estrategias de trading que se adaptan a la perfección a la operativa manual son de difícil transcripción a un lenguaje de programación. Las estrategias que pueden formalizarse con facilidad (como por ejemplo, las que implican la intersección de dos medias móviles) son demasiado simples y requieren muchas mejoras y ajustes y pueden ser usadas en la práctica. Por tanto, una idea simple se complica gradualmente con una gran cantidad de parámetros externos previniendo a un robot de trading de falsas entradas y errores claramente visibles para un programador. Surge así el problema de la optimización de un robot de trading. Este problema no debería convertirse en un exceso de optimización y adaptación a un intervalo del historial determinado.

Para resolver este problema, en Meta Trader 5 se ha implementado la prueba forward usando los parámetros del sistema obtenido. En la prueba forward los resultados no difieren significativamente de los obtenidos en la sección de optimización, con una cierta probabilidad de que un robot de trading sea suficientemente estable durante algún tiempo tras su lanzamiento en una cuenta de trading. La longitud de un intervalo para los parámetros de optimización y el valor real de "cierto tiempo" depende de cada sistema de trading concreto.

Por tanto, la optimización de un robot de trading antes de su lanzamiento en una cuenta de trading recuerda a desenrollar una honda: cuanto mas cuidado pongamos en desenrollarla y lanzar un proyectil, más lejos volará y más precisa será la trayectoria. Un robot de trading bien desarrollado dará un resultado positivo en una cuenta de trading durante más tiempo que otro robot obtenido a partir de una adaptación. Podemos decir que el Grial es una idea que funciona y que el correcto ajuste de los parámetros realizados de vez en cuando, según las condiciones del mercado, varía.

Esto puede ilustrarse gracias a los resultados del campeonato de trading automatizado que tiene lugar desde hace ya muchos años. Los asesores expertos de todos los participantes pasan a través de pruebas automáticas en el intervalo que va desde enero a finales de julio. El principal requisito para pasar la prueba automática es el beneficio obtenido durante ocho meses de prueba. Pero menos de la mitad de los robots de trading admitidos en el campeonato siguen siendo rentables después de tres meses de trabajo autónomo.

Puede también probar su habilidad para desarrollar y ajustar su robot de trading participando en el campeonato y obtener los resultados de la prueba de envío de su asesor experto. Además, la participación es gratuita y los premios son considerables. ¡Esperamos verle allí!


Conclusión

Los operadores dedican muchas horas al día a trabajar en sus ordenadores y esperar el momento justo para realizar una transacción. Por supuesto, no pueden rendir al máximo en todo momento.

La mayoría de los operadores llegan a la conclusión de que sus actos violan sus propias normas de trading. No todos los sistemas de trading pueden ser formulados, pero incluso tales sistemas pueden dotarse, en la mayoría de casos, de herramientas adicionales como indicadores, sistemas analíticos y filtros de señales falsas.

No hacemos ninguna recomendación especial aquí en relación al aprendizaje de los lenguajes MQL4 o MQL5, ya que hay muchos otros artículos de gran utilidad sobre esta materia. El propósito de este artículo ha sido proporcionar una idea inicial sobre cómo comenzar a diseñar su propio robot de trading para los terminales Meta Trader 4 y Meta Trader 5

Esperamos que este artículo ahorre tiempo a los principiantes y muestre la dirección adecuada en la difícil tarea de desarrollar un sistema de trading automatizado.

Traducción del ruso hecha por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/ru/articles/443

Llega el nuevo MetaTrader 5 y MQL5 Llega el nuevo MetaTrader 5 y MQL5

Esta es sólo una breve reseña de MetaTrader 5. No puedo describir todas las nuevas funciones del sistema en tan poco tiempo; las pruebas empezaron el 09/09/2009. Esta es una fecha simbólica, y estoy seguro de que será un número afortunado. Han pasado pocos días desde que tengo la versión beta del terminal MetaTrader 5 y MQL5. No he conseguido probar todas sus funciones, pero ya estoy impresionado.

Nuevas oportunidades con Meta Trader 5 Nuevas oportunidades con Meta Trader 5

Meta Trader 4 se hizo popular entre los traders de todo el mundo y parecía tener todo lo que podía esperarse de él. Con su alta velocidad de procesamiento, estabilidad, amplias posibilidades para escribir indicadores, Expert Advisors, sistemas de información para el trading y la posibilidad de elegir entre cientos de brokers distintos, el terminal pronto se destacó del resto. Pero los tiempos van cambiando y pronto nos vimos ante el reto de pasar de Meta Trader 4 a Meta Trader 5. En este artículo vamos a describir las principales diferencias entre la quinta generación del terminal y la versión anterior.

MQL5 para Principiantes: Guía para el Uso de Indicadores Técnicos en Asesores Expertos MQL5 para Principiantes: Guía para el Uso de Indicadores Técnicos en Asesores Expertos

Para obtener valores en un indicador incorporado o personalizado en un Asesor Experto, en primer lugar, su identificador se debe crear usando la función correspondiente. Los ejemplos de este artículo muestran cómo usar un indicador técnico mientras crea sus propios programas. El artículo describe indicadores creados con el lenguaje MQL5. Está pensado para aquellos que no tienen mucha experiencia en el desarrollo de estrategias de trading, y ofrece formas sencillas y claras de trabajar con indicadores usando la biblioteca de funciones facilitada.

Introducción a MQL5: Cómo escribir un Expert Advisor y un Indicador Personalizado Introducción a MQL5: Cómo escribir un Expert Advisor y un Indicador Personalizado

MetaQuotes Programming Language 5 (MQL5), incluido en el terminal del cliente de MetaTrader 5, tiene muchas nuevas posibilidades y un mayor rendimiento, en comparación con MQL4. Este artículo le ayudará a familiarizarse con este nuevo lenguaje de programación. En este artículo se encuentran los sencillos ejemplos de cómo escribir un Expert Advisor y un Indicador Personalizado. También tendremos en cuenta algunos detalles del lenguaje MQL5, que son necesarios para entender estos ejemplos.