Guía de uso de Expert Advisors para Metatrader 4

La plataforma de negociación Metatrader 4 (MT4) fue desarrollada por la empresa Metaquotes y es la plataforma de trading minorista más popular (dirigida principalmente a inversores particulares) en el mercado de divisas. Sin embargo, además del cambio de divisas, también admite una serie de CFDs (Contratos para la Diferencia) sobre índices y productos básicos internacionales. El rasgo revolucionario que llevó a Metatrader a conquistar el mercado de divisas, además de ofrecer precios y gráficos en vivo gratuitos, es que viene acompañado del programa Metaeditor. El entorno de Metaeditor permite al usuario crear scripts, indicadores y sistemas de inversión automatizados (Expert Advisors) utilizando la lengua de programación MQL4 (Metaquotes Language 4). La lengua MQL4 es similar a la popular lengua de programación C, pero adaptada específicamente para crear sistemas de inversión para aplicaciones de bolsa. En esta presentación nos ocuparemos del uso de los Expert Advisors.

Carregar y activar un asesor experto

Para instalar un Expert en MT4, primero debemos descargar el archivo en nuestro ordenador. El archivo ejecutable de un Expert tiene la extensión *.ex4 (por ejemplo, MyExpert.ex4) o si está en formato de archivo de programación de lenguaje *.mql4 (por ejemplo, MyExpert.mql4). Este archivo debe copiarse en el directorio experts, que se encuentra dentro del directorio en el que se instala MT4. Si no conocemos la ruta en la que se ha instalado MT4, podemos encontrarla muy fácilmente como sigue: Hacer clic derecho en el icono de MT4 en la pantalla de inicio – propiedades y en la ficha Shortcut (Acceso rápido) vemos el campo Start In (Inicio), como se muestra en la Figura 1.

Imagen 1 (Búsqueda de ruta de instalación de MT4)Una vez hemos copiado el Expert en el directorio experts, abrimos MT4 y nos dirigimos al Navigator (navegador). Hacemos clic en el crucigrama a la izquierda de la opción Expert Advisors y se abre una lista con los Expertes instalados. Si todo funciona correctamente y no hay ningún problema, el icono a la izquierda del Expert debe aparecer con un color azul vivo y amarillo (ver Imagen 2 – cuadro azul). Si aparece algún problema y el Expert no puede ejecutarse, el icono se convierte automáticamente en gris (ver Imagen 2 – cuadro rojo).

Imagen 2 (Monitor del MT4): Para cargar el Expert en un gráfico, seleccionamos el icono con el botón izquierdo del ratón y lo mantenemos presionado para arrastrarlo dentro del gráfico. Una vez dejamos el botón izquierdo del ratón libre, el Expert se carga y aparece una ventana con dos pestañas (ver Imagen 3). En la pestaña Common (General) hay algunas opciones generales. Para que el Expert funcione normalmente y ejecute transacciones sin solicitar confirmación cada vez que se active, las opciones dentro de los cuadros verdes deben configurarse como se muestra en la Imagen 3.

Imagen 3 (Ventana de opciones del Expert Advisor) Más detalladamente, en la pestaña Common se encuentran las siguientes opciones:

  • Posiciones: Elegir ejecutar Long, Short o Long & Short de acuerdo con los Expertos
  • Activar alertas: Activar alertas
  • Desactivar las alertas una vez alcanzada la primera notificación
  • Permitir el trading en vivo: Activa la ejecución de operaciones. Si esta opción no está activada, el Expert no abrirá posiciones.
  • Solicitar confirmación manual: Cada vez que el Expert desee realizar una operación, se solicitará al usuario que confirme. Si no se recibe una aceptación manual del usuario, la operación no se ejecutará.
  • Permitir importaciones de DLL: Permitir la entrada de archivos DLL durante la ejecución del Expert. Normalmente, los Expertos llaman varias funciones desde archivos de tipo DLL. Por lo tanto, si se utiliza un Expert que llama archivos DLL y esta opción está desactivada, entonces no podrá “lanzarse”.
  • Confirmación de las llamadas a funciones DLL: Aceptación manual de las llamadas a archivos DLL.
  • Permitir la importación de expertos externos: Permitir la importación de expertos externos

