Discusión sobre el artículo "Algoritmos Genéticos: ¡Es fácil!" - página 19

 
Andrey Dik:
Usted está planeando optimizar algo, ¿verdad? Entonces necesita presentar este "algo" en forma de FF, puede ser por ejemplo el número de puntos de beneficio en las señales del indicador. Este es el FF.
Tengo algo que preguntar, sobre FF, por ejemplo, si es como el consejo dado, donde importa la optimización, si este UGA puede salvar la posibilidad de beneficio que se ha dicho o algo más, y si al establecer el parámetro óptimo indicador si debe ser lo hago pruebas virtuales como el ejemplo EA veo, y lo siento si esto ofende, Algoritmos Genéticos son al azar, ¿cómo podemos estar seguros de que es óptima, y si es posible entrar en una buena condición para hacer algoritmos genéticos optimizar indicadores de parámetros, por ejemplo, podemos tomarlo de condiciones historicas de compra y ganancia con cuantos puntos y los algoritmos geneticos usan datos similares en el futuro y ejecutan la optimizacion, es esa una buena forma de usarlo, no se me ocurre otra cosa, si esta mal por favor diganme un buen ejemplo de uso, si sin porque y cuando se ejecuta entonces salen resultados optimos, como ingresar numeros aleatorios, u Afortunadamente ahora, ingresas el numero aleatorio de nuevo y luego pierdes, y asi sucesivamente, no es mas una conjetura.
 
SALEH:
Tengo algo que preguntar, sobre FF, por ejemplo, si es como el consejo dado, donde importa la optimización, si este UGA puede salvar la posibilidad de ganancia que se ha dicho o algo más, y si al establecer el parámetro indicador óptimo si debe ser que hago pruebas virtuales como el ejemplo de EA que veo, y lo siento si esto ofende, Algoritmos genéticos son al azar, ¿cómo podemos estar seguros de que es óptima, y si es posible entrar en una buena condición para hacer algoritmos genéticos optimizar indicadores de parámetros, por ejemplo, podemos tomarlo de condiciones historicas de compra y ganancia con cuantos puntos y los algoritmos geneticos usan datos similares en el futuro y ejecutan la optimizacion, es esa una buena forma de usarlo, no se me ocurre otra cosa, si esta mal por favor diganme un buen ejemplo de uso, si sin porque y cuando se ejecuta entonces salen resultados optimos, como ingresar numeros aleatorios, u Afortunadamente ahora, ingresas el numero aleatorio de nuevo y luego pierdes, y asi sucesivamente, no es mas una conjetura.

Los algoritmos genéticos no utilizan números aleatorios por sí mismos, sino mediante una distribución de probabilidad. Como nadie conoce el futuro, la gente siempre usa la distribución de probabilidad para tomar CUALQUIER decisión.Puedes usar la iteración completa de los parámetros, pero no los usarás todos. Tendrás que decidir qué opción utilizar, ¿no? - el resultado de aplicar esa selección manual en el futuro es incierto de antemano, es decir, no es determinista.

 
Andrey Dik:

Los algoritmos genéticos no utilizan números aleatorios por sí mismos, sino mediante una distribución de probabilidad. Como nadie conoce el futuro, la gente siempre usa la distribución de probabilidad para tomar CUALQUIER decisión.Puedes usar la iteración completa de los parámetros, pero no los usarás todos. Tendrás que decidir qué opción utilizar, ¿no? - el resultado de aplicar esa selección manual en el futuro es incierto de antemano, es decir, no es determinista.

Si es así, aconsejame cual es bueno optimizar, si es cuestión de indicadores de parámetros estoy un poco en desacuerdo porque los parámetros cambian con frecuencia. es mejor aplicar en takeprofit y stoploss o hay otra forma mejor. Gracias por tu respuesta y si tienes alguna sugerencia, gracias. Me gustaría compartir los resultados del experimento y tal vez un poco de ayuda para probar este UGA más.
 
SALEH:
Si es así, dame consejos sobre cuál es bueno para optimizar, si se trata de indicadores de parámetros estoy un poco en desacuerdo porque los parámetros cambian con frecuencia. es mejor aplicar en takeprofit y stoploss o hay otra manera mejor. Gracias por tu respuesta y si tienes alguna sugerencia, gracias. Me gustaría compartir los resultados del experimento y tal vez un poco de ayuda para probar este UGA más.

es difícil dar consejos sin saber nada sobre el sistema de comercio

 
¡Enhorabuena por el contenido! Sin embargo, no he podido compilar los códigos ni el ejemplo mencionado. El error parece estar en la línea "ServiceFunction ();"
 
Rafael Ladeia:
¡Enhorabuena por el contenido! Sin embargo, no he podido compilar los códigos ni el ejemplo mencionado. El error parece estar en la línea "ServiceFunction ();"

Muchas gracias por los comentarios en 11 años!)) Desafortunadamente, los errores pueden ocurrir. Parece que es hora de que actualice los códigos cuando sólo tengo tiempo para eso...

 

