Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El tiempo de ejecución del algoritmo GA es inconmensurablemente pequeño comparado con la ejecución de FF. Por lo tanto, no tiene sentido intentar acelerar aún más el algoritmo, al igual que no tiene sentido trasladar el AG a una dll, por ejemplo.
Debemos intentar reducir el número de ejecuciones FF con la precisión requerida del resultado. El algoritmo tiene ajustes flexibles para este propósito. Además, el tiempo de búsqueda puede reducirse aún más mejorando las cualidades de búsqueda de los AG en general y de los operadores en particular. Recomiendo dirigir el potencial de investigación en estas direcciones.
El tiempo de ejecución del algoritmo GA es inconmensurablemente pequeño comparado con la ejecución de FF. Por lo tanto, no tiene sentido intentar acelerar aún más el algoritmo, al igual que no tiene sentido trasladar el AG a una dll, por ejemplo.
Debemos intentar reducir el número de ejecuciones FF con la precisión requerida del resultado. El algoritmo tiene ajustes flexibles para este propósito. Además, el tiempo de búsqueda puede reducirse aún más mejorando las cualidades de búsqueda de los AG en general y de los operadores en particular. Recomiendo dirigir el potencial de investigación en estas direcciones.
Parece que dll ahora no será más rápido que mql 5.
Vale, en cuanto escriba una librería la probaré, luego escribiré lo que salió))).
Nota importante al artículo.
No utilice los parámetros del algoritmo
FFNormaliseDigits y GeneNormaliseDigits
No es necesario normalizar el valor de la función de aptitud y los genes. La normalización provoca una disminución de la capacidad de búsqueda del algoritmo y un aumento del número de ejecuciones FF. Además, cuantos más decimales se descarten, mayor será el impacto negativo en el algoritmo.
En otras palabras, introducir la operación de normalización en el algoritmo fue un error.
¡No confundir con la operación de muestreo controlada por el parámetro Precisión!
No utilice los parámetros del algoritmo
FFNormalizeDigits y GeneNormalizeDigits
No es necesario normalizar el valor de la función de aptitud y los genes. La normalización conduce a la disminución de la capacidad de búsqueda del algoritmo y el aumento de la cantidad de arranques FF. Y, cuantos más signos después de una coma se rechaza, la influencia negativa en el algoritmo se muestra más fuertemente.
En otras palabras, la introducción de la operación de normalización en el algoritmo fue un error.
¡No confundir con la operación de digitalización operada en el parámetro Precisión!
Nota importante al artículo.
No utilice los parámetros del algoritmo
FFNormaliseDigits y GeneNormaliseDigits
No es necesario normalizar el valor de la función de aptitud y los genes. La normalización provoca una disminución de la capacidad de búsqueda del algoritmo y un aumento del número de ejecuciones FF. Además, cuantos más decimales se descarten, mayor será el impacto negativo en el algoritmo.
En otras palabras, introducir la operación de normalización en el algoritmo fue un error.
¡No confundir con la operación de muestreo controlada por el parámetro Precisión!
¿Es mejor eliminar la normalización en la propia biblioteca UGAlib o sólo en FF.
FFNormalizeDigits se utiliza en FF para normalizar el valor de fitness y GeneNormalizeDigits se utiliza en el propio algoritmo para normalizar los genes. No es necesario normalizar ambos.
Ya veo. Por supuesto, lo corregiré yo mismo, pero si no es difícil, por favor publica la versión corregida de UGAlib.
Me temo que cometeré errores.
¡Muchas gracias al autor por la biblioteca!
Añade la línea "cnt++;" en el bucle de la función de búsqueda padre, ¡de lo contrario puede entrar en un bucle eterno!
//Отбор двух родителей.
void SelectTwoParents
(
int &address_mama,
int &address_papa
)
{
//-----------------------Переменные-------------------------------------
int cnt=1;
address_mama=0;//адрес материнской особи в популяции
address_papa=0;//адрес отцовской особи в популяции
//----------------------------------------------------------------------
//----------------------------Отбор родителей--------------------------
//Десять попыток выбрать разных родителей.
while (cnt<=10)
{
//Для материнской особи
address_mama=NaturalSelection();
//Для отцовской особи
address_papa=NaturalSelection();
if (address_mama!=address_papa)
break;
cnt++;
}
//---------------------------------------------------------------------
}