La pestaña Inputs (Ejes de entrada) contiene todos los parámetros de entrada para personalizar el Expert. A través de los botones Load y Save, el usuario puede cargar o guardar los combinados de parámetros de entrada correspondientes. Una vez realizadas las opciones necesarias y pulsado el botón OK, el Expert se carga en el gráfico y aparece en la parte superior derecha del gráfico con su nombre. Para que pueda “comenzar a funcionar” y realizar transacciones, también debe activarse el botón Expert Advisors. En la Figura 4 se muestran las dos situaciones diferentes del botón “Expert Advisors” y cómo el icono situado a la derecha del gráfico cambia de estado según la posición.

Imagen 4 (Bot de activación general de Expertos)Si el usuario quiere cambiar las configuraciones del Expert tras haberlo cargado en el gráfico, debe hacer clic derecho dentro del gráfico y seleccionar Expertos en el menú que aparece (ver Imagen 5) y luego Propiedades (Properties), para que vuelva a aparecer la ventana de la Imagen 3. Si quiere eliminar el Expert, simplemente debe seleccionar Eliminar.

Imágen 5 (Reajuste y Eliminación Expert)

Ejecución de Backtest mediante el uso de Strategy Tester

Antes de utilizar un Expert, es necesario comprobar su rendimiento y sus características en el pasado, es decir, realizar un Backtest. El creador del Expert puede prometir ganancias, pero esto no significa necesariamente que sean reales. La posibilidad de realizar un Backtest es una de las ventajas más importantes de los sistemas automatizados en comparación con los manuales. Si un sistema presenta una rendición negativa en el pasado, se rechaza para evitar pérdidas casi garantizadas. También, probando varios sistemas automatizados y comparando sus resultados, el inversor puede elegir los que tengan los mejores parámetros y así lograr la mejor rendición posible.El Backtest en la plataforma MT4 se realiza a través del instrumento Strategy Tester. El Strategy Tester se abre desde el menú principal View (Visualización) y luego se abre Strategy Tester.

Imagen 6 (Strategy Tester)Inicialmente solo hay dos pestañas (Settings y Journal), pero si se ejecuta un backtest o una optimización, también aparecen otras nuevas (ver Imagen 6). En total, las pestañas son las siguientes:

  • Configuración (Propiedades): Definición de todas las configuraciones para la ejecución de backtest o optimización.
  • Resultados: Registro de todas las acciones realizadas y de sus resultados.
  • Gráfico de rendimiento: Diseño de una curva de rendimiento del sistema mecánico.
  • Informe (Reporte): Presentación de datos estadísticos backtest.
  • Diario (Registro de hechos): Registro de los hechos durante la ejecución del procedimiento.
  • Resultados de optimización: Presentación de los resultados de optimización del sistema para todos los posibles combinaciones de parámetros seleccionados.
  • Grafico de optimización: Diseño del gráfico de optimización del sistema para todos los posibles combinaciones de parámetros seleccionados.

Las últimas dos pestañas solo muestran resultados si se selecciona la opción de optimización (Optimization), de lo contrario permanecen vacías.

Configuración de la tarjeta

En la pestaña Settings, el usuario define todas las configuraciones del Expert antes de realizar un backtest o una optimización. A continuación se describe cada opción:

  • Asesor experto: Seleccionar Expert. Aparecerán todos los asesores almacenados en el archivo …\MetaTrader 4\experts.
  • Símbolo: Opción de equivalencia
  • Modelo: Selección del modelo de uso de datos históricos. Esta opción determina qué tipo de datos históricos se utilizarán para realizar el backtest. Debido a que la parametrización de los datos se considera extremadamente importante, se dedica una sección separada para explicar en detalle todos los detalles relacionados con el tema.
  • Utilizar Fecha (Desde – Hasta): Elegir un periodo de tiempo (de … a …)
  • Modo visual: Si se activa esta opción, al pulsar el botón «Inicio» se abrirá automáticamente el gráfico de la paridad y mientras se realiza el backtest, el usuario podrá seguir las últimas tendencias del sistema como si se estuvieran ejecutando en tiempo real. Esta función es muy útil para detectar posibles deficiencias en un Expert. A la derecha del checkbox de la opción, hay una barra a través de la cual el usuario puede ajustar la velocidad con la que se realizan las operaciones en el gráfico.
  • Período: Selección del periodo de tiempo (M1, M5, M15, M30, H1, D)
  • Spread: Opción de spread entre el precio de compra y el precio de venta.
  • Optimización: Activación del proceso de optimización del sistema mecánico.
  • Propiedades Expertas: Al hacer clic en este botón se muestra una ventana que incluye las siguientes pestañas:
    • Test de la tarjeta: Selección del depósito inicial, la moneda base del cuenta y el tipo de posición (Long, Short, Long & Short). El campo de optimización nos interesará más adelante en la sección en la que nos ocuparemos de la optimización de los sistemas mecánicos.

