Descargar MetaTrader 5

Cómo crear un experto en sólo unos minutos con ayuda de EA Tree: Parte 1

19 febrero 2014, 10:46
eatree
0
769

Introducción

El programa EA Tree es el primer instrumento que permite construir el código de un asesor sobre la base del método de esquema de bloques "drag and drop". Se trata de una aplicación Windows que se inicia en su computadora de manera local. Ahora puede crear un código complejo en MQL5 con la ayuda de un cómodo interfaz gráfico.

La creación de asesores en EA Tree se lleva a cabo mediante la construcción de bloques que pueden contener funciones de lenguaje MQL5, indicadores técnicos y personalizados, y valores numéricos. Las salidas de los bloques pueden estar unidas con las entradas de otros bloques, formando un "árbol de bloques". En base al árbol de bloques, el programa EA Tree genera el código fuente del asesor, que después puede ser compilado en la plataforma comercial MetaTrader 5 instalada en su computadora.


Dib. 1. Interfaz gráfico del usuario del programa EA Tree

Dib. 1. Interfaz gráfico del usuario del programa EA Tree

En los siguientes apartados vermos los conceptos básicos que se usan en EA Tree.


1. Conceptos básicos

Los principales elementos del programa son los bloques ("box") y los botones ("buttons").

Los bloques están pensados para representar información. Pueden contener valores de un indicador técnico, de una función matemática, etcétera. Cada bloque tiene botones de entrada y salida. En este ejemplo, el bloque "Add" tiene 3 botones de entrada, designados como "A", "B", "C" y un botón de salida, designado como "OUT".

Cada bloque tiene una designación única, establecida con ayuda de su nombre e índice. En este parámetro, la marca "Add_1" indica que el bloque tiene la denominación "Add", y el índice 1 indica que es el primer bloque en el conjunto.

Dib. 2. Bloque "Add"

Dib. 2. Bloque "Add"

Conexiones de los botones

Los botones de salida de un bloque pueden estar unidos con los botones de entrada de otro bloque en los casos en que ambos tengan el mismo tipo de datos (por ejemplo, que los dos sean del tipo double).

En este caso, unimos el botón "OUT" del bloque "Add_2" con el botón "A" del bloque "If_Else_1".

Dib. 3. Bloques "Add" y "If-Else"

Dib. 3. Bloques "Add" y "If-Else"


2. Bloque "Trade"

En el programa EA Tree, el bloque principal es el bloque "Trade", que tiene varios botones de entrada, los más importantes entre estos últimos son "openLong", "openShort", "closeLong" y "closeShort". Aparte de lo mencionado, el bloque contiene multitud de parámetros comerciales.

Dib. 4. Bloque "Trade"

Dib. 4. Bloque "Trade"


3. Bloque "MM" (MoneyManagement)

Para gestionar el capital, disponemos del bloque "MM", así como de varios botones de entrada. Para llevar a cabo la conexión, hay que conectar el botón de salida "OUT" del bloque "MM" con el botón de entrada "MM" del bloque "Trade".

Dib. 5. Bloques "Trade" y "MM"

Dib. 5. Bloques "Trade" y "MM"


4. Bloques de operaciones lógicas

Los bloques de operaciones lógicas son muy importantes, se usan para comprobar el cumplimiento de las condiciones de mercado; están unidos con los botones "openLong", "openShort", "closeLong" y "closeShort del bloque "Trade", y entre los otros bloques en el esquema.

Bloque "If-Else"

Lógica del bloque "If-Else":

If A operator B then T (botón de salida T=true) else F (botón de salida F=false).

En calidad de operator pueden resultar las operaciones de equiparación "igual a" (equal to), "no igual a" (not equal to), "menor que" (less than), "mayor que" (greater than) y etcétera.

 Dib. 6. Bloque lógico "If-Else"

Dib. 6. Bloque lógico "If-Else"

Bloque lógico "Crossover" (cruzamiento)

Lógica del bloque "Crossover":

If A operator1 B  AND C operator2 D  then T (botón de salida)=true else F (botón de salida)=true.

En calidad de operadores operator1 y operator2 pueden actuar operadores de equiparación, del tipo "igual a" (equal to), "no igual a" (not equal to), "menor que" (less than), "mayor que" (greater than), etcétera. Con la ayuda de los botones "shiftA" y "shiftB" se puede indicar el desplazamiento del índice de los indicadores.

En este ejemplo, la lógica de los bloques sería la siguiente:

Si el valor actual de la línea principal (main) del indicador Stochastic > que el valor actual de la línea de señal (signal) del indicador Stochastic y

el valor anterior de la línea principal (main) del indicador Stochastic > que el valor anterior de la línea de señal (signal) del indicador Stochastic,

entonces T=true y F=false

Dib. 7. Bloques lógicos "Crossover" y "Stochastic"

Dib. 7. Bloques lógicos "Crossover" y "Stochastic"


Bloque lógico "AND"

Lógica del bloque "AND":

If A AND B AND C AND D then OUT(botón de salida)=true

Dib. 8. Bloque "And"

