Así que calcúlalo en OnInint()
En MQL4 leía los datos del archivo en el inite, pero tardaba mucho tiempo. No sé si el initese utiliza con cada nuevo pase o no?
Lo he encontrado en el foro, cada vez que se utiliza el inite, es decir, el array se recalcula.
Por supuesto que no.
Oops... No leí con atención y entendí mal la pregunta.
En MQL4 leía los datos del archivo en el inite, pero tardaba mucho tiempo. No sé si el initese utiliza con cada nuevo pase o no?
Lo he encontrado en el foro, cada vez que se utiliza el inite, es decir, el array se recalcula.
Es elemental. Se comprueba el tamaño de la matriz en cada ejecución. Si el array está vacío o la bandera de cálculo es falsa, se vuelve a calcular:
if(ArraySize(optimize_array) == 0) CalculateArray();
Es elemental. Se comprueba el tamaño del array cada vez que se ejecuta. Si el array está vacío o la bandera de cálculo es falsa, se vuelve a calcular:
Sin embargo, aún no lo he comprobado. Pero, ¿pregunto y que el array se guardará desde la primera pasada (donde se calculará) y estará disponible en las siguientes?
Sin embargo, aún no lo he probado. Pero, voy a preguntar y que la matriz se guardará desde la primera pasada (donde se calculará) y estará disponible para las siguientes pasadas?
No lo hará. Hay que recalcularla, o guardarla en un archivo y leerla.
Así que tengo un dilema: cómo hacer posible leer de un archivo una vez, llenar un array con él y usar este array en todas las pasadas.
Lo necesito para reducir el tiempo de optimización, ya que el array siempre permanecerá inalterado y será costoso leerlo cada vez.
Así que tengo un dilema: cómo hacer posible leer de un archivo una vez, llenar el array con él y usar este array en todas las pasadas.
Necesito esto para reducir el tiempo de optimización, porque el array siempre estará sin cambios y es costoso leerlo cada vez.
Adjuntar recursos. No preguntes cómo. No he escrito el código fuente.
Habrá que leerlo en el inite. Pero no se leerá del disco, sino de la memoria. Así que, de hecho, la matriz estará en la memoria.
En MT5 hay un evento para iniciar la optimización, en él se calcula el array, se guarda en un archivo, y en el init del EA se lee.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Hay una matriz que no cambia durante toda la optimización. ¿Es posible calcularlo una vez y sólo referirse a él en cada pasada durante toda la optimización sin calcularlo de nuevo?