Imagen 7 (Panel de pruebas)

  • Panel de entradas: Configuración de los parámetros de entrada del Expert. En la columna Value se seleccionan los valores de las propiedades que se van a realizar el backtest. Si se ha seleccionado optimización, para cada parámetro que se active el checkbox de la primera columna, como veremos más adelante, se comprobarán todas las posibles situaciones definidas por el usuario.

Imagen 8 (Panel de entradas)

  • Optimización de la ficha: Selección de los criterios de optimización. La descripción de esta ficha se encuentra en la sección que se refiere exclusivamente a la optimización.

Imagen 9 (Propiedades del símbolo)

  • Gráfico abierto: Se muestra el gráfico en el que se realizó el backtest. En la parte superior se indican las parámetros de entrada. También se cargan en el gráfico todos los indicadores utilizados por el Expert y las operaciones realizadas. Los niveles de compra y venta se representan con marcadores verdes y rojos, respectivamente, mientras que las operaciones asociadas se unen mediante líneas discontinuas. Si la posición es Long, la línea tiene un color azul, mientras que si es Short, rojo. Un diagrama indicativo se presenta en la Figura 9.

 Imagen 10 (Diagrama de visualización de las transacciones realizadas por el Expert durante el backtest)

  • Modificar Expert: Abre el entorno Metaeditor, a través del cual se pueden realizar modificaciones en el código de funcionamiento del Expert. Esta función es útil para usuarios que conocen el programación en MQL4 y pueden realizar estas modificaciones. Debe tenerse en cuenta que para abrir el archivo se requiere tener el archivo del Expert en formato de lenguaje de programación (*.mql4) y no simplemente el archivo ejecutable (*.ex4).
  • Inicio: Inicio del backtest.

Resultados de la tarjeta

Visualización de todas las transacciones realizadas durante el backtest. A través de los campos “Set Date From” y “Set Date To” podemos filtrar la duración de la visualización de las transacciones realizadas. Además, con la opción “Copy”, podemos copiar una línea, mientras que con “Copy All“ todas las líneas de las operaciones se copian y se adjuntan en otro lugar, como por ejemplo en algún software de contabilidad como Excel. Esto permite una mayor análisis estadístico de los resultados del backtest, algo que no es posible a través de MT4 ya que no cuenta con los instrumentos estadísticos necesarios.

Imagen 11 (Panel de Resultados del Strategy Tester)Por último, la opción “Guardar como informe” permite exportar la referencia completa del backtest con todos los datos calculados por el MT4 en formato archivo *.html (ver Imagen 10).

Imagen 12 (Referencia del backtest del Strategy Tester)

Grafico de tablas

Representación de la curva de crecimiento del capital (Equity Curve) por transacción. En la parte inferior del gráfico se muestra el tamaño de la posición en cada transacción.

Imagen 13 (Grafico – Crecimiento de la curva del capital)

Reporte de tarjeta

Visualización de parámetros estadísticos de las operaciones del Expert. Estos parámetros estadísticos se utilizan para evaluar los sistemas de inversión y son una parte integral de las estrategias de gestión de riesgos.

Imagen 14 (Panel de Reportes)

Journal de Cartella

Registro informativo de las acciones realizadas por el Strategy Tester durante el backtest, en forma de mensajes de texto.

Imagen 15 (Panel de Diario)

Al obtener datos históricos confiables

Una de las características más fundamentales que determinan la fiabilidad y la validez de un backtest es la calidad y la metodología de uso de los datos históricos. Basta considerar que incluso si todas las operaciones del backtest se llevan a cabo con exactitud, si los datos históricos son erróneos o se elige una metodología de gestión inadecuada, el backtest es totalmente inútil y inapropiado para extraer conclusiones. De ahí que se debe poner especial énfasis en este factor y por eso se dedica una sección completa al tema.

Métodos de modelado de datos históricos

Es importante comprender que el software resume y modela los datos históricos para utilizarlos en el backtest. Como se mencionó anteriormente, el método de modelado de los datos históricos se selecciona mediante la opción Model en la pestaña Settings (ver Figura 16). Existen tres métodos diferentes que se pueden utilizar.

  • Solo precios abiertos
  • Puntos de control
  • Cada gusano

Figura 16 (Selección del método de reconstrucción de datos históricos) Cuando el usuario presione el botón Start para iniciar el proceso de backtest, la primera acción que realiza el programa es reconstruir los datos. Estos datos se almacenan en el subcarpeta …\MetaTrader 4\history\ en un archivo con extensión *.hst. Tras la ejecución del backtest, estos archivos permanecen en el disco duro y pueden abrirse y visualizarse desde el menú File y, posteriormente, en Open Offline Charts (ver Figura 17). Desde la ventana que se abre, el usuario selecciona el archivo y hace clic en Open.

Imagen 17 (Opciones de exportación de gráficos offline) Los gráficos creados por el Strategy Tester para su uso backtest se distinguen en la lista mediante el icono azul con el carácter G en latín. También se indica el timeframe en el que se creó cada gráfico y el método utilizado. En la Imagen 17 se distingue la diferencia de tamaño de los archivos creados por las tres diferentes metodologías (ver la diferencia en el número de barras para el mismo Expert y en aproximadamente el mismo periodo de tiempo). Para entender mejor cómo funcionan las metodologías de modelado de datos, sigue un ejemplo basado en el gráfico horario EURUSD de la Imagen 18.

Imagen 18 (Ejemplo de reconstrucción de datos históricos en un gráfico horario EURUSD)En los gráficos siguientes se muestra cómo el Strategy Tester modela los datos históricos del gráfico horario de la imagen 18, que se encuentra en uno de los cuadros rojos.

Solo Precio Abierto

Solo se tienen en cuenta los valores de apertura de los Bar del plazo de tiempo seleccionado. Como consecuencia, es imposible simular las condiciones del mercado en tiempo real. Es el método más rápido, pero también el más inexacto, por lo que su uso solo es adecuado para Expertos que ejecutan órdenes exclusivamente de apertura y cierre de los Bar. En esta operación, se crean dos Bar (ver Figura 19) para cada Bar del gráfico histórico. El primer Bar no presenta ninguna variación y toma el valor de apertura del Bar para todas las demás variables, es decir: Apertura = Cierre = Alto = Bajo = Apertura del Bar Horario y Volumen = 1. Se utiliza por el Expert para reconocer el punto de finalización de cada Bar y realizar las operaciones. El segundo Bar contiene toda la información del Bar horario, pero no se utiliza en absoluto por el Expert.

Imagen 19 (Método de modelado de datos históricos: Open Price Only)

Puntos de control

Esta opción está un poco más cerca de la realidad que la anterior. Para llevar a cabo el proceso de modelado se extraen datos del timeframe más rápido que el seleccionado para el backtest, es decir, si se utiliza el timeframe H1 se recuperan datos del timeframe M30. Por lo tanto, es necesario que los datos del timeframe más rápido estén completos, sin interrupciones ni valores erróneos. Si estos datos no están disponibles, entonces la reconstrucción de los datos se realiza basándose en unos patrones de oscilaciones predeterminados, lo que puede no tener ninguna relación con la verdadera evolución de los precios. El método Control Points proporciona una mejor imagen de la evolución de los precios durante un bar, pero en ningún caso simula las condiciones de la verdadera bolsa. Su ventaja es su velocidad de ejecución relativamente rápida.

Imagen 20 (Método de modelado de datos históricos Control Points)En la Imagen 20 (marco rojo) se representa la reconstrucción de los valores del bar horario de la Imagen 18. Se han creado 10 barras que dividen la hora en intervalos más pequeños y para cada una de ellas se ha registrado la variación correspondiente del EURUSD.

Cada movimiento