Dib. 8. Bloque "And"

Bloque lógico "OR"

Lógica del bloque "OR":

If (A OR B OR С OR D) then OUT(botón de salida)=true

Dib. 9. Bloque "Or"

Dib. 9. Bloque "Or"


5. Bloques de indicadores técnicos

En el menú "Technical indicators" están disponibles los bloques de muchos indicadores técnicos, tales como MACD y Moving Average.

Bloque del indicador técnico MACD

Dib. 10. Bloque del indicador técnico MACD

Dib. 10. Bloque del indicador técnico MACD

Bloque del indicador técnico MA (Moving Average)

Dib. 11. Bloque del indicador técnico MA (Moving Average)

Dib. 11. Bloque del indicador técnico MA (Moving Average)


6. Indicadores personalizados (Custom Indicators)

Los indicadores personalizados están disponibles a través del panel "Custom Indicators". En el EA Tree sólo se usan indicadores personalizados escritos en lenguaje MQL5.


7. Funciones MQL5

En el programa EA Tree hay bloques de función en lenguaje MQL5:

  • Bloques de series temporales (iOpen, iClose, HighestHigh, LowestLow, etcétera).
  • Conversión de datos (Conversion Functions);
  • Funciones matemáticas (Math functions);
  • Funciones literales (String functions).


8. Manual: creando un asesor simple

En este apartado estudiaremos el proceso de creación de un asesor simple.

Primero daremos la lista de condiciones de un asesor comercial.

Normas de entrada en el mercado (Entry Rules):

Abrir una posición larga (Open Long):

  1. El valor actual de la línea principal (main) del indicador MACD > que el valor actual de la línea de señal (signal) del indicador MACD;
  2. El valor anterior de la línea principal (main) del indicador MACD < que el valor de la línea de señal (signal) del indicador MACD;
  3. El valor actual EMA(20) > que el valor anterior EMA(20).

Abrir una posición corta (Open Short):

  1. El valor actual de la línea (main) principal MACD < que el valor actual de la línea de señal (signal) del indicador MACD;
  2. El valor anterior de la línea (main) principal MACD > que el valor anterior de la línea de señal (signal) del indicador MACD;
  3. El valor actual EMA(20) > que el valor anterior EMA(20).

Normas de salida del mercado (Exit Rules):

El cierre de posiciones largas (Close Long): funciona de manera análoga a las normas de apertura de las posiciones cortas (Open Short);
El cierre de posiciones cortas (Close Short): funciona de manera análoga a las normas de apertura de las posiciones largas (Open Long).

En el ejemplo que vemos más abajo, para el bloque "Trade" se usará la configuración por defecto, no hay gestión de capital.

Comencemos:

1. Creamos los bloques "Trade" y "AND", unimos el botón de salida OUT del bloque "And" con el botón de entrada "OpenLong" del bloque "Trade":

Dib. 12. Bloques "Trade" y "And"

Dib. 12. Bloques "Trade" y "And"


2. Creamos el bloque "Crossover" y unimos su botón de salida "T" con el botón de entrada "A" del bloque "AND".

Dib. 13. Bloques "Trade" + "And" + "Crossover"

Dib. 13. Bloques "Trade" + "And" + "Crossover"


3. Creamos el bloque "MACD", unimos el botón de salida "Main" con los botones de entrada "A" y "C" del bloque "Crossover", después unimos el botón de salida "Signal" del bloque "MACD" con los botones de entrada "B" y "D" del bloque "Crossover".

Estructura lógica del esquema construido:

Si el valor actual de la línea principal (main) del indicador MACD > que el valor actual de línea de señal (signal) del indicador MACD y
      
el valor actual de la línea principal (main) del indicador MACD < que el valor anterior de la línea de señal (signal) del indicador MACD

Dib. 14. Bloques "Trade" + "And"+ "Crossover"+ "MACD"

Dib. 14. Bloques "Trade" + "And"+ "Crossover"+ "MACD"


4. Creamos los bloques "MA" y "If-Else". Unimos el botón de salida "Main" del bloque "MA" con los botones de entrada "A" y "B" del bloque "If-Else". Unimos el botón "OUTPUT" del bloque "If-Else" con el botón de entrada "B" del bloque "AND".

Para la condición de apertura de una posición larga (openLong) el subárbol de bloques consta de las tres condiciones siguientes:

  1. El valor actual de la línea principal (main) del indicador MACD > que el valor actual de la línea de señal (signal) del indicador MACD y
  2. El valor anterior de la línea principal (main) del indicador MACD < que el valor anterior de la línea de señal (signal) del indicador MACD y
  3. El valor actual del indicador EMA(20) > que el valor anterior EMA(20)

Dib. 15. Bloques "Trade" + "And" + "Crossover" + "MACD" + "MA" + "If-Else"

Dib. 15. Bloques "Trade" + "And" + "Crossover" + "MACD" + "MA" + "If-Else"


5. Creamos otro bloque "And" y unimos su botón de salida con el botón de entrada "openShort" del bloque "Trade".

