Test del nuovo compilatore MQL5 per piattaforme x64 - calcoli da 2 a 10 volte più veloci! - pagina 19
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
Il profiler è già stato suggerito?
Opzione n. 2. Prendete ogni riga di tipo:
in una funzione separata. Prova a credere a Renate:)
Cioè il risultato dovrebbe essere come questo alla fine:
ecc.Sì, c'è un link all'EA qui.
Sono passati due giorni - la compilation è al 7%...
Su questa macchina.
Il profiler è già stato offerto?
No, non l'ha fatto - cosa dovrei vederci esattamente? Non so davvero come usarlo.
Opzione 2. Per mettere ogni riga del tipo:
in una funzione separata. Prova a credere a Renate:)
Cioè il risultato dovrebbe essere così alla fine:
ecc.È la variante "case :" e non la variante "if" che dà un significativo guadagno di velocità in questo caso. Se lo fai anche solo come
Il codice diventerà ancora più grande. Ma potete confrontare il tempo di compilazione e le prestazioni, naturalmente...
Su questa macchina.
Sì, quel codice non è grande, non ho postato un codice da 500 megabyte - se ne hai bisogno posso...
Quali altri mezzi suggerisce? Questa è l'opzione più veloce che ho trovato finora...
Ottimizzare la logica. Per esempio, lavorare con gli array e i loop. Prova a impacchettare i valori dei criteri in un array. E fare i controlli in un ciclo. Forse allora non ci sarà bisogno in 74 mila casi...
1. No, non l'hanno fatto - cosa dovrei vederci esattamente? Non so davvero come usarlo.
2. è la variante "case :" e non la variante "if" che dà un significativo aumento di velocità. Se lo fai anche solo come
Il codice diventerà ancora più veloce... Ma si può certamente confrontare il tempo di compilazione e le prestazioni...
1. Lì vedrete le parti più lente del codice. Anche se... Un'altra domanda è se influisce sulla compilazione...
2. Come volete: potete usare il caso. Ti è stato consigliato di suddividerlo in funzioni più piccole. Spezzatelo e testatelo. Sì, certo, il codice diventerà più grande. Ma cosa fare.
Vorrei trasferire questa enumerazione, diciamo, in un file CSV esterno, ma poi sorge un altro problema - perdita di tempo per leggere il file, e inoltre, quando si distribuiscono i compiti agli agenti non sono in grado di inviare ad ogni agente 500 megabyte, mentre il codice EA viene inviato ad un agente (o no?) e diviso tra loro.
E un'altra domanda, il mio codice è facilmente compresso da 7zip da 500 a 15 megabyte, ma dopo la compressione, il file sarà circa 500 - perché è così - nessun modo per fare una compressione primitiva (almeno fino a 100 megabyte)?
Comprimere il file con lo zip. Leggere zip, decomprimere all'interno. Sarà più veloce che trasferire 500 Mb di EA (viene anche trasferito ad ogni agente).
@Renat Fatkhullin, potresti per favore chiarire, il profiler può aiutare a rivelare i colli di bottiglia della compilazione? O usarlo solo per controllare la velocità del codice in tempo reale?
Il profiler non ha nulla a che fare con la compilazione.