Es el método de modelado de datos más preciso de Metatrader4, pero a pesar de ello no puede replicar el 100% de las condiciones de la verdadera bolsa. Sin embargo, se aproxima a ellas en un nivel muy satisfactorio y los resultados que ofrece se consideran confiables, constituyendo por tanto el método de backtest más adecuado para los Expertos. Puede ocurrir que ocurran posibles errores en casos excepcionales, en los que se produzcan movimientos repentinos en un periodo de tiempo extremadamente corto. La grabación detallada de estas acciones es imposible de representar en el gráfico M1 y, debido a que Metatrader no dispone de gráficos de duración más corta, la grabación precisa de estas acciones se pierde. A diferencia del método Control Points, la reconstrucción de los datos no se realiza solo en función del timeframe más rápido, sino mediante la combinación de todos los timeframes más pequeños. Si existen datos disponibles de varios timeframes simultáneamente, se selecciona el más pequeño para obtener una mayor precisión. Así se crean puntos de control con mucha mayor discrecionalidad. En la imagen 21 se presenta la reconstrucción de los datos del bar horario de la imagen 18 utilizando el método Every Tick. Es evidente que la precisión en comparación con el método Control Points es extremadamente mayor y, por supuesto, el volumen de datos también. Por eso esta metodología presenta una ejecución muy lenta, lo que también es su mayor desventaja.

Imagen 21 (Método de modelado de datos históricos Every Tick) La calidad de los datos de todos los marcos temporales más pequeños juega un papel muy importante para la fiabilidad de los resultados, y además existe la medición de la Calidad de Modelado en la pestaña Reports (ver Imagen 22), que evalúa la reconstrucción de los datos. Para que el proceso sea considerado confiable, esta medición debe superar el 90%, de lo contrario existe una importante discrepancia de datos entre los diferentes marcos temporales.

Imagen 22 (Medición de la calidad de modelado) Para simular el movimiento de los precios entre los puntos de control, se utilizan algoritmos de bibliotecas de estándares predeterminados. El movimiento resultante del uso de estos algoritmos incluye un cierto grado de aleatoriedad, ya que el sistema no puede conocer el movimiento exacto dentro del menor plazo disponible. Por ejemplo, para un bar M1 solo se almacenan en los datos históricos las posiciones de apertura, cierre, máximo y mínimo. Como consecuencia, y dado que no existen datos históricos de plazo más corto para proporcionar mayor precisión al movimiento, no existe información sobre cómo se ha movido el indicador dentro del intervalo, por lo que la simulación se basa en los algoritmos. Sin embargo, dado que los datos M1 para la gran mayoría de los movimientos se consideran extremadamente precisos, la simulación también se considera extremadamente confiable.

Guía de información de datos históricos

Muchas veces los datos de un gráfico en Metatrader 4 pueden ser problemáticos. Esto suele ocurrir en los depósitos demo y por eso generalmente se recomienda que los backtests se realicen en los depósitos reales. También hay que tener en cuenta que los datos pueden variar ligeramente entre diferentes brokers. Esto ocurre por dos razones. En primer lugar, no todos los brokers obtienen liquidez de los mismos proveedores y, en segundo lugar, el spread entre el precio de compra y el precio de venta varía según el broker. Esta diferencia puede afectar significativamente el rendimiento de algunos Expertos, especialmente aquellos que realizan transacciones muy frecuentes y tienen take profit y stop loss ajustados (tecnicas de scalping). Por el contrario, los Expertos que realizan operaciones a un horizonte más largo con objetivos más grandes y stop loss más relajados se ven poco afectados por las pequeñas diferencias de precios entre los brokers. En consecuencia, la importancia que se otorgará al tema de los datos dependerá del tipo de Expert que se utilice. Además, comparar el rendimiento de un Expert con datos de diferentes brokers puede también ayudar a elegir el broker más adecuado. Muchos brokers y varios sitios independientes en Internet ofrecen datos históricos de barras de un minuto (período de tiempo M1). En general, se recomienda utilizar datos procedentes del broker con el que el usuario tenga una cuenta de valores, ya que de esta manera los backtests que se realizarán estarán más próximos a las condiciones reales en las que se ejecutan las operaciones. Los archivos de datos históricos pueden ser buscados mediante las palabras clave M1 y el nombre del indicador bursátil (por ejemplo, EURUSD, DAX). Pueden tener la forma de archivos de texto con extensiones *.txt, *.prn, *.csv o la forma de archivos de datos históricos de Metaquotes, con la extensión *.hst. Después de que el usuario ’baje“ el archivo de datos históricos, debe seguir un proceso que se describe inmediatamente a continuación y en el que se utiliza el script Period_converter (está preinstalado en Metatrader). Antes de iniciar el proceso, debe seleccionarse la posibilidad de cargar un máximo número de datos históricos. Esto se hace desde el menú como sigue: Herramientas (Tools) – Opciones (Options) y desde la ventana que se abre, seleccionando la ficha ”Graficos” (Charts). En el campo Max Bars in history (Máximo número de barras históricas) se modifica el número permitido, es decir, 999999999999 (ver Figura 23).