6. Como la lógica de "openShort" es opuesta a la de "openLong", unimos el botón de salida "F" del bloque "Crossover" con el botón de entrada "A" del nuevo bloque "And". Unimos de la misma forma el botón de salida "F" del bloque "If-Else" con el botón de entrada "B" del nuevo bloque "And".


Dib. 16. Bloques "Trade"+ "And" + "Crossover" + "MACD" + "MA"+ "If-Else" + "And"

Dib. 16. Bloques "Trade"+ "And" + "Crossover" + "MACD" + "MA"+ "If-Else" + "And"


7. Para obtener señales de salida del mercado, unimos el botón de salida "OUT" del primer bloque "And" con el botón de entrada "closeLong" del bloque "Trade", y el botón de salida "OUT" del segundo bloque "And" lo unimos con el botón de entrada "closeShort" del bloque "Trade".


Dib. 17. Añadimos la condición "CloseShort" en el bloque "Trade"

Dib. 17. Añadimos la condición "CloseShort" en el bloque "Trade"


8. Pinchando dos veces sobre los bloques "MACD" y "MA", elegimos las variables que se usarán como parámetros de entrada del experto cuyo código será generado.


Dib. 18. Parámetros de entrada del asesor

Dib. 18. Parámetros de entrada del asesor

9. Ahora ya está todo preparado, guardamos el asesor en un archivo, lo abrimos en el redactor MetaEditor 5 y lo compilamos.

Dib. 19. Código fuente del asesor creado

Dib. 19. Código fuente del asesor creado


10. Al final, con ayuda del probador de estrategias comerciales del terminal MetaTrader 5 llevamos a cabo la optimización de los parámetros de entrada elegidos para el asesor.

Dib. 20. Comprobación del asesor en el probador de estrategias comerciales

Dib. 20. Comprobación del asesor en el probador de estrategias comerciales


Conclusiones

El uso del EA Tree tiene muchas ventajas:

  • Es un interfaz gráfico comprensible y sencillo de usar;
  • No es necesario tener experiencia en programación;
  • Puede aprender rápidamente el lenguaje MQL5;
  • Confidencialidad de sus secretos comerciales;
  • Los plazos de desarrollo de un asesor se acortan significativamente (de días/meses a minutos);
  • Puede desarrollar asesores complejos para el comercio con varias divisas y time frames;
  • Se pueden incluir multitud de estrategias comerciales en el código del asesor;
  • El guardado y carga de los bloques-esquema permite usar el código reiteradamente;
  • Existe la posibilidad de conectar indicadores personalizados;
  • El código del asesor creado por el programa EA Tree, no contiene errores y siempre se compila.

Traducción del inglés realizada por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/en/articles/337

Archivos adjuntos |
eatree-sample.mq5 (33.7 KB)
Aplicación Práctica de Bases de Datos para Análisis de Mercados Aplicación Práctica de Bases de Datos para Análisis de Mercados

Trabajar con datos se ha convertido en la principal tarea para el software moderno, tanto para aplicaciones independientes como para aplicaciones de red. Para resolver este problema se creó un software especializado. Se trata de los Sistemas de Gestión de Bases de Datos (Database Management Systems o DBMS), que pueden estructurar datos para su almacenamiento en el ordenador y su procesamiento. En lo que se refiere a trading, la mayoría de analistas no usan bases de datos en su trabajo. Pero hay tareas donde esta solución resultaría muy práctica. Este artículo facilita un ejemplo de indicadores que puede guardar y cargar datos de bases de datos tanto con arquitecturas de servidor de cliente como de servidor de archivos.

Transferir Indicadores de MQL4 a MQL5 Transferir Indicadores de MQL4 a MQL5

Este artículo está dedicado a las peculiaridades de transferir construcciones de precio escritas en MQL4 a MQL5. Para facilitar el proceso de transferir cálculos de indicador de MQL4 a MQL5, se recomienda la biblioteca de funciones mql4_2_mql5.mqh. Su uso se decribe en la base de transferencia de los indicadores MACD, Stochastic y RSI.

Fundamentos de la estadística Fundamentos de la estadística

Cada trader utiliza en su trabajo este u otro tipo de cálculos estadísticos, incluso si se declara seguidor del análisis fundamental. Este artículo le ayudará a familiarizarse con los fundamentos de la estadística, con sus elementos básicos, además de hablarle de su importancia a la hora de tomar decisiones.

Nuevo sistema de publicación de artículos en MQL5.community Nuevo sistema de publicación de artículos en MQL5.community

Le presentamos el nuevo sistema de publicación de artículos en MQL5.community. En este artículo hemos intentado explicar el proceso de escritura de artículos lo más simple y detalladamente posible, dividiéndolo en varias etapas consecutivas. En cada una de dichas etapas le daremos consejos y recomendaciones útiles, como una especie de quintaesencia de la experiencia en el campo de la escritura de artículos. Esperamos que después de leer este artículo, muchas de sus preguntas dejarán de ser necesarias. Esperamos de usted la llegada de materiales interesantes, materiales que a buen seguro serán valorados conforme a su mérito.