No para los desarrolladores de MT. ¿Por qué sustituir INIT_PARAMETERS_INCORRECT? - página 8
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
Usted tiene 4 parámetros, por lo que necesita organizar estos 4 parámetros para trabajar sólo con los valores correctos, entonces la genética puede ser útil.
¿Cómo es eso?
Si cada parámetro puede tomar 3 valores correctos, entonces siuse_parameter = true se obtienen 81 pases, y si = false, entonces 80 pases son inútiles.
Entonces, ¿cómo arreglarlo "de alguna manera"?
¿Cómo funciona?
Si cada param_ puede tomar 3 valores correctos, entonces siuse_parameter = true se obtienen 81 pases, y si = false, entonces 80 pases son inútiles.
Entonces, ¿cómo arreglar "de alguna manera" esto?
No puedo dar una respuesta a esta pregunta porque, como mínimo, no entiendo las condiciones de optimización; o bien lo expones mal o yo soy tonto.
¿Tiene 4 parámetros interdependientes o dos pares?
Si usted tiene 4 mutuamente dependiente y, como escribió antes, todas las variantes en un archivo como un ajuste, entonces la genética al azar (y tal vez por otro método - pregunta para MQ) llenar el campo y optimizar la parte seleccionada. Si tiene otros parámetros que optimizar, fuera de estos 4, el genetista podrá buscar el ajuste óptimo en relación con los parámetros seleccionados y los demás.
En su caso, sólo se pueden generar cadenas válidas.
Tienes 1953 combinaciones válidas. saca la configuración int de 0 a 1952 y genera la combinación correcta por el número de secuencia.
Ese es su error. No hay pasajes "superfluos" en la genética. Lo clasifica todo por sí mismo, eliminando lo innecesario, lo que ahorra tiempo y recursos, y tú sólo interfieres en él.
De hecho, te contradices. Primero dices que quieres que todo funcione por sí mismo pulsando un botón mágico, sin ningún esfuerzo adicional por tu parte. Pero al mismo tiempo creas chamanes en el código, supuestamente ayudando al algoritmo de optimización.
De todos modos, ahora todo está claro:
No tienes que eliminar nada por INIT_PARAMETERS_INCORRECT. Simplemente calcula 121 de acuerdo con la lógica de tu programa, y la genética hará su trabajo y el resultado se obtendrá en menos de 1953 pasadas.
Si optimizas usando la búsqueda completa lenta, entonces por supuesto que no se necesitan pases extra. Puedes introducir un parámetro adicional en tu EA definiendo el tipo de optimización. Si es una búsqueda completa, los pases extra son rechazados, mientras que si es genética, no lo son. Es una pena que MQL no te proporcione tal opción. Los desarrolladores deberían pedir que se añada esta función.
El caso es que cuando me enfrenté al problema de que decenas de resultados fueran idénticos en los resultados de optimización, creé un tema preguntando cómo deshacerse de ello. Desgraciadamente tras el baneo todos mis temas y todos mis comentarios han desaparecido de mis publicaciones, así que no puedo darte el enlace.
Así que ahí me dijeron que usara INIT_PARAMETERS_INCORRECT
Y sí, no entiendo por qué necesitas participar en carreras inútiles a sabiendas:
si es esencialmente lo mismo?
Y por lo que sé de genética, resulta que estas cadenas repetitivas van a rotar, y las mejores pueden no estar a la vista de este algoritmo en absoluto... ¿No es así?
Ya se ha dicho muchas veces con otras palabras. transformando el espacio de entrada. en su caso sólo puede generar cadenas válidas.
tiene 1953 combinaciones válidas. saque la configuración int de 0 a 1952 y genere la combinación correcta por el número de secuencia. esta es una opción.
Eso es lo que terminé haciendo...
Y sí, no entiendo por qué uno se dedicaría a una carrera inútil a sabiendas:
si es esencialmente lo mismo?
Y por lo que sé de genética, resulta que estas cadenas repetitivas van a rotar, y las mejores pueden no estar a la vista de este algoritmo en absoluto... ¿No es así?
También es un número de copias repetidas. Y esta repetición aumenta las posibilidades de que una de estas copias sea capturada por la búsqueda.
Así que, en esencia, las posibilidades (probabilidades) son las mismas con o sin repeticiones. En consecuencia, el tiempo de búsqueda genética será el mismo en ambos casos.
En general, te sigo recomendando que entiendas cómo funciona el algoritmo genético, de lo contrario es inútil explicarte nada.
¿Cuáles son las mejores cadenas? ...
Si lo supiera, tampoco necesitaría optimizar.
¿Quizás el mejor sea el 326000, el 514300 o el 346215?
Si lo supiera, tampoco habría necesidad de optimizar.
¿Quizás el mejor sea el 326000, el 514300 o el 346215?
Era sólo una pregunta introductoria a la que estaba dando una explicación.
Así que no es "lo mejor" sino "lo mejor, dado todo tipo de copias de esta cadena.
No entiendes una cosa muy sencilla, que al cribar la cadena segúnINIT_PARAMETERS_INCORRECT se te puede escapar una de estas cadenas exitosas o cercanas a ella. Por lo tanto, la búsqueda no se acorta.
Era sólo una pregunta introductoria a la que di una explicación.
Así que no es "lo mejor", sino "lo mejor, teniendo en cuenta todas las diferentes copias de esa cadena".
No entiende una cosa muy sencilla, que al filtrar la cadena segúnINIT_PARAMETERS_INCORRECT, podría perderse exactamente una de estas cadenas exitosas, o una cadena cercana a ella. Así que la búsqueda no se acorta.
Selecciono EXCLUSIVAMENTE los que son repetitivos. En el ejemplo están marcados con un fondo rojo.
¿Cómo puede ser mejor una cadena 120000 que una cadena 010020? ¡Es la misma cadena! ¡Y 100002, y 000012! Entonces, ¿por qué todas estas repeticiones de lo mismo?
Selecciono EXCLUSIVAMENTE los que son repetitivos. En el ejemplo están marcados con un fondo rojo.
¿Cómo puede la cadena 120000 ser mejor que la cadena 010020? ¡Es la misma cadena! ¡Y 100002, y 000012! Entonces, ¿por qué todas estas repeticiones de lo mismo?
Vale, no lo entiendes, pero es de esperar. Para los oyentes, ya he dicho todo lo que tenía que decir. No veo el sentido de seguir