Imágenes 23 (Cambio de la configuración de la cantidad máxima de barras del historial)El proceso comienza con la actualización del historial de los datos M1 como sigue: selección en el menú Tools – History Center (Centro de Historia) y se muestra una ventana a través de la cual se gestiona el historial de datos (ver Imagen 24).

Imagen 24 (Centro de Historia) Se selecciona en la columna izquierda el indicador que interesa al usuario (en el ejemplo se utiliza la paridad EURUSD) y aparece una lista con todos los timeframes (de M1 a MN). Tras seleccionar el timeframe M1 y, posteriormente, hacer clic en el botón Importar (Importar), se abre una nueva ventana (ver Imagen 25) a través de la cual se introduce el archivo de datos históricos. Haciendo clic en el botón Browse (Búsqueda) se abre una nueva ventana donde se selecciona el archivo.

Imagen 25 (Importación de datos históricos) Una vez cargado el archivo, se muestran en líneas los datos históricos por minuto. Haciendo clic en el botón OK, los datos se cargan automáticamente en la base de datos de Metatrader. El gráfico M1 del EURUSD ya está actualizado con los nuevos datos históricos. El proceso continúa con la apertura de un nuevo gráfico M1 y la toma de relevo pasa ahora al script Period_converter. Este script lee la base de datos M1, convierte los datos en otro tiempo de referencia, según la opción de entrada que el usuario proporcione, y los almacena en el archivo correspondiente para su uso. La importación del script se realiza a través del Navegador (ver Imagen 26). Una vez que el script se haya importado en el gráfico M1, se muestra una ventana en la que el usuario selecciona la opción de entrada ExtPeriodMultiplier (ver Imagen 27).

Imagen 26 (Script period_converter) Esta parámetro define el tiempo de duración de la conversión que realizará el script en minutos. Por lo tanto, si el usuario desea actualizar la base de datos M5, selecciona 5; si quiere actualizar la base de datos H1, selecciona 60 segundos.

Imágen 27 (Selección del plazo de conversión de los datos) Durante la carga y finalización del funcionamiento del script, en la pestaña 'Experts' del terminal se muestran mensajes informativos en los que se registra la selección de la parametrización de entrada ExtPeriodMultiplier y el número de registros que se han registrado.

Imagen 28 (Mensajes de notificación de funcionamiento period_converter) Debido a que para la ejecución de un backtest en modo Every Tick se requieren todos los intervalos de tiempo más pequeños que el utilizado por el Expert, en esencia este proceso se repite para las parámetros 5 (M5), 15 (M15), 30 (M30), 60 (Η1), 240 (Η4), 1440 (D1), para que los datos estén disponibles en todos los intervalos de tiempo en cada caso. Después de la primera carga del script en el gráfico M1 y siempre que el usuario continúe cargándolo en el mismo gráfico, para continuar el proceso también para los demás intervalos de tiempo, se muestra el mensaje de la imagen 29. Basta con pulsar el botón Yes y la operación del script continúa sin ningún problema.

Imagen 29 (Mensaje de interrupción de la operación del script)

Optimización de Expertos mediante el uso del Strategy Tester

Strategy Tester es una herramienta de Metatrader 4 que permite la ejecución automática de backtests sucesivos de un Expert para un rango específico de parámetros de entrada. La finalización de este proceso genera los resultados para todos los posibles combinaciones seleccionadas y, a continuación, el usuario, al definir varios criterios, puede determinar la parametrización que llevará al sistema a los resultados óptimos. En esta sección se hará una referencia detallada a todas las funciones de Strategy Tester que se refieren a la optimización de los Expertos.

Ejecución del control de optimización

En la Figura 30 se muestra la ventana del System Tester y con marcados en rojo los campos que el usuario selecciona para configurar el control de optimización y con verde los dos paneles donde el sistema exporta los resultados del control. Para ejecutar un control de optimización de un Expert, debe activarse el checkbox con la indicación Optimization (ver Figura 30). De lo contrario, independientemente de cualquier otra configuración, el Tester ejecutará un backtest único con las mismas valoraciones de entrada del Expert.

