El algoritmo genético y sus posibles aplicaciones - página 15

 
Edgar Akhmadeev:
"Si miras fijamente al abismo durante mucho tiempo, el abismo empieza a mirarte a ti.

Si sufres lo suficiente, algo saldrá).

 
AZAT KHALITOV:
138 mensajes sin aplicación al comercio de divisas. El optimizador en la forma que funciona ahora simula la curva del gráfico de precios (no en vano estudié en el Departamento de Modelización Matemática, utilizamos tales métodos para describir matemáticamente los procesos tecnológicos con el fin de predecir con un error aceptable el comportamiento de estos procesos en el futuro cercano, cuando obtenemos un nuevo resultado real (casi igual al predicho) lo añadimos a la optimización anterior para obtener un nuevo resultado para el futuro) - tales modelos se aplican al futuro más cercano. (Por cierto, estos métodos se utilizan para construir trayectorias de misiles con la evitación de obstáculos y amenazas - primero utilizamos métodos de modelado matemático para obtener un modelo matemático, a continuación, utilizamos la red neuronal artificial para modelar el modelo matemático basado en Ins - esto es necesario porque los cálculos Ins son cientos de veces más rápido que el modelo original mat, lo que afecta el tiempo de reacción de misiles a los obstáculos y amenazas + modelo obtenido se establece en el nivel físico en El algoritmo genético en sí no es malo, pero estoy tratando de utilizarlo no para modelar la curva de precios, sino para modelar el comportamiento del gráfico de precios al menos en ciertos marcos de tiempo y en ciertas condiciones de intercambio. Estas limitaciones, más el propio gráfico de precios, constituyen el mundo exterior del modelo resultante: el propio modelo está limitado por ese mundo. Es decir, el modelo se adapta siempre a las condiciones del mundo exterior, que podemos describir gracias a nuestros conocimientos. Por cierto, los seres humanos también se ajustan al medio ambiente - no podemos estar en el espacio exterior, por ejemplo - para los que se dedican a los argumentos filosóficos masivos sobre el orden y el caos. La red neuronal artificial es ciertamente buena, si ya ha hecho intentos de modelar una estrategia para el intercambio con su ayuda (y tales modelos existen, y cuestan mucho dinero, los consulté al escribir sobre el problema). Me gustaría leer algo útil para el uso práctico en el comercio. Todo esto significa que - tratar de aplicar el algoritmo genético en la forma ofrecida en este foro, he obtenido resultados modestos, pero no voy a compartirlos. Mis modelos están limitados por mi menor conocimiento del trading en comparación con el tuyo, ya que llevo menos de un año operando. ¡Me gustaría tener más conocimientos de usted!

Es muy difícil leer su texto, por favor divídalo en frases y párrafos.

 
Andrey Dik:

Es muy difícil leer su texto, por favor divídalo en frases y párrafos.

Escribo en mi teléfono y cuando tengo tiempo, me disculpo, pero no tengo tiempo para escribir. Lo siento.
 
Slava:

Todo tiene sentido.

Hay un problema con los marcos en la "gran" genética.

Lo arreglaremos.

Con la genética de 96 bits, sigue existiendo el problema del reparto de tareas. Tras un pase normal de la primera generación, la mitad de los agentes locales permanecen finados hasta el final. Nada en los registros. Al reducir el número de variantes a 64bit todo está bien.

Pruébalo con cualquier EA. Si no se reproduce, paso.

 
Edgar Akhmadeev:

Con la genética de 96 bits, el problema de repartir las tareas se mantiene. Tras un pase normal de la primera generación, la mitad de los agentes locales permanecen finados hasta el final. Nada en los registros. Al reducir el número de variantes a 64bit todo está bien.

Pruébalo con cualquier EA. Si no se reproduce, paso.

Active la casilla de verificación de registros completos en el menú contextual del libro de registro del probador. Debería haber un registro de cuántos trabajos se envían y a dónde.
 
Slava:
Marque la casilla de verificación de registros completos en el menú contextual del registro del probador. Debería haber un registro de cuántos trabajos van a cada uno.

Adjunto el registro de b2368. No veo nada ahí sobre la asignación de tareas.

Comprobado en el recién aparecido b2374, tampoco funciona. Por ahora, estoy aumentando el paso de optimización a 64 bits. Cuando encuentro una oportunidad, reduzco el número de variables optimizadas. Entiendo que un gran número de conjuntos es erróneo, ya que no hay nada más que nodos locales que encontrar. Sólo necesito estimar los rangos de optimización y la interrelación de las variables.

Archivos adjuntos:
20200331.zip  18 kb
 
Edgar Akhmadeev:

Adjunto el registro de b2368. No veo nada ahí sobre la asignación de tareas.

Comprobado en el recién aparecido b2374, tampoco funciona. Por ahora, estoy aumentando el paso de optimización a 64 bits. Cuando encuentro una oportunidad, reduzco el número de variables optimizadas. Entiendo que un gran número de conjuntos es erróneo, ya que no hay nada más que nodos locales que encontrar. Sólo necesito evaluar los rangos de optimización y la interrelación de las variables.

Gracias por los registros. El problema es claramente visible. Resolvámoslo

¿Dices que no existe ese problema en las genéticas de 64 bits y que todos los núcleos se cargan por igual?

 
Slava:

¿Dices que en las genéticas de 64 bits este problema no existe y que todos los núcleos se cargan por igual?

Por supuesto. Bueno, aparte de que al final de la generación todo el mundo ha terminado, y un solo agente hace hasta unas cuantas docenas de pases más. No hay redistribución de paquetes de trabajo, pero eso es un problema general, no sólo de 96 bits. Entiendo que dar un solo trabajo a un agente sería ineficiente para los agentes de la nube, pero tal vez para los agentes locales adoptar una estrategia diferente - dar un mínimo de puestos de trabajo, o redistribuir dinámicamente cuando están ociosos (por ejemplo, si más de una cuarta parte de los agentes están ociosos y el agente más ocupado tiene más de N trabajos restantes).

 
Edgar Akhmadeev:

Por supuesto. Bueno, aparte de que al final de la generación todo el mundo está acabado, y un solo agente hace hasta unas cuantas docenas de pases más. No hay redistribución de paquetes de trabajo, pero eso es un problema común, no sólo de 96 bits. Entiendo que dar un solo trabajo a un agente sería ineficiente para los agentes de la nube, pero tal vez para los agentes locales adoptar una estrategia diferente - dar un mínimo de puestos de trabajo, o redistribuir dinámicamente cuando están ociosos (por ejemplo, si más de un cuarto de los agentes están ociosos y el agente más ocupado tiene más de N trabajos restantes).

Yo también me encuentro con este problema, ¡no consigo resolverlo! Ya he preguntado en muchos foros, pero no hay respuesta en ningún sitio. Especialmente a menudo este error se produce cuando por medio de modificaciones de código rechazar algunos resultados de paso antes de la prueba única de paso completo (que permite acelerar la optimización), pero de ella algunos agentes termina la prueba esencialmente más rápido que otros, como entiendo por el largo tiempo de inactividad no se dan las tareas en la siguiente distribución. ( Pero a veces todo funciona bien - esto es cuando los agentes aún comienzan a recibir un trabajo en la segunda pasada - entonces todo funciona bien. ¡Es decir, resulta que el análisis es crítico - cuántas tareas dar durante el segundo y siguiente pase, y es ideal para los agentes locales es una tarea (esto es de mi propia experiencia), de lo contrario - cuelga algunos agentes hasta uno trabajando!)
Razón de la queja: