Creación y compilación de Expert Advisors

En el Diseñador se pueden construir Expert Advisors mediante un editor visual muy intuitivo y sin tener conocimientos de programación. Los robots se construyen arrastrando bloques con diferentes funcionalidades a un lienzo y conectándolos entre ellos para definir el flujo de su ejecución. En el tercio derecho de la pantalla se puede consultar la ayuda sobre el bloque seleccionado, así como configurar sus parámetros. Una vez se ha terminado el diseño se ha de compilar el robot para poder hacerle backtest y operar con él desde MT4.

Construcción de expresiones en ventanas de función o valor

Ciertos bloques (como, por ejemplo, el Análisis Técnico) admiten la introducción de expresiones complejas como parámetros, que se construyen en la ventana de función o valor. Estas expresiones resultan de la combinación de valores de diferente tipo (velas OHLC, indicadores, variables, constantes, etc.) mediante operadores aritméticos. Además, cualquier variable intermedia utilizada se puede exportar para poder cambiar su valor desde MT4.

Variables exportadas y globales

Se pueden definir tanto variables exportadas como globales desde el Diseñador, haciendo clic con el botón derecho del ratón en el apartado reservado al respecto. El valor de ambas puede modificarse desde MT4, siendo la principal diferencia entre ellas que las variables globales mantienen su valor al cerrar MT4 mientras que las variables exportadas no.

Definición de variables exportadas

Bloques de construcción de Expert Advisors

Bloques de inicio

Los bloques de inicio son necesarios como primer bloque de cada flujo contenido en nuestros Expert Advisors. Hay dos tipos, dependiendo de si queremos ejecutar lo que les sigue a la apertura de cada nueva vela o a cada nuevo tick recibido por el broker.

Bloques de análisis

Los bloques de análisis sirven para dividir el flujo en función de si se cumplen o no ciertas condiciones. El tipo más utilizado es el bloque de Análisis Técnico, en el que se comparan los valores de dos expresiones definidas mediante ventanas de función o valor. Si se cumple la condición requerida, la ejecución continuará por el bloque conectado al extremo S del análisis. Por el contrario, si no se cumple, la ejecución continuará por el bloque conectado al extremo N.

Los bloques de Análisis Técnico Múltiple permiten definir varias condiciones de Análisis Técnico en un único bloque. Así, el bloque AND continuará la ejecución por el extremo S únicamente si se cumplen todas las condiciones definidas, mientras que el bloque OR lo hará si se cumple al menos una de dichas condiciones.

Además de estos bloques más genéricos, en la sección de análisis se pueden encontrar varios bloques extra que ofrecen análisis más específicos. La funcionalidad de todos ellos se puede recrear con bloques de Análisis Técnico, pero los bloques específicos tienen una mayor facilidad de uso.

Bloques de abrir

Como su propio nombre indica, los bloques de apertura permiten abrir trades, existiendo la posibilidad de abrir compras o ventas, tanto a mercado como pendientes. Es importante, a la hora de definir órdenes pendientes, establecer su expiración a un número positivo, o si no no funcionarán.

Podemos además configurar diferentes opciones para las operaciones, como su nombre, su Stop Loss y Take Profit (tanto fijos, expresados en pips, como dependientes de una expresión construida mediante una ventana de función o valor en sus variantes Stop Loss Indicador y Take Profit Indicador) y la gestión monetaria que queremos aplicar. Aparte de ello, es posible establecer un parámetro de seguridad denominado Porcentaje de margen, que impide llevar a cabo la operación si el porcentaje de equidad que permanece como margen libre es inferior al valor que exigimos.

Bloques de cerrar

De igual modo a los bloques de apertura, los bloques de cierre permiten cerrar trades. Se puede cerrar una operación en concreto, identificándola por nombre, o un grupo de operaciones dependiendo de su tipo y su estado.

Bloques de gestión de órdenes

Los bloques de gestión de órdenes sirven para modificar las condiciones de una operación definida previamente. A este respecto, se debe identificar la orden que queremos gestionar mediante su nombre. Las opciones disponibles son: establecer un trailing stop (hacer que el Stop Loss se desplace conforme la operación va ganando pips), un break-even (evitar entrar en pérdidas después de haber ganado ya cierto número de pips), o las más genéricas que permiten hacer que el precio de una orden pendiente, el Take Profit o el Stop Loss se vayan desplazando según una expresión construida mediante una ventana de función o valor.

Bloques de mql

En esta categoría tenemos opciones para guardar valores en variables exportadas o globales definidas previamente. Además, hay un bloque diseñado para usuarios avanzados con conocimientos de programación en MQL4. Este bloque permite escribir un trozo de código MQL4 con libertad absoluta e insertarlo en el punto del flujo en el que coloquemos el bloque.

Bloques de información sobre órdenes

Los bloques de información sobre órdenes dividen el flujo en función de las propiedades de las operaciones que se hayan definido en ese momento. Los nombres de los bloques son autoexplicativos y de ellos se deduce la funcionalidad particular de cada uno.

Bloques de filtros

Los bloques de filtros permiten dividir el flujo en función de la hora, el día de la semana, el día del mes o el mes actual, en el momento de ejecución de los bloques.

Bloques de cuenta

Mediante los bloques de cuenta se puede dividir el flujo en función del balance, la equidad o el margen libre actual de la cuenta en la que se está operando el Expert Advisor.

Bloques de información

Los bloques de información envían un mensaje al ejecutarse. Podemos elegir que el mensaje se imprima en la terminal de MT4, se abra como una alerta en una ventana emergente o nos llegue como una notificación a la aplicación móvil de MT4.

Extensiones de archivos

El constructor de sistemas de Alphadvisor guarda los diagramas en un formato propio de extensión EA4.

Encontrarás estos archivos en la carpeta MQL4\Experts dentro del metatrader conectado a Alphadvisor.

Cuando se compila un diagrama se genera el fichero ejecutable EX4. Metatrader sólo necesita ese fichero para ejecutar el robot. El robot aparecerá en la carpeta de expertos con un círculo de color gris.

Cuando dispones de una licencia anual o de por vida, Alphadvisor generará además el fichero con el código fuente MQ4. El robot aparecerá en la carpeta de expertos con un círculo de color dorado.

Los robots que se generan con la licencia FREE son ejecutables (EX4) pero no disponen del código (MQ4). Puedes realizar backtest y optimización con ellos, pero no operar en real.

Para operar en real adquiere una licencia de Alphadvisor.