Imagen 30 (Strategy Tester) La configuración del rango de parámetros de entrada para la ejecución del control de optimización se realiza pulsando el botón Expert properties. Aparece una nueva ventana con tres pestañas:

  • Test de la tarjeta: En el campo de Optimización hay las opciones:
    • Parámetro optimizado: Selección del parámetro de optimización (ver Figura 31). Durante la ejecución de un control de optimización, el Tester clasifica los resultados en función de este valor de parámetro. Las opciones posibles son las siguientes:

Imagen 31 (Tarjeta de pruebas)

    • Saldo (Capítulo)
    • Factor de ganancia (Sustituyente de ganancia)
    • Retribución esperada (Aceptación matemática del beneficio)
    • Mínimo de Despegue (Mínimo de Despegue)
    • Porcentaje de reducción (Ποσοστιαίο Drawdown)
  • Panel de entradas: Ajuste de los parámetros de entrada que afectan al funcionamiento del Expert (ver Figura 32). A través de los cuadros de verificación a la izquierda de los parámetros se determina si una de las entradas se llevará a cabo en el control de optimización o no. Para cada parámetro seleccionado, también se deben definir el valor de inicio (Start), el valor de finalización (Stop) y el paso (Step). Las variables que no se seleccionan mantienen constante el valor del campo Value. Por ejemplo, en la Figura 32, la variable TakeProfit tendrá valores de 30, 40, 50, … 100, la variable Lots será 0.1, 0.2 … 1 y la variable TrailingStop será 30, 40, … 100. De esta manera se realizarán backtests del Expert para todos los posibles combinaciones de estos parámetros.

Imagen 32 (Panel de entradas)

  • Optimización de la tabla: La posibilidad de seleccionar restricciones en el control de optimización (ver Figura 33). Si el usuario considera que el rendimiento de un Expert no puede superar ciertos límites, activa los campos correspondientes y en la columna Value se determina el límite correspondiente. Por ejemplo, si el usuario quiere cancelar un backtest, si el Expert realiza más de 10 transacciones perjudiciales consecutivas, selecciona el campo “Trades perjudiciales consecutivos” y da un valor de 10 en el campo correspondiente de la columna Value. Las opciones disponibles son las siguientes:

Imagen 33 (Tarjeta de optimización)

  • Saldo mínimo (Saldo mínimo del capital)
  • Máximo beneficio (Mínimo de beneficios)
  • Nivel mínimo % % de margen de seguro
  • Descuido máximo (Mínimo máximo)
  • Perdida consecutiva (Perdida consecutiva de capital)
  • Operaciones de pérdida consecutivas (Discontinuidas pérdidas)
  • Ganancia consecutiva (Ganancia de capital continua)
  • Operaciones de ganancias consecutivas (Operaciones ganadoras consecutivas)

Una vez completadas todas las opciones deseadas con un clic en el botón OK, se vuelve a la pantalla principal del Tester y al pulsar el botón Start se inicia el proceso de optimización. El tiempo necesario para completar el proceso depende de la complejidad del Expert y del número de combinaciones posibles de parámetros elegidas por el usuario. Los resultados se visualizan en las tarjetas Optimization Results y Optimization Graph.

Resultados de optimización de la tarjeta

En cada optimización se realizan tantos backtests como combinaciones posibles de los parámetros de entrada elegidos por el usuario. En la pestaña Optimization Results (Resultados de Optimización) se muestran en una tabla los resultados de todos los backtests realizados (ver Figura 34).

Imágen 34 (Strategy Tester – Tablas de resultados de optimización) Este cuadro contiene 8 columnas con los siguientes campos:

  • Pasa: Número máximo de iteraciones de optimización. Para cada combinación de parámetros de entrada, el sistema ejecuta un backtest. Para cada nuevo backtest, este número aumenta en un.
  • Beneficio: Ganancia total (Ganancia total – Pérdida total).
  • Total de operaciones: Total de transacciones realizadas
  • Factor de gananciaRato de rendimiento (Ganancia absoluta/Perdida absoluta). Un valor por debajo de la unidad indica que se trata de un sistema de inversión perjudicial.
  • Retribución esperada: Expectativa matemática de beneficio (Beneficio total/Número total de operaciones). Un término muy importante que se utiliza con frecuencia en casi todas las metodologías de gestión de riesgos y que expresa la rentabilidad promedio del sistema por operación.
  • Descuadratura $: Máximo daño continuo en relación con el capital inicial de la cuenta.
  • Descuadratura %: Pérdida máxima continua en relación con el capital inicial en una proporción porcentual.
  • Ingredientes: Las opciones de parámetros de entrada del Expert para las cuales se realizó el backtest correspondiente.