Actualmente tengo un problema de optimización, y estoy experimentando con esta librería para ver si me puede ayudar. Por desgracia, no tengo muy claro cómo configurar la biblioteca correctamente.

Para mi ejemplo, quiero calcular la mejor composición (máxima) de tamaños de lote para tener el menor riesgo para mí.

Para ello, simplemente tomo 6 caracteres para la prueba y para estos caracteres se deben encontrar los mejores tamaños de lote. En la función de fitness, calculo entonces el ROI esperado para esos activos y el riesgo esperado con los tamaños de lote sugeridos por UGA...

Si el riesgo es menor que mi umbral, almaceno el ROI esperado a maximizar en Colony[0][chromos].....

Aquí está mi código:

void CPortfolioRiskMan::GetOptimalWeights()
  {

   double ReplicationPortion_P  = 100.0;
   double NMutationPortion_P    = 10.0;
   double ArtificialMutation_P  = 10.0;
   double GenoMergingPortion_P  = 20.0;
   double CrossingOverPortion_P = 20.0;
   double ReplicationOffset_P   = 0.5;
   double NMutationProbability_P= 5.0;
//-----------------------Variables-------------------------------------
//Preparación de variables globales para UGA
   ChromosomeCount=6; //Número de cromosomas en la colonia
   GeneCount      =6;       //Número de genes
   RangeMinimum   =0.01;    //Mínimo del intervalo de búsqueda
   RangeMaximum   =1;    //Máximo del rango de búsqueda
   Precision      =0.01;       //Etapa de búsqueda
   OptimizeMethod =2;  //1-mínimo, cualquier otro-máximo

   ArrayResize(Chromosome,GeneCount+1);
   ArrayInitialize(Chromosome,0);
   Epoch=50;                     //Número de épocas sin mejora




/Inicio de la función principal de UGA
   UGA
   (
      ReplicationPortion_P, //Porción de réplica.
      NMutationPortion_P,   //Porción de mutación natural.
      ArtificialMutation_P, //Porción de mutación artificial.
      GenoMergingPortion_P, //Porción de adopción de genes.
      CrossingOverPortion_P,//Porción de cruce.
      ReplicationOffset_P,  //Ritmo de desplazamiento de los límites del intervalo
      NMutationProbability_P//Probabilidad de mutación de cada gen en %.
   );



  }



void FitnessFunction(int chromos)
  {
//-----------------------Variables-------------------------------------

   double weight=0.0;
   double ClosePrices[]= {1.21,0.98,1.31,1.22,0.99,0.86};
   string symbols[]= {"EURUSD","GBPUSD","AUDNZD","EURAUD","NZDJPY","GBPJPY"};
   double tickvalues[]= {0.94,0.78,0.56,0.76,0.45,0.94};
   double tickstep=0.00001;
   double Lotsizes[6];
   double av_return=0;

//----------------------------------------------------------------------


   for(int u=1; u<=GeneCount; u++)
     {
      Lotsizes[u-1]=Colony[u][chromos];
      av_return+=Lotsizes[u-1]*tickvalues[u-1]*tickstep*ClosePrices[u-1];
     }

   double risk=CalculateVaR(symbols, Lotsizes);

   if(risk>50)
      Colony[0][chromos]=-10000000.0;
   else
      Colony[0][chromos]=NormalizeDouble(av_return,2);


   AmountStartsFF++;
  }
 
Filip #:

Actualmente tengo un problema de optimización, y estoy experimentando con esta librería para ver si me puede ayudar. Desgraciadamente, no tengo muy claro cómo configurar la librería correctamente.

Para mi ejemplo, quiero calcular la mejor composición (máxima) de tamaños de lote para tener el menor riesgo para mí.

Para ello, simplemente tomo 6 caracteres para la prueba y para estos caracteres se deben encontrar los mejores tamaños de lote. En la función de aptitud, calculo entonces el ROI esperado para esos activos y el riesgo esperado con los tamaños de lote sugeridos por UGA...

Si el riesgo es menor que mi umbral, mantengo el ROI esperado para maximizar en Colony[0][chromos].....

Aquí está mi código:

No entendí el punto de la pregunta, por favor explique más.

En general, se trata de una versión muy antigua del algoritmo, (la versión) no se adhiere a la aplicación más amigable esquema de algoritmo en la actual "Algoritmos de optimización de la población" artículos.

Puedo recomendar usar el algoritmo SDS u otro de la tabla, o esperar a una versión actualizada de UGA (no sé si es apropiado publicar un nuevo aspecto en un artículo sobre este algoritmo antiguo pero muy potente).

En general, volvería a escribir este artículo de una manera nueva, con la inclusión de UGA en la tabla de clasificación, no sé - si es posible y necesario hacerlo.

ZY. Creo que no es posible reescribir el artículo existente, ya ha sido traducido a muchos idiomas.

 
no compila. muchos errores.
 
gardee005 #:
no compila. muchos errores.
Por favor muéstrame la lista de errores. El código es muy de edad, pero no hay nada que romper incluso después 14 años.