TSR - resucitar los sistemas de comercio

 

Siguiendo con el tema: ¿Dónde está la línea que separa los patrones adecuados de los reales?


TSR es la abreviatura de Trading Systems Recovery


Estoy publicando sin una descripción de la teoría y sin capturas de pantalla. Las capturas de pantalla estarán en Code Base


Y advertiré a los que están especialmente dotados:

1. La versión adjunta del Asesor Experto ha sido recortada al mínimo para fines educativos

2. En cuanto a las cuestiones de mejora del Asesor Experto, vaya al BFG.

Si tiene alguna pregunta, como: "¿Por qué obtengo resultados diferentes?" No hay respuesta del autor.



Hagamos un experimento utilizando un sistema de comercio que se basa en la previsión de la dirección futura del movimiento de las cotizaciones mediante el ajuste de los coeficientes de ponderación de la red neuronal elemental de una capa - perceptrón en los datos históricos. El principio de este sistema de comercio fue descrito en detalle en mi artículo "Cómo encontrar un sistema de comercio". Tomemos los datos históricos para el par de divisas EURUSD durante 9 meses anteriores o más en el gráfico de marco de tiempo H1. Lo dividiremos en tres secciones independientes de tres meses cada una. El primero se utilizará para la prueba final, mientras que los otros dos se utilizarán para ajustar el historial. Para evitar ejecutar el sistema de comercio por separado, combiné inmediatamente dos perceptrones en un sistema de comercio. Y creé la función Supervisor() con la ayuda de la cual el sistema de comercio tiene tres modos de funcionamiento, dependiendo del paso de los parámetros de entrada: 1 - ajuste y prueba del primer perceptrón, 2 - ajuste y prueba del segundo perceptrón, 3 - filtrado tamizando las lecturas inconsistentes de ambos perceptrones en el modo de prueba sin optimización o en el modo de comercio automático en un depósito demo o real.

Ajustable a los datos históricos son los pesos del perceptrón x11, x12 ... x42 así como p y sl. El parámetro de entrada sl es una constante para todas las secciones. Los niveles de Stop Loss y Take Profit se establecen para todas las posiciones abiertas por este mismo valor. Otro parámetro de entrada p - el periodo de tiempo de retraso para la diferencia de precios de apertura, es también una constante. La entrada en el mercado se realiza al comienzo de una nueva formación de barras, es decir, según los precios de apertura de la barra y las lecturas del perceptrón, en función del valor del parámetro de entrada del pase, y la salida sólo al activarse un Stop Loss o Take Profit. La optimización se realiza mediante el algoritmo genético de identificación de extremos y se toma como extremo el saldo máximo. La cantidad inicial, por ejemplo 1000000 dólares, debe ser muy grande durante la optimización para evitar que el algoritmo se atasque en las llamadas de margen. Parámetros de entrada: lotes - volumen de posiciones a abrir en lotes y mn - número mágico único, para que el Asesor Experto no confunda la gestión de sus propias órdenes (que ha abierto) con las órdenes de otros (que no ha abierto).


En la primera etapa tenemos que averiguar cuáles deben ser los valores de las variables de entrada p y sl. Para ello, seleccionamos las dos últimas partes del historial, es decir, desde hace 6 meses hasta hoy. Fijamos todos los parámetros de los pesos del perceptrón en valores desde Start = 0 hasta Stop = 200 en pasos de 1. Establezca el valor p de Inicio = 3 a Parada =100 en pasos de 1, el valor sl de Inicio = 100 a Parada =1000 en pasos de 10 (o de 10 a 100 en pasos de 1 para cotizaciones de cuatro dígitos). Poner el valor de paso en 1. Marque los siguientes parámetros a optimizar: x11, x21, x31, x41, p y sl. Todas las demás casillas deben estar desactivadas. Activar la optimización. Una vez terminada la optimización, ajuste los parámetros de entrada por la mejor pasada.


Segundo paso: ajustar las ponderaciones del primer perceptrón en la segunda sección de datos históricos. Ajustar la fecha y la hora de optimización de hace 6 meses a hace 3. Desmarcar los parámetros optimizados sólo de las variables de entrada p y sl. Ejecute la optimización. Una vez completado el ajuste, ajuste los parámetros de entrada según el mejor pase.


Tercera etapa: Ajuste de los pesos del segundo perceptrón en la tercera sección de datos históricos. Establezca la fecha y la hora de la optimización desde hace 3 meses hasta el día de hoy. Desmarque los parámetros optimizados: x11, x21, x31, x41 y ajústelos para x12, x22, x32 y x42. Las demás casillas deben estar desmarcadas. Poner el pase de la variable de entrada en 2. Comienza la optimización. Una vez terminada la optimización, ajuste los parámetros de entrada por la mejor pasada.


