Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Allegato risorse. Non chiedere come. Non ha scritto il codice sorgente.
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.
Credo che questa soluzione vi sia già stata suggerita. Non vi si addice?
Usare un software di terzi per creare un array?
Per esempio, scrivere uno script che prepari e raccolga tutti i dati in un array e poi scriva l'array pronto in un file. E poi leggere questo array dal file durante l'inizializzazione nell'EA. Il file può essere utilizzato tutte le volte di cui avete bisogno, ad ogni esecuzione dell'EA.
Credo che questa soluzione vi sia già stata suggerita. Non vi si addice?
Sì, è questo il punto, non si adatta. Ci sono 15.000 passaggi nell'ottimizzazione. E ho bisogno solo una volta di calcolare e nei passaggi successivi solo di indirizzare un array.
Cioè, ho già dei dati nel file che sono calcolati in anticipo e a livello, e mi sono noti in anticipo. E anche leggere il file ogni volta nell'init è molto costoso (ci sono migliaia di linee). Non conosco MQL5, ma in MQL4 hanno scritto sul forum che il programma passa l'init ad ogni passaggio.
Sarà necessario leggere l'inite ad ogni passaggio?
Stai esagerando, IMHO.
Sì, è questo il punto, non si adatta. Ci sono 15.000 passaggi nell'ottimizzazione. E ho bisogno solo una volta di calcolare e nei passaggi successivi solo di indirizzare un array.
Cioè, ho già dei dati nel file che sono calcolati in anticipo e a livello, e mi sono noti in anticipo. E anche leggere il file ogni volta nell'init è molto costoso (ci sono migliaia di linee). Non conosco MQL5, ma in MQL4 hanno scritto sul forum che il programma passa l'init ad ogni passaggio.
Un trucco classico del mondo C/C++ : puoi fare/convertire un array statico dal tuo file (solo testo: double arr[100500]={1,2,3....} ) e semplicemente includerlo attraverso #include.
Sai, penso che tu stia esagerando sui costi di lettura di un array da un file. Ogni volta che Windows si sveglia dalla modalità sleep, ripristina dal disco rigido un'immagine del suo stato che aveva al momento di andare a dormire, compreso lo stato di tutte le applicazioni. Pensi che non ci siano abbastanza oggetti e informazioni? E quanto tempo ci vuole per uscire dal sonno in quel modo?
Stai esagerando, IMHO.
I costi sono maggiori in modo inequivocabile. Ci sono due varianti con impostazioni dell'indicatore invariate e con gli stessi valori, ma già scritti in un file, che vengono scaricati in un array.
La variante con il file impiega molte volte più tempo per essere calcolata rispetto alla variante con il calcolo dell'indicatore nell'Expert Advisor.
Stavo solo pensando che forse c'è un modo per salvare l'array una volta e usarlo per tutti i passaggi di ottimizzazione, alleggerendo così il carico sull'algoritmo.
Un trucco classico del mondo C/C++: puoi fare/convertire un array statico dal tuo file (solo testo: double arr[100500]={1,2,3....} ) e semplicemente includerlo tramite #include.
I costi sono maggiori in modo inequivocabile. Ci sono due varianti con impostazioni dell'indicatore invariate e con gli stessi valori, ma già scritti in un file, che vengono scaricati in un array.
La variante con il file impiega molte volte più tempo per essere calcolata rispetto alla variante con il calcolo dell'indicatore nell'Expert Advisor.
Ho solo pensato che forse c'è un modo per memorizzare l'array una volta e usarlo per tutti i passaggi di ottimizzazione, alleggerendo così il carico sull'algoritmo.