Calcolo di un singolo array durante l'ottimizzazione

Alexey Viktorov  

Certo che no.

Ops... Non ho letto attentamente e ho frainteso la domanda.

Vasiliy Sokolov  
forexman77:

In MQL4 leggevo i dati da file nell'inite, ma ci voleva molto tempo. Non so se l'initeviene usato ad ogni nuovo passaggio o no?

L'ho trovato sul forum, ogni volta che l'inite viene usato, cioè l'array viene ricalcolato.

https://www.mql5.com/ru/forum/104222

È elementare. Si controlla la dimensione dell'array ad ogni esecuzione. Se l'array è vuoto o il flag di calcolo è falso, lo si ricalcola:

if(ArraySize(optimize_array) == 0)
   CalculateArray();
forexman77  
Vasiliy Sokolov:

È elementare. Controllate la dimensione dell'array ogni volta che lo eseguite. Se l'array è vuoto o il flag di calcolo è falso, lo si ricalcola:

Non l'ho ancora controllato, però. Ma, chiedo e che l'array sarà salvato dal primo passaggio (dove sarà calcolato) e sarà disponibile nei passaggi successivi?

Dmitry Fedoseev  
forexman77:

Non l'ho ancora testato, però. Ma, chiederò e che l'array sarà salvato dal primo passaggio (dove sarà calcolato) e sarà disponibile per i passaggi successivi?

Non lo farà. Devi ricalcolarlo, o salvarlo in un file e leggerlo.
forexman77  
Dmitry Fedoseev:
Non lo farà. Devi ricalcolarlo, o salvarlo in un file e leggerlo.

Quindi ho un dilemma: come rendere possibile leggere da un file una volta, riempire un array con esso e usare questo array in tutti i passaggi.

Ne ho bisogno per ridurre il tempo di ottimizzazione, perché l'array rimarrà sempre invariato e sarà costoso leggerlo ogni volta.

Dmitry Fedoseev  
forexman77:

Quindi ho un dilemma: come rendere possibile leggere da un file una volta, riempire un array con esso e usare questo array in tutti i passaggi.

Ho bisogno di questo per ridurre il tempo di ottimizzazione, perché l'array sarà sempre invariato ed è costoso leggerlo ogni volta.

In MT5 c'è un evento per avviare l'ottimizzazione, calcolare l'array in esso, salvarlo su file e leggerlo nell'init dell'EA.
fxsaber  

Allegato risorse. Non chiedere come. Non ho scritto il codice sorgente.

Dovrà essere letto nell'inite. Ma non sarà letto dal disco, ma dalla memoria. Quindi, di fatto, l'array sarà in memoria.

forexman77  
Dmitry Fedoseev:
In MT5 c'è un evento per avviare l'ottimizzazione, in esso calcola l'array, lo salva in un file, e nell'init dell'EA lo legge.
Sarà necessario leggerlo nell'init ad ogni passaggio?
Motivazione: