75.000 opciones: ¿4 GB de RAM y 4 GB de caché de disco no son suficientes? - página 7

 
He realizado pruebas en un IBM desde principios de 1970 hasta principios de 2000, el historial es correcto y está normalizado para tener en cuenta las múltiples divisiones. Se adjunta el archivo comprimido del historial de símbolos en formato HST, puede importarlo al terminal a través del Centro de Historial (F2) - > Importar.

Estos son los primeros resultados:
  • Tomé los mejores resultados de 401 y corrí la prueba en MT4 con los mismos parámetros





    Lo que obtuve (informes completos en el StrategyTester_Mak. zip adjunto):



    Hay serias diferencias en las operaciones - este es un tema aparte. Pero el beneficio neto de 1664 dólares en MT4 es más o menos similar al beneficio neto de 1884 dólares en Omega.

  • Luego lancé la enumeración de los parámetros con la genética en MT4 y obtuve los siguientes resultados:



    Aquí está la lista de resultados (informe archivado en OptimizationReport.zip):



    MT4 recalculado en 3 min 34 seg, recuperando 15.616 variantes de 35 mil millones posibles:



    Debo aclarar que de 15616 variantes había 9291 secuencias repetitivas (al cruzar se pueden obtener repeticiones) y de las 6325 restantes, 1027 pases fueron descartados por inútiles. Las secuencias repetitivas no ocupan recursos y no requieren recálculos, ya que se toman de la caché temporal. Entradas finales del registro:

    2006.10.16 23:40:12 Se han realizado 6325 pases durante la optimización, 1027 resultados han sido descartados por ser insignificantes
    2006.10.16 23:40:12 Muestra MACD: la optimización se ha detenido, se han utilizado 9291 registros de caché, se han rechazado 9291 registros de caché


  • ¿por qué mt4 sacó un beneficio de 3600 y TSGO es la mitad de 1800?

    Creo que es una consecuencia directa del enfoque supereconómico de la optimización en TSGO, donde se hace hincapié en la reducción de los pases. Es muy sencillo: TSGO hizo 1000 pases, mientras que MT4 hizo 6000 netos (9000 de 15000 fueron repetitivos y se perdieron). Además, me interesa mucho el informe de TSGO - parámetro optimizado MATrendPeriod, donde este parámetro se fija en 100 (algunas veces se desliza a 97, pero no es nada grave). Podemos ver cómo el optimizador genético ha llegado a un extremo local y a un fallo trivial para salir de él. Esta es una situación habitual en la enumeración genética y una consecuencia directa de la sobrecarga del área de búsqueda.



    ¿Ha estado MT4 en esas regiones donde residen esos valores? Sí, he estado muchas veces y no he encontrado nada especial allí:



    Aparte de los resultados e informes matemáticos, uno siempre quiere ver con sus propios ojos la imagen de la distribución de los mejores resultados. MetaTrader lo muestra fácilmente en el modo de visualización "Superficie bidimensional", donde puede seleccionar cualquier parámetro a optimizar a lo largo de los ejes. Por ejemplo, podemos ver aquí que el valor de MATrendPeriod en la zona de 100 es claramente peor que los valores de 12-14.



Conclusiones:
  • Hay que pensar en los extremos locales y no hacer búsquedas demasiado bruscas. Especialmente cuando se proporciona la herramienta a usuarios sin experiencia que no pueden entender los procesos en detalle y pueden tomar los resultados del probador genético al pie de la letra.

  • En el fondo de la ruptura mostrada en el extremo local a 1000 pases, la idea de 100-200 carreras de evaluación no puede de ninguna manera ser tomada en serio.

  • A la hora de elegir un mecanismo de superación suficiente para nuestra genética, investigamos un poco y nos decidimos por esta sencilla fórmula: Siempre hacemos 30 recorridos completos de la población, y luego para los siguientes 10 recorridos completos de la población esperamos hasta que se garantice que el incremento de la función objetivo decaiga. Es decir, si la población inicial es de 256, entonces la primera etapa es de 256 * 30 = 7680 ejecuciones, luego al menos otras 256 * 10 = 2560 refinamientos y luego adicionalmente antes de desvanecerse. Este mecanismo redundante nos permite salir de los extremos locales en la mayoría de los casos.

Tal vez nos excedamos un poco más de lo necesario, pero para los usuarios habituales esta es una forma más o menos garantizada de trabajar.

Gracias a Yury (Mak) por sacar el tema - es muy interesante discutirlo + corregimos nuestros errores.
Por favor, coméntelo.
Archivos adjuntos:
 
Renat, no he encontrado los parámetros de tu mejor opción.
Súbelas y comprobaré en Omega qué resultados se obtienen allí.
Sospecho que hay una gran diferencia en lo que se obtiene al hacer las pruebas en las dos plataformas.
Mientras tanto, haré una prueba en Omega para más de 1000 carreras.
 

Lo siento, no he especificado los parámetros. Aquí están:

TakeProfit=819; Lots=0.6; TrailingStop=248; MACDOpenLevel=8; MACDCloseLevel=8; MATrendPeriod=12;

Los parámetros se pueden ver en el tooltip junto al número de la pasada en el informe del probador:

 
Renat, vuelves a sacar conclusiones precipitadas.

Hizo 7000 carreras en TSGO.
La imagen de abajo.

Fíjate en los números de las carreras que están en la parte superior de la población.
El mejor para 7000 carreras fue la carrera número 618 (es decir, después de 700 carreras no ha habido ninguna mejora)