Al hacer clic en la cabecera del panel, el usuario puede elegir qué parámetro quiere que se utilice para cuantificar los resultados de la optimización. Cuando la optimización finaliza, la cuantificación se realiza en función del número de ejecuciones ascendente (primera columna) y en orden decreciente. En la cabecera de la parámetro en la que se cuantifica el resultado, aparece un icono (ver Figura 34 con un círculo azul). Si el icono apunta hacia arriba, la cuantificación se realiza del menor al mayor, mientras que si apunta hacia abajo es al contrario. Al hacer clic por primera vez en una de las parámetros se elige la cuantificación del menor al mayor. Si el usuario quiere invertir la cuantificación, basta con hacer clic nuevamente en el mismo punto. Por ejemplo, si se quiere cuantificar los resultados en función de la expectativa matemática de ganancias y con una cuantificación desde el mayor al menor, basta con hacer clic dos veces en la cabecera de la columna Expected Payoff (ver Figura 35). Imagen 35).

Imagen 35 (Panel de resultados de optimización – Alocación de resultados basada en la selección de parámetros por el usuario)Al hacer clic derecho en cualquier lugar dentro del panel de resultados de optimización, se muestra un menú que contiene la opción “Save As Report” (ver Imagen 36).

Imagen 36 (Archivación de los resultados de la optimización en un archivo de referencia externo)Al seleccionar esta opción, se permite almacenar los resultados de la optimización como una referencia en un archivo de tipo *.html (ver Imagen 37).

Imagen 37 (Archivo de referencia de optimización de HTML)

Grafico de optimización de la tarjeta

En la pestaña Optimization Graph (Grafico de optimización) se visualiza un gráfico en el eje horizontal que muestra el número de ejecuciones del backtest (primera columna del cuadro Optimization Results) y en el vertical la parametrización de optimización definida en la pestaña Testing (ver Figura 38). De esta manera, el usuario tiene la posibilidad de comparar los resultados de los backtests. Al pasar el cursor del ratón sobre alguna de las flechas del gráfico, se muestra un marco amarillo en el que se indica el valor de la parametrización de optimización y las entradas del backtest correspondiente (ver Figura 38 – marco morado).

Imagen 38 (Strategy Tester – Tabulación de la gráfica de optimización) A la izquierda, en la parte superior del gráfico, se indica la variable de optimización. En la Imagen 39 se muestra la optimización del mismo Expert con las mismas entradas, pero para la variable de optimización Expected Payoff.

Imagen 39 (Strategy Tester – Tabulación de la optimización) Al hacer clic derecho dentro del gráfico de optimización, se muestra un menú que contiene como primera opción “2D Surface” (ver Imagen 40).

Figura 40 (Selección del gráfico 2D Surface) Al seleccionarla, el gráfico cambia y toma la forma de la Figura 41. En esta forma se permite comparar el rendimiento de la métrica de optimización basándose en dos de las métricas de entrada. Al hacer clic con el botón derecho dentro del gráfico “2D Surface”, además de las opciones anteriores, ahora también aparecen las opciones X-Axis (Eje X) y Y-Axis (Eje Y), en las que se puede seleccionar cualquiera de las métricas de entrada del Expert (ver Figura 41). Cuanto más arriba y a la derecha se encuentre un conjunto de las dos métricas, tanto mayor será el rendimiento y viceversa. En el gráfico también se utiliza un código de colores en tonos de verde. Cuanto más intenso sea el color de un conjunto, mayor será el rendimiento.

Figura 41 (Diagrama de tipo 2D Surface)Si las entradas son más de dos, entonces el usuario debe aislar los conjuntos de parámetros que le interesan por dos y estudiarlos por separado. Como en el diagrama anterior, cuando el cursor se encuentra en uno de los campos verdes, aparece el mismo cuadro amarillo que informa al usuario sobre las diferentes entradas del conjunto de parámetros (ver Figura 42).

Figura 42 (Diagrama de tipo 2D Surface) Si se vuelve a pulsar la opción “2D Surface”, el gráfico vuelve a su forma original. En el menú de clic derecho también hay las opciones ”Copy” y “Save As Picture” (ver Figura 41), mediante las cuales el usuario puede copiar o guardar directamente el gráfico como imagen.

Comparte este post con tus amigos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *