Creando un EA gradador multiplataforma: simulación del asesor multidivisa

28 julio 2020, 15:44
Roman Klymenko
0
656

Introducción

Este artículo supone un peculiar epílogo al ciclo de artículos sobre los asesores gradadores:

En el presente artículo, no vamos a crear o mejorar el asesor. El asesor multidivisa ya está creado. Su nueva versión se adjuntará a este artículo junto con los informes de simulación y el archivo SET que se utilizó para la misma.

El objetivo principal del artículo es poner a prueba el funcionamiento del asesor usando como base la promediación o martingale en un mercado para el que no ha sido diseñado. ¿Podrá un asesor que comercia solo en Long soportar la caída de S&P 500 de 3400 a 2200, es decir, de más de un 30%?

Reglas principales del sistema comercial

El sistema de trading con el que comerciará el asesor consta de las siguientes reglas.

Mercado. Todas las transacciones se ejecutan con las acciones del mercado de valores americano. El bróker con el que se realizará la simulación ofrece acceso a varias decenas de las acciones más populares. Precisamente entre ellas se seleccionarán las acciones para el uso posterior en el asesor multidivisa.

Dirección de entrada. Todas las posiciones se abrirán solo en Long.

La selección de la dirección es obvia, si miramos el gráfico, el coste de la mayoría de las acciones del mercado de valores es por un periodo largo de tiempo. Sobre todo si tomamos el periodo de 2010 hasta los últimos eventos de 2020. Por ejemplo, vamos a echar un vistazo al gráfico semanal de las acciones de Microsoft:

Acciones de Microsoft, gráfico semanal

Si no tenemos en cuenta la caída de precios de marzo, podremos notar a simple vista que el crecimiento del precio de las acciones es casi constante.

Punto de entrada. Abriremos una posición basada en las lecturas del asesor RSI. Dependiendo del activo, las lecturas se interpretarán de forma distinta. En algunos activos, entraremos cuando el valor de RSI sea menor a 30. En otros, cuando el valor de RSI supere 70. En algunas ocasiones, funciona mejor un método, en otras, otro.

Número de saltos de promediación. Utilizar la promediación con un número ilimitado de saltos es muy peligroso. Y es que si el precio se mueve mucho tiempo en una dirección, con cada nueva apertura de posición, sus pérdidas aumentarán exponencialmente.

Por ese motivo, nuestra cuadrícula de cada instrumento constará como máximo de 4 posiciones abiertas (saltos).

Es decir, si la cuadrícula de un instrumento consta de un máximo de 3 saltos, y el precio está llegando ya hasta el nivel en el que se puede abrir el 4 salto, en este nivel, en lugar de abrirse una nueva posición, se cerrarán todas las posiciones del instrumento. Así, comerciaremos utilizando la promediación, pero usando además stop loss.

Método de promediación. Promediar una posición existente (es decir, abrir una posición adicional a un precio más bajo) es posible tanto con un lote fijo, como aumentando el lote con cada nueva apertura de posición.

Si usamos alguna variedad de martingale para aumentar el lote, al darse un stop loss, las pérdidas obtenidas serán mucho mayores que el beneficio que hemos conseguido con el take profit. Por este motivo, resulta complicado usar un martingale desde el punto de vista psicológico. Cuando ves que después del stop loss se ha perdido todo el beneficio que el asesor ha ganado durante las dos últimas semanas, esto puede dejarte un poco tocado. Y lo que querrías es renegar de los stop loss.

Por todo lo dicho, en el asesor multidivisa seleccionaremos en primer lugar instrumentos que muestren buenos resultados al promediar con lote fijo.

Si, a pesar de todo, vamos a utilizar martingale, el lote no aumentará en progresión geométrica, sino que, con cada nuevo salto, se incrementará en una magnitud igual al lote inicial.

Veamos como ejemplo un pequeño recuadro.

Tipo de promediación
Número de saltos en la cadena
 Pérdidas con stop loss
 Fija
 2
 3
 Fija  3
 6
 Fija  4
 10
 Aumento con uso del lote inicial
 2
 4
 Aumento con uso del lote inicial  3
 10
 Aumento con uso del lote inicial  4  20

Las pérdidas con stop loss en el salto correspondiente de la cadena se indican en número de saltos. Es decir, si el tamaño del salto es igual a 7 puntos, las pérdidas con una promediación fija en el 4 salto de la cadena serán igual a 10*7 = 70 puntos.

Así, aumentando el volumen en la magnitud del lote inicial, no podremos utilizar más de 3 saltos en la cadena, dado que, ya en el 4 salto, las pérdidas con un stop loss se harían demasiado grandes.

Tamaño de la cuadrícula y tamaño del take profit. Tanto el tamaño de la cuadrícula (la distancia en puntos entre dos posiciones abiertas) como el tamaño del take profit se seleccionarán durante la optimización. Para no perder demasiado cuando se active un stop loss, estos parámetros se seleccionarán de tal forma que las pérdidas al darse un stop loss sean iguales a 1-3 beneficios del take profit.

Periodo comercial y simulación. Como podemos ver por el gráfico de la mayoría de instrumentos del mercado de valores, el precio en ellos crece con decisión durante un largo periodo de tiempo. Sin embargo, aquí las palabras clave son "durante un largo periodo". Este sistema comercial ha sido pensado para un periodo mínimo de 1 año. El periodo óptimo de es 4 años. Si usted decide utilizar este sistema comercial, será mejor que se oriente en función de ese periodo, 4 años.

Todas las simulaciones y optimizaciones se han realizado en un periodo de 4 años: desde enero de 2016 a enero de 2020. El conjunto de instrumentos obtenido como resultado lo simularemos de forma adicional en un periodo que abarca hasta abril de 2020. Es decir, en la caída de los mercados de valores.

Lote utilizado en el comercio. Todas las simulaciones y optimizaciones se realizarán con un lote fijo. Para cada instrumento, se utilizará un volumen de lote propio.

El asesor multidivisa obtenido como resultado, será simulado de forma adicional con un lote comercial de incremento paulatino. Es decir, si aumentamos el saldo al doble, el lote se incrementará igualmente al doble. Y así hasta que el lote de trabajo sea igual a 25 lotes iniciales.

Para aumentar el lote de trabajo, en el asesor se utilizan varios parámetros de entrada. En estos parámetros, se indica el tamaño del depósito alcanzado el cual, se deberá aumentar el tamaño del lote de trabajo (ver figura más abajo).

Parámetros de entrada para aumentar el lote de trabajo

Recapitulando. En general, estas son todas las reglas de las que consta nuestro sistema comercial. Es el momento ideal para comprobar si resulta rentable (y cuánto), utilizando instrumentos individuales.


Parámetros de optimización en instrumentos individuales

A nuestro parecer, no tiene sentido describir aquí cómo hemos realizado la optimización en cada instrumento. El valor del presente artículo no reside en esto.

Solo diremos de la optimización que se ha realizado en el modo de datos Cada tick basado en ticks reales.

La clasificación de los resultados de optimización se ha efectuado según el factor de recuperación. En concreto: si como resultado de la simulación se han obtenido benenficios, se retornará el valor del factor de recuperación Si se han sufrido pérdidas, en lugar del factor de recuperación, se mostrará el porcentaje en el que ha disminuido el saldo de la cuenta (con signo negativo). En este caso, además, si como resultado del funcionamiento del asesor, se han realizado menos de 30 transacciones, se retornará 0, dado que el número de transacciones será demasiado pequeño para obtener una estadística objetiva.

Este método de clasificación no se encuentra entre las opciones estándar. Esta variante está implementada en el propio asesor. Y para utilizarla, deberemos seleccionar en la pestaña Ajustes del simulador de estrategias el Máximo Criterio de Usuario (ver figura más abajo).

Máximo Criterio de Usuario

Asimismo, a la hora de simular y optimizar instrumentos individuales, hemos utilizado la simulación forward. Para nuestro periodo de 4 años, encaja a la perfección la variante de simulación forward 1/4. Es decir, los 3 primeros años se utilizan para el backtest, y el último año, para la simulación forward.

Instrumentos seleccionados en la composición del asesor multidivisa

Bien, vamos a pasar a los resultados de simulación. Concretamente, echaremos un vistazo a los gráficos de balance de los instrumentos que finalmente han sido incluidos en nuestro asesor multidivisa. Dichos instrumentos son 11. En primer lugar, porque nuestro asesor no ha sido diseñado para un número de instrumentos mayor. En segundo lugar, resulta muy complicado seleccionar más instrumentos cuya apertura de posiciones no se correlacione entre sí.

AAPL:

AAPL, 2016-2020

BRK.B:

BRK.B, 2016-2020

PEP:

PEP, 2016-2020

WMT:

WMT, 2016-2020

CVX:

CVX, 2016-2020

EBAY:

EBAY, 2016-2020

MSFT:

MSFT, 2016-2020

DIS:

DIS, 2016-2020

JPM:

JPM, 2016-2020

JNJ:

JNJ, 2016-2020

S&P500:

S&P 500, 2016-2020

Como el lector comprenderá, la fuerte caída hacia la base del gráfico en cada captura de pantalla en realidad no es una caída. Se trata de la transición del backtest a la simulación forward. Y es que la simulación forward no comienza desde la suma ganada tras el backtest, sino desde la suma inicial del depósito.

Vamos a analizar de forma adicional el recuadro resumido con los resultados de la simulación de estos instrumentos:

 Símbolo Factor de recuperación (back/forward)
Rentabilidad (back/forward)  Máx. reducción (back/forward) Transacciones (back/forward)
 AAPL
 7.25 / 11.04
 3.93 / 37.99
 49.41 / 30.36
 134 / 58
 BRK.B  7.41 / 1.79
 3.11 / 2.01
 15.06 / 14.96
 70 / 29
 PEP  5.2 / 3.26
 2.49 / 5.42
 13.96 / 10.42
 55 / 15
 WMT  5.9 / 3.19
 2.51 / 2.56
 25.52 / 20.7
 67 / 25
 CVX  6.51 / 3.25
 3.03 / 4.26
 19.17 / 14.82
 78 / 24
 EBAY  4.57 / 1.95
 8.87 / 8.85
 20.7 / 12.96
 43 / 12
 MSFT  7.41 / 3.13
 6.69 / 5.26
 16 / 20.93
 72 / 44
 DIS  3.97 / 1.19
 2.32 / 1.84
 26.97 / 32.02
 101 / 49
 JPM  4.34 / 3.07
 1.75 / 2.81
 12.69 / 10.86
 164 / 54
 JNJ  6.24 / 1.23
 5.66 / 2.31
 28.94 / 44.36
 68 / 29
 S&P500  2.55 / 1.98
 1.65 / 1.57
 17.81 / 21.18
 85 / 91

Todos los informes del simulador de estrategias se adjuntan al artículo.

Se considera que la simulación forward permite obtener resultados más precisos, y también que previene la sobreoptimización del asesor. Aunque no estamos de acuerdo con este punto de vista, nos sometemos a la opinión de la mayoría, por eso hemos utilizado este tipo de simulación durante la optimización.

A nuestra forma de ver, la simulación forward solo tiene una ventaja. Con su ayuda, podemos poner a prueba el asesor en dos periodos al mismo tiempo, utilizando dos puntos de entrada iniciales individuales. Es decir, ahorramos tiempo.

En lo demás, la simulación forward solo complica la interpretación de los resultados.

Por ejemplo, no es posible obtener el factor de recuperación total de todo el periodo de simulación mediante la suma simple del factor de recuperación para el backtest y el factor para la simulación forward, ya que, normalmente, la reducción máxima en estas fases es distinta. Y nosotros necesitamos la reducción máxima de todo el periodo, para determinar el volumen inicial de las transacciones o el depóstio mínimo. Es decir, tendremos que tomar una reducción máxima moderada como reducción máxima de todo el periodo, lo que convertirá en erróneo el factor de recuperación calculado en la fase con menor reducción

Si tenemos la posibilidad de mirar el gráfico de balance, veremos que no es posible sobreoptimizar el asesor, incluso sin simulación forward. Si el gráfico de balance se desplaza de forma estable hacia arriba en todo el periodo, significará que hemos seleccionado los ajustes adecuados. Si el crecimiento principal se ha obtenido al inicio del gráfico de balance, y en la parte derecha del gráfico el nivel de fondos se mantiene en el sitio o bien cae, estará claro que los datos de configuración no valen para nada.

Simulando el asesor multidivisa en el periodo hasta la caída del mercado

¿De qué forma influye la combinación de los instrumentos enumerados en un solo asesor? ¿Mostrará el asesor obtenido mejores resultados que el comercio en cada instrumento por separado? Sin más dilación, vamos a analizar el gráfico de balance y los resultados de la simulación al comerciar con un lote fijo:

Gráfico de balance al comerciar con los 11 instrumentos a la vez (lote fijo)

Parece que incluso a simple vista podemos notar cuánto se ha suavizado el gráfico de balance en comparación con el comercio solo con un instrumento. Sin embargo, no vamos a confiar de inmediato en nuestro ojos: prestemos atención una vez más al recuadro con los resultados de la simulación.

 Factor de recuperación  Rentabilidad Beneficio neto
 Máx. reducción Transacciones
 20.56  2.94
 1 992
 96.91
 1 308

Ya vemos que incluso el recuadro con los resultados de la simulación muestra la utilidad de la diversificación.

El depósito inicial al realizar la simulación era de 200 dólares. Y tras 4 años, ahora es de 1 992 dólares. Es decir, utilizando un lote fijo, el beneficio en 4 años es de casi el 900 por ciento.

No está nada mal. Sin embargo, la realidad es un poco peor. Aunque solo sea porque el depósito inicial de 200 dólares es demasiado pequeño.

La reducción máxima ha sido igual a 97 dólares. Pero esto no significa que para comerciar en este sistema comercial baste con tener 97 dólares en el depósito. También debemos considerar el margen de mantenimiento que se reservará para mantener las posiciones abiertas.

Tras la simulación, este asesor muestra en la pestaña Diario información sobre el margen máximo alcanzado durante la simulación. En nuestro caso, el margen máximo alcanzado ha sido de 190 dólares. Es decir, para comerciar cómodamente, deberemos tener un depósito mínimo de 97 + 190 = 280 dólares. Podemos redondearlo hasta los 300 dólares. Eso significa que el beneficio en 4 años es prácticamente del 600 por ciento.

Hemos obtenido beneficio en 4 años comerciando con un lote fijo. Pero, ¿qué sucederá si aumentamos el lote con cada incremento del saldo en una cantidad igual a la suma inicial que había en el depósito? El asesor nos permite aumentar el lote inicial un máximo de 25 veces. Estamos seguros de que para las pruebas será más que suficiente este aumento:

Gráfico de balance al comerciar con los 11 instrumentos a la vez (lote creciente)

Como puede ver, ahora el gráfico ya no es tan suave. Sin embargo, ¡qué beneficios! Partiendo de 200 (vale, 300) dólares, hemos alcanzado los 20 701 dólares. Es decir, ¡casi un 7 000 por ciento del beneficio en 4 años!

En este caso, el lote máximo comenzará a aplicarse ya con un depósito de 7 100 dólares. Así que, si no tenemos miedo, podríamos seguir aumentando el tamaño del lote de trabajo.

Simulando el asesor multidivisa en el periodo de caída del mercado

Todo esto está bien, pero, ¿qué podemos hacer con la caída del mercado que hemos sufrido?

Bueno, ya hemos llegado al tema principal del artículo. En esta ocasión, el periodo de simulación será del 2016.01.01 al 2020.04.01.

Resultados de la optimización del asesor multidivisa con los mismos ajustes comerciando con lote fijo:

Gráfico de balance al comerciar con los 11 instrumentos a la vez (lote fijo)

A primera vista, la caída casi no se nota. Vamos a echar un vistazo a los resultados de la simulación.

 Factor de recuperación  Rentabilidad Beneficio neto
 Máx. reducción Transacciones
 13.91  2.54
 1 971
 141.69
 1 400

Ciertamente, hay diferencias. El factor de recuperación ha descendido a 7. La reducción máxima ha aumentado 1.5 veces. El beneficio casi no ha cambiado. Es decir, como resultado, hemos perdido lo ganado desde enero hasta finales de febrero. Y esto, claro está, no es un 30% de disminución de la cuenta.

Ahora, vamos a ver los resultados de la simulación con un lote aumentado paulatinamente 25 veces:

Gráfico de balance al comerciar con los 11 instrumentos a la vez (lote creciente)

En principio, incluso en este caso, la caída no es tan sustancial. En este caso, el beneficio es igual a 20 180 dólares, unos 600 dólares menos que al inicio de 2020.

Vamos a resumir

Bueno, esperamos que, en líneas generales, hayamos podido demostrar al lector que los sistemas comerciales basados en la promediación y el martingale no son peligrosos. Claro está, solo en el caso de que su promediación tenga límites. Es decir, cuando, incluso con la promediación y el martingale, usted trabaje con stop loss.

Conclusión

Como conclusión, querríamos destacar que han pasado más de 10 años tras la última caída significativa de los mercados (2008). Durante todo este tiempo, los mercados han crecido sin tregua. ¿Cómo podemos estar seguros de que tras la caída de 2020, los mercados no crecerán otros diez años? Sería precisamente el escenario ideal para los sistemas comerciales semejantes a los descritos en el presente artículo.

En lo que respecta al autor, seguro que pondrá a trabajar un robot que funcione con este sistema, en una cuenta real. Usted puede hacer lo mismo, ya que el propio asesor se adjunta al final del artículo.

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

Archivos adjuntos |
article_files.zip (4164.36 KB)
griderKatMultiEA.ex4 (482.52 KB)
griderKatMultiEA.ex5 (615.21 KB)
griderKatMultiEA.mq4 (410.15 KB)
griderKatMultiEA.mq5 (410.15 KB)
Optimización móvil continua (Parte 6): La lógica del optimizador automático y su estructura Optimización móvil continua (Parte 6): La lógica del optimizador automático y su estructura

Describiendo la creación de la optimización móvil automática, al fin hemos llegado a la estructura interna del propio optimizador automático. Este artículo puede resultar útil a aquellos que deseen mejorar el proyecto creado, o bien quieran simplemente analizar la lógica de funcionamiento del programa. En el presente artículo, mostraremos con la ayuda de diagramas UML la estructura interna del proyecto y la interacción de los objetos. Asimismo, analizaremos el proceso de iniciación de las optimizaciones, aunque, por el momento, sin describir el proceso de implementación del optimizador.

El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas

En este artículo, finalizaremos la descripción del nuevo concepto para la construcción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. El editor gráfico especial permitirá ajustar de forma interactiva una disposición formada por las clases básicas de elementos de GUI, y después exportarla a una descripción MQL para usarla en nuestro proyecto MQL. Asimismo, presentamos la construcción interna del editor y las instrucciones para el usuario. Los códigos fuente se adjuntan al final del artículo.

Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real Trabajando con las series temporales en la biblioteca DoEasy (Parte 40): Indicadores basados en la biblioteca - actualización de datos en tiempo real

En el artículo, vamos a analizar la creación de un indicador multiperiodo basado en la biblioteca DoEasy. Asimismo, vamos a mejorar las clases de las series temporales para obtener los datos de cualquier marco temporal y representarlos en el periodo actual del gráfico.

Optimización móvil continua (Parte 7): Encajando la parte lógica del optimizador automático con la parte gráfica y el control de la misma desde el programa Optimización móvil continua (Parte 7): Encajando la parte lógica del optimizador automático con la parte gráfica y el control de la misma desde el programa

Este artículo es el penúltimo de la serie, y describe cómo encajar la parte gráfica del programa del optimizador automático con su parte lógica. En él, analizaremos el proceso de inicio y optimización, comenzando por la pulsación del botón y terminando el redireccionamiento al gestor de optimizaciones.