Eso es todo, nuestro sistema de comercio se ha ajustado a los datos históricos de hace 6 meses hasta el día de hoy. Vamos a guardar los valores de los parámetros de entrada en el archivo de configuración. Poner la variable de entrada pass en 3. Desmarque la opción "Usar fecha". Inicie la prueba. Miramos la tabla de pruebas. Podemos ver que la curva de balance y equidad tiende hacia arriba en la parte derecha del gráfico y tiende hacia abajo en la parte izquierda. Ahora debemos asegurarnos de que la balanza tiende hacia arriba en la zona exterior de la muestra de ajuste. Llevamos el cursor de nuestro ratón a la línea de balance, donde comienza el aumento de los beneficios y miramos la fecha en el tooltip. Resulta que la curva de equilibrio tendía al alza hace casi nueve meses, contando desde hoy, excluyendo 10 días, es decir, 8 meses y 20 días. Y el ajuste se llevó a cabo en un tramo de 6 meses. Por lo tanto, hay una prueba exitosa fuera de la muestra optimizada . Destacamos esta zona fuera de la muestra para analizarla con más detalle. En general, los resultados son bastante satisfactorios, aunque significativamente inferiores a los de J. Soros, pero superiores a los de W. Niederhoffer.


Para asegurarnos de que hemos tratado el encaje en algunas partes del historial, es necesario y suficiente desmarcar la casilla "Usar fecha". Y ejecute la prueba del Asesor Experto con los valores 1 y 2 a través de todo el historial disponible. En cada uno de estos modos, podemos ver que el crecimiento ascendente de la curva de balance se observa sólo dentro de aquellos períodos, en los cuales se ajustaron ciertos perceptrones. Para el resto de los periodos de la historia no existe una tendencia positiva, excepto para las jorobas individuales que terminan en depresiones.


Como hemos visto, a pesar de que ambos perceptrones no superaron las pruebas de avance fuera de la muestra optimizada de datos históricos, sin embargo el filtro de sus señales conjuntas, dio resultados positivos en datos históricos de los que no se sabía nada en el momento del ajuste. También puede experimentar con otros sistemas de negociación, como los basados en la ruptura de medias móviles simples o en redes neuronales multicapa más avanzadas. Si el sistema de negociación es robusto, es más probable que produzca resultados positivos en las señales de negociación filtradas fuera del periodo de optimización. Si no es robusto, no dará resultados positivos en el periodo optimizado con el filtro activado. Sin embargo, la solidez de la ST es secundaria en comparación con los costes generales del diferencial, el swap y la comisión del corredor. Por lo tanto, con una sobrecarga significativa, los resultados positivos en las pruebas a futuro son sólo un sueño, porque la recompensa esperada es necesariamente negativa.



Archivos adjuntos:
tsr.mq4  4 kb
 

Estoy en desacuerdo con Reshetov en muchos aspectos (no en este tema). De vez en cuando, él y yo intercambiábamos puntos de vista, y normalmente me mandaba a paseo, llamándome idiota y tarado, explícita o implícitamente. Por mi parte, no me lo tomé como algo personal.

Tengo una gran petición para todo el mundo: no se dediquen a la fludería en este hilo. Si tienes algo constructivo que decir sobre el tema, escribe, y si no, no escribas.

 

Gg :) otro grial para los nerds de Reshetov :)

¿Constructivo? ¿Quién está mirando al OOS por detrás? Es de lo más obvio.

 
TheXpert:


¿Constructivo? ¿Quién mira al OOS por detrás? Eso es de lo más obvio.


Poner OOS al frente - nadie te detiene. La cuestión es que en TS la razón viene primero - una señal de trading, y luego la consecuencia - una orden abierta que se cerrará con beneficio o pérdida. Y por lo tanto, no importa si está delante del OOS o detrás, en las relaciones de causa y efecto, no afectará a nada, porque las señales no se establecen en el OOS, sino que sólo se comprueba allí la piedad. Las señales de comercio seguirán precediendo a las entradas en el mercado, y no al revés, es decir, la orden no cambiará. Si el Asesor Experto está perdiendo, perderá tanto hacia adelante como hacia atrás. Si es rentable, no le importará dónde está exactamente el OOS. Lo más importante es que la zona de OOS sea adyacente a las zonas de adaptación. Y como los mercados cambian constantemente y la parcela rentable tiene una vida útil limitada, es comprensible que el OOS se compruebe mejor por detrás, ya que el futuro sobre el que vamos a operar está por delante.

Así que, para estar más seguros, podemos probar el OOS tanto por delante como por detrás. Si el ST pierde aquí o allá, no es ciertamente robusto.

 
Yuri, en pocas frases, ¿cuál es la esencia y la conclusión de tus hallazgos?
 
Avals:
Yuri, en pocas frases, ¿cuál es la esencia y la conclusión de tus hallazgos?
El comienzo se expone aquí: https://www.mql5.com/ru/forum/131724
 
Avals:
Yuri, ¿puede explicar brevemente, en unas pocas frases, cuál es la esencia y la conclusión de sus hallazgos?

1. Incluso a partir del ajuste, se pueden identificar y eliminar en mayor o menor medida las señales falsas. Pero para ello necesitamos al menos dos parcelas diferentes sobre las que se haya realizado la optimización. De ellos, al comparar la (in)coincidencia de las lecturas, eliminamos las señales falsas de las potencialmente rentables. Está claro que es imposible cortar todas las señales falsas sin excepciones, es decir, alguna parte de ellas se perderá de todos modos. Pero a algunas ST les basta con obtener una ventaja en forma de expectativa matemática positiva.

2. Muchas ST fueron rechazadas anteriormente, sólo porque encajaban bien, pero en las pruebas posteriores dieron resultados insatisfactorios. Ahora, tras analizar estas ST con el método descrito anteriormente, resulta que algunas de ellas resultaron ser caballos de trabajo bastante buenos. Así, una parte de los sistemas de comercio puede reanimarse de esta manera.

3. Si tienes una TS robusta configurada según esta metodología, es más fiable que una simple OOS optimizada y probada.

 
Reshetov:
... es comprensible que sea mejor comprobar en la parte de atrás en OOS, ya que el futuro que vamos a negociar está por delante de nosotros.
Yo mismo comprobé hace un par de años si el OOS "por detrás" da algo "por delante". Y llegó a la conclusión de que la correlación no es en absoluto evidente. No hay garantías particulares. La probabilidad de éxito del TS puede aumentar ligeramente, pero el Asesor Experto puede no dar beneficios y perderlos. Necesitamos otros métodos.
 
voltair:
Por mi parte hace un par de años comprobé si OOS "por detrás" da algo "por delante". Y llegó a la conclusión de que la correlación no es en absoluto evidente. No hay garantías particulares. La probabilidad de éxito del TS puede aumentar ligeramente, pero el Asesor Experto puede no dar beneficios y perderlos. Necesitamos otros métodos.

Una vez más, utilizando el método anterior nadie prohíbe comprobar en OOS tanto por delante como por detrás. Si no se obtiene el beneficio en ninguno de los plazos, la ST no es robusta y es mejor deshacerse de ella que intentar resucitar al mortinato. En cuanto a la diferencia de resultados en los distintos OOS, nadie predijo una coincidencia del 100%.


En cuanto a las garantías, no se las he prometido a nadie. Todo el mundo tiene que probar mi TS sugerido en OOS y cuentas demo o cent y decidir por sí mismo si está satisfecho con el resultado o no.


No me extrañaría que se pasara toda la vida buscando en vano un método con resultados garantizados y muriera sin encontrarlo.

 
Reshetov:

Siguiendo con el tema: ¿Dónde está la línea que separa los patrones adecuados de los reales?

TSR es la abreviatura de Trading Systems Recovery ..................

......................

Como hemos visto, aunque ambos perceptrones no superaron las pruebas de avance fuera de la muestra optimizada de datos históricos, sin embargo el filtro de sus señales conjuntas, dio resultados positivos en la historia.

Yuri, estoy encantado. Incluso una ligera envidia (se alejó de esta idea hace un par de años) no empaña el placer. Me hizo feliz. Voy a experimentar más.

 
Reshetov:
... nadie prohíbe la comprobación de OOS tanto delante como detrás. ... Si... el TC no es robusto y es mejor deshacerse de él ... habrá una diferencia en los resultados de los distintos OOS, por lo que no se puede prometer una coincidencia del 100%.
Yuri, es obvio. Bueno, ¿quién puede prohibir que se compruebe/se elimine? Esa no es la cuestión, la cuestión es (en mi opinión) que todos estos controles son... ¡preoptimización! Es decir, obteniendo un resultado positivo en OOS conseguimos que la TC se optimice figurativamente (y realmente) en otro sitio (que ahora incluye también a OOS). ¿Cuál es la probabilidad de que sea robusto en el futuro o en el pasado? ¿Cuáles son los criterios objetivos para evaluar la solidez futura, aparte del "creo que sí"?