He ejecutado sus mejores parámetros encontrados en Omega.
Resultó así :((



Aparentemente hay una diferencia significativa en el rendimiento de los sistemas o probadores o en los datos.
Tal vez no he transferido el sistema a Omega correctamente ...
No se puede transferir uno a uno aquí, Omega funciona de manera diferente.

Pero en cualquier caso, sus conclusiones son que
que TSGO no haya encontrado una solución dos veces mejor y se haya quedado estancado en el alto local es un error.
TSGO y no pude encontrar tal sistema porque no es rentable en mi prueba con Omega.
 
Sí, me he dado cuenta de que se abren posiciones donde no deberían. Comprueba manualmente las cinco primeras operaciones: te darás cuenta enseguida.
Yo obtuve IBM de yahoo, tuve que dividir la acción 4 o 5 veces yo mismo para obtener los datos normalizados. Coincidía completamente con tu historia.

Al parecer, hay que empezar de nuevo.
 
Renat:
Sí, me he dado cuenta de que se abren posiciones donde no deberían. Comprueba manualmente las cinco primeras operaciones: te darás cuenta enseguida.
Yo obtuve IBM de yahoo, tuve que dividir la acción 4 o 5 veces yo mismo para obtener los datos normalizados. Coincidía completamente con tu historia.

Al parecer, hay que empezar de nuevo.
Me parece que el desajuste de los resultados no es fundamental.
Diferentes probadores y generalmente diferentes sistemas ...

Cualquier algoritmo genético es una búsqueda aleatoria.
La genética se diferencia de la simple búsqueda aleatoria en que
que la función de distribución de los parámetros es uniforme en una búsqueda aleatoria simple
en la genética no es uniforme y varía según la búsqueda.

Esto aumenta enormemente la velocidad de búsqueda en genética en comparación con una simple búsqueda aleatoria.
En este sentido, todos los optimizadores genéticos son iguales.
 
Hola, queridos amigos.

Perdonen el off-topic, pero los términos incomprensibles me producen un severo bostezo y un dolor de cabeza. ¿Podría usted, Renat, explicar en pocas palabras qué es un caballo en un vacío esférico y para qué está puesto ahí?

El tema es muy interesante para mí, porque yo mismo he comenzado recientemente a utilizar GO para optimizar mi propio Asesor Experto y quiero entender las limitaciones de la aplicación GO. Sólo que no tengo exactamente MACD, sino dos muwings basados en Zero Lag MA y con dos histéresis ("backlashes" según el artículo "Genetic Algorithms in MetaTrader 4. Comparación con el rebasamiento directo del optimizador') al entrar y salir de una posición. No estoy muy satisfecho con los resultados hasta ahora, pero tengo alguna esperanza. Creo que pronto añadiré nuevos filtros a mi Asesor Experto. Bueno, hasta ahora me gusta el optimizador.
 
Mathemat:

... ¿qué es un caballo en un vacío esférico y por qué fue puesto allí?

Bueno, en realidad, Renat fue un poco exagerado aquí. Por supuesto, un caballo o una yegua no es tan básico. En cuanto al vacío esférico, todo es sencillo: se coloca una esfera de diámetro suficientemente grande (y de suficiente resistencia), se coloca un caballo y se bombea el aire. El vacío dentro de la esfera adopta una forma esférica, de ahí el término vacío esférico. Por supuesto, es necesario tener en cuenta el error de medición, ya que el vacío no resulta realmente absoluto y la esfera no es perfectamente esférica y lisa, pero en principio, el error no afecta mucho a los resultados de la medición.
Sí, no hay que olvidar que el caballo/la cabalgadura muere naturalmente como resultado del experimento. Por desgracia, nada es perfecto en este mundo. :)

P.D. Bueno, el caballo está naturalmente plantado por el bien del experimento. El propósito del experimento no se revela, por así decirlo, el know-how. :)
 
Es extraño, pensé que era un caballo esférico en el vacío. Es decir, es redondo tal cual, pero en el vacío no es realista ver dónde está en absoluto :)
 

"Un caballo esférico en el vacío" es una frase hecha que se originó en la red FIDO en la década de 1990. Denota las esquivas condiciones ideales de un experimento u operación.

Hay una vieja anécdota sobre un físico al que se le encargó desarrollar un modelo de carreras de caballos para poder predecir la victoria de tal o cual caballo.

¿Sabías que...

  • Un caballo esférico tiene un cuerpo absolutamente negro.
  • Un caballo esférico respira un gas perfecto.
  • El estruendo de un caballo esférico es un solo armónico y se propaga sin disipación.
  • Un caballo esférico pasta en campos homogéneos.
  • Cuando un caballo esférico galopa, su trayectoria se describe mediante una cicloide.
  • Los cascos de un caballo esférico chocan con una superficie horizontal plana de forma absolutamente elástica.
  • El caballo esférico con probabilidad uno escapará del pozo potencial en un tiempo finito.
  • Para subir a un caballo esférico a caballo, hay que encontrar el punto de la silla de montar. La resistencia del caballo en este caso es insignificante.
  • Visto desde un podio infinitamente lejano, el caballo esférico aparece como un punto material.
  • El problema de peinar el pelo de un caballo esférico es irresoluble.
  • Un caballo esférico se mueve en el vacío de manera uniforme y rectilínea.
  • El caballo esférico no necesita un caballo esférico porque existe en el espacio especulativo indefinidamente.
  • La proyección de un caballo esférico unitario sobre un espacio de n dimensiones se describe mediante la ecuación r2 = 1.
  • Caballo de vapor - La fuerza ejercida por un caballo esférico con un diámetro de 1 metro y una masa de 1 kg.