Optimización en el Probador de Estrategias - página 15

 
Urain:

Si se utilizara una matriz larga dinámica como ésta, probablemente cambiaría mucho. Suponiendo que la función FF más lenta, no fastidiaría demasiado el algoritmo. Esa es la verdad, sin haber comprobado el propio algoritmo, es difícil decir lo complejo que será el rediseño.
Ya estamos pensando en ampliar la gama.
 
Renat:
Ya estoy pensando en ampliar la gama.

Encontré esto, no es un mal artículo sobre el GA híbrido http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html

En pocas palabras: reglas del método de optimización binario GA + cuasi-newtoniano.

Интеллектуальные модели на основе гибридного генетического алгоритма с градиентным обучением лидера, Н.Б. Паклин, М.А. Сенилов, В.А. Тененев, ГОУ ВПО "Ижевский государственный технический университет", г. Ижевск, 2004
  • masters.donntu.edu.ua
Данный доклад в сентябре 2004 г. был опубликован в научно-теоретическом журнале "Искусственный интеллект" и апробирован на V Международной конференции "Искусственный интеллект-2004. Интеллектуальные и многопроцессорные системы" (20-25 сентября 2004 года, Крым, п. Кацивели, ссылка на печатный источник: Паклин Н.Б., Сенилов М.А., Тененев В.А...
 
Dmitriy2:

Y seleccioné algunos parámetros, hice clic en la prueba... por la mañana conté el número de carreras y cuántas quedaban... calculó que faltaban 50 días para el final de la optimización... mi ordenador tiene 4 núcleos + 2 agentes de núcleo... Que se joda esta optimización, que se cierre...

Los parámetros claramente no son 5-6 y su periodo no es de un año :))) Y en general, el tiempo restante hasta el final de la optimización siempre es erróneo (al menos era así en MT4), cuanto más disminuye la optimización más rápido es el tiempo hasta el final de la optimización, originalmente escribí 450 horas en MT5, pero en realidad pasé 100 horas más o menos.

 
Urain:

Aquí encontré un buen artículo sobre el GA híbrido http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html

En pocas palabras: reglas del método de optimización binario GA + cuasi-newtoniano.

Buena idea, pero los autores dejaron de lado una pequeña característica de los métodos de gradiente que conduce a serios problemas de implementación - el cálculo de la derivada parcial de la función objetivo para cada parámetro adaptativo )))

Pero sí, es una solución genial ))))

Supongamos que este problema está resuelto, todavía queda la cuestión de elegir el paso de movimiento a lo largo del gradiente

La misma AG con elementos de "elitismo" y gran número de individuos en la población cierra estos problemas en un tiempo razonable

Estamos hablando de un espacio de búsqueda del orden de unas decenas. Todo lo que sea más grande es una pérdida de tiempo (por experiencia personal, afirmo que la optimización de múltiples TS con 30 parámetros de adaptación en un historial >100 mil barras condujo estúpidamente al reentrenamiento).

 
Renat:
Ya estamos pensando en ampliar la gama.
Eso sería genial. Tengo aplicaciones razonables para un gran número de parámetros.
 

El optimizador no puede manejar 64 parámetros, el máximo es 62, a 63 ya muere (n/a) :)

Comprueba a los expertos en el tráiler. También en los archivos de los conjuntos. Tuve que generarlo para evitar escribir.

Resuelve el problema de generar ocho vectores ortogonales.

La función de aptitud calcula todos los productos escalares por pares y suma sus valores absolutos con signo contrario.

Quizá tuve una suerte estúpida, pero un par de veces de cada cuatro obtuve un resultado completo (correcto-cero).

También es divertido fijar varios (2-3) vectores y ver cómo los demás intentan alinearse perpendicularmente... :)

Lo resuelve rápidamente, lo que sin duda es bueno.

No me ha gustado que muestre en la pestaña"Resultados de optimización" un máximo de 20 parámetros a optimizar.

// El otro error ha aparecido durante el trabajo - con 64 parámetros de entrada ya no se destacan en MetaEditor. Sólo se muestran como variables habituales.

--

El generador de guiones también está en el tráiler.

Genera un Asesor Experto y un archivo de configuración de la "dimensionalidad" apropiada, la dimensionalidad se especifica en el parámetro durante la generación.

Está en la carpeta ...\MetaTrader 5\MQL5\Files, por supuesto.

También puedes jugar con vectores de menor dimensión.

// Todavía no hay suerte con los más grandes. Estamos esperando. :)

Por cierto, el optimizador no ha resuelto el problema para cinco vectores ni una sola vez. El mejor resultado para cinco vectores es CustomMax == -10

p.d. Después: bueno, sí, soy tonto, el resultado máximo para vectores impares == -n*(n-1)/2 en las condiciones especificadas en el fichero de conjuntos,

por lo que todo es correcto, el algoritmo genético siempre encuentra los máximos con éxito. // bueno, casi :)

Archivos adjuntos:
 
Renat:
Ya estoy pensando en ampliar la gama.

¡Sí! Me alegro de que los desarrolladores por fin se hayan dado cuenta de que la gente necesita un probador sin limitaciones, si mt5 se posiciona como una nueva etapa en el auto-trading, entonces por qué los sistemas con grandes cálculos dejan un obstáculo a los 64, ya sea NS o cualquier otra cosa.

Espero una compilación con un arreglo y la posibilidad de continuar mis proyectos en el probador estándar. (porque es demasiado caro escribir tu propio probador desde cero...).

 
yu-sha:

Una idea genial, pero los autores han dejado de lado una pequeña característica de los métodos de gradiente que conlleva serios problemas de implementación: el cálculo de la derivada privada de la función objetivo para cada parámetro adaptativo )).

Pero sí, es una solución genial ))))

Supongamos que este problema está resuelto, todavía queda la cuestión de elegir el paso de movimiento a lo largo del gradiente

La misma AG con elementos de "elitismo" y gran número de individuos en la población cierra estos problemas en un tiempo razonable

...

Cuando se calcula un gradiente sin derivada parcial, se necesitan varios puntos de prueba en las proximidades. Al tenerlos en FF también se puede calcular el valor del paso mínimo para cada parámetro. Entonces se puede duplicar el paso (partiendo del mínimo) hasta que el siguiente punto por FF sea menor que el anterior. Encontrándolo en el anterior calcularemos de nuevo el gradiente. Y sigue.

 

Todo el mundo es tan inteligente - ¡es horrible!

Oh, ¿serías tan amable de decirme cómo añadir más Agentes a mi doble núcleo?

En algún lugar vi en la prueba (3D, o algo así) todo el vuelo y el aleteo y los agentes en la mitad de la pantalla.

Pues a mí me cuesta tolerar una prueba de 2 ajustes (alrededor de 1200 pases) durante media hora o más. Gracias.

 
artall:

Todo el mundo es tan inteligente - ¡es horrible!

Oh, ¿serías tan amable de decirme cómo añadir más Agentes a mi doble núcleo?

En algún sitio vi en una prueba (3D o algo así) que todo volaba y revoloteaba y los agentes en media pantalla.

Pues a mí me cuesta tolerar una prueba de 2 parámetros (alrededor de 1200 pases) durante media hora o más. Gracias.

Chat en este hilo --> Red de pruebas multinúcleo para todos los interesados,

Hay suficientes personas que han estudiado este tema en detalle.