Suggerisco di raccogliere statistiche sulle prestazioni dei diversi processori al fine di stimare la loro efficienza per il tester di strategia per lavorare in modalità di ottimizzazione.
Buona iniziativa, la sostengo.
Ricevo un avvertimento durante la compilazione:
implicit conversion from 'number' to 'string' Tree_Brut_TestPL.mq5 2567 16
È normale che sia così?
Stringa:
if(FrameAdd(Test_P,1,0,stat_values)==false)
Suggerisco di raccogliere statistiche sulle prestazioni dei vari processori per stimare la loro efficacia per lo Strategy Tester in modalità di ottimizzazione.
Per essere più obiettivo, suggerisco di utilizzare un Expert Advisor che funziona in modalità"Mathematical Computing" che permette di ridurre al minimo l'uso del disco rigido e della memoria del computer. Se possibile, specificate il nome del processore, della scheda madre e la frequenza della RAM.
L'Expert Advisor ha solo un parametro che dovrebbe essere ottimizzato (in realtà, non è nulla e i dati sono identici per tutti gli agenti - per essere oggettivi), specificare il numero di passaggi pari al numero di thread e selezionare gli agenti dal numero di core del processore (nessuna iperformazione!).
Spero che i dati raccolti aiutino le persone a scegliere un hardware per l'ottimizzazione che è ragionevole prendere non del primo ordine, almeno è stato così ultimamente, ma alcune cose potrebbero essere cambiate.
L'Expert Advisor stesso è un ritaglio di un vero EA che uso in un compito simile per selezionare le foglie da un albero di decisione, cioè è un vero compito di MdC e se ci sono idee su come velocizzare il codice sarei molto interessato ad ascoltarle. Ci sono solo 1000 foglie nel codice, in realtà ce ne sono già più di 70.000, quindi vengono messe in una funzione per un'aspettativa di compilazione accettabile.
Buona iniziativa, la sostengo.
Dà un avvertimento durante la compilazione:
È così che dovrebbe essere?
Linea:
Corretto e rilanciato!
Provatelo.
Su quale periodo ottimizzare e in quale lasso di tempo? Lo strumento è importante?
In modalitàCalcolo matematico non ha importanza, lì non vengono generati tick!
Cosa c'è là fuori? Il ceppo della fine degli anni 2000 non decolla più? :D
Prova il tuo processore e pubblica i tuoi risultati - vedi se decolla o se rotola e basta!
Un cavallo vecchio rovina il solco?
Risultati:
2019.08.09 23:22:07.472 Tester set "Custom max" as optimization criterion for mathematical calculations 2019.08.09 23:22:07.540 Experts optimization frame expert Tree_Brut_TestPL (EURUSD.m,H1) processing started 2019.08.09 23:22:07.592 Tester cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt' deleted 2019.08.09 23:22:07.623 Tester Experts\Tree_Brut_TestPL.ex5 math calculations test means no history and no symbol info for EURUSD.m 2019.08.09 23:22:07.623 Tester complete optimization started 2019.08.09 23:22:07.648 Core 1 agent process started on 127.0.0.1:3008 2019.08.09 23:22:07.650 Core 2 agent process started on 127.0.0.1:3009 2019.08.09 23:22:07.652 Core 3 agent process started on 127.0.0.1:3010 2019.08.09 23:22:07.654 Core 4 agent process started on 127.0.0.1:3011 2019.08.09 23:22:07.657 Core 5 agent process started on 127.0.0.1:3012 2019.08.09 23:22:07.659 Core 6 agent process started on 127.0.0.1:3013 2019.08.09 23:22:07.662 Core 7 agent process started on 127.0.0.1:3014 2019.08.09 23:22:07.664 Core 8 agent process started on 127.0.0.1:3015 2019.08.09 23:22:07.972 Core 1 connecting to 127.0.0.1:3008 2019.08.09 23:22:07.973 Core 1 connected 2019.08.09 23:22:07.983 Core 1 authorized (agent build 2097) 2019.08.09 23:22:07.997 Core 1 common synchronization completed 2019.08.09 23:22:08.035 Core 3 connecting to 127.0.0.1:3010 2019.08.09 23:22:08.036 Core 3 connected 2019.08.09 23:22:08.046 Core 3 authorized (agent build 2097) 2019.08.09 23:22:08.056 Core 2 connecting to 127.0.0.1:3009 2019.08.09 23:22:08.057 Core 2 connected 2019.08.09 23:22:08.059 Core 3 common synchronization completed 2019.08.09 23:22:08.067 Core 5 connecting to 127.0.0.1:3012 2019.08.09 23:22:08.068 Core 5 connected 2019.08.09 23:22:08.068 Core 2 authorized (agent build 2097) 2019.08.09 23:22:08.082 Core 2 common synchronization completed 2019.08.09 23:22:08.083 Core 5 authorized (agent build 2097) 2019.08.09 23:22:08.103 Core 7 connecting to 127.0.0.1:3014 2019.08.09 23:22:08.104 Core 7 connected 2019.08.09 23:22:08.119 Core 7 authorized (agent build 2097) 2019.08.09 23:22:08.125 Core 5 common synchronization completed 2019.08.09 23:22:08.140 Core 7 common synchronization completed 2019.08.09 23:22:08.150 Core 4 connecting to 127.0.0.1:3011 2019.08.09 23:22:08.151 Core 4 connected 2019.08.09 23:22:08.151 Core 8 connecting to 127.0.0.1:3015 2019.08.09 23:22:08.151 Core 8 connected 2019.08.09 23:22:08.162 Core 8 authorized (agent build 2097) 2019.08.09 23:22:08.164 Core 4 authorized (agent build 2097) 2019.08.09 23:22:08.184 Core 6 connecting to 127.0.0.1:3013 2019.08.09 23:22:08.185 Core 6 connected 2019.08.09 23:22:08.208 Core 6 authorized (agent build 2097) 2019.08.09 23:22:08.228 Core 4 common synchronization completed 2019.08.09 23:22:08.240 Core 6 common synchronization completed 2019.08.09 23:22:08.250 Core 8 common synchronization completed 2019.08.09 23:24:45.931 Tester optimization finished, total passes 8 2019.08.09 23:24:45.941 Statistics optimization done in 2 minutes 38 seconds 2019.08.09 23:24:45.941 Statistics shortest pass 0:02:35.945, longest pass 0:02:37.669, average pass 0:02:37.006 2019.08.09 23:24:45.941 Statistics 8000 frames (3.14 Mb total, 412 bytes per frame) received 2019.08.09 23:24:45.941 Statistics local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%) 2019.08.09 23:24:45.988 Tester 8 new records saved to cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt'
Versione terminale:
2019.08.09 23:20:35.776 Terminal MetaTrader 5 x64 build 2085 started (MetaQuotes Software Corp.) 2019.08.09 23:20:35.778 Terminal Windows 10 (build 17763) x64, IE 11, UAC, AMD FX-8300 Eight-Core Processor , Memory: 17102 / 24574 Mb, Disk: 2407 / 2441 Gb, GMT+2
Un cavallo vecchio rovina il solco?
Risultati:
Versione terminale:
Sembra che abbiate 8 agenti coinvolti, e ne avete bisogno di 4, perché le FPU in FX hanno solo 4 e 8 ALU, ed è la FPU che viene caricata durante l'ottimizzazione. Perché così - non è chiaro - domanda agli sviluppatori, perché il codice è costruito in gran parte sul confronto, ma apparentemente il consumo di calcolo in virgola mobile prevale o volte più lento, quindi si scopre che è necessario impostare il numero di coprocessori, poi 1 passaggio sarà più veloce e il tempo medio rimarrà lo stesso.
Sembra che tu abbia 8 agenti coinvolti e ne hai bisogno di 4, poiché la FPU in FX è solo 4 e 8 APU, ed è la FPU che viene caricata durante l'ottimizzazione. Perché è così - non è chiaro - domanda agli sviluppatori, perché il codice è per lo più basato sul confronto, ma apparentemente il consumo del calcolo in virgola mobile prevale o è volte più lento, quindi si scopre che è necessario impostare esattamente il numero di coprocessori, poi 1 passaggio sarà più veloce e il tempo medio rimarrà approssimativamente lo stesso.
Si prega di chiarire. Disabilito 4 agenti e imposto il parametro da ottimizzare in modo da ottenere 4 passaggi di ottimizzazione o 8 passaggi?
8 passa 4 agenti, un po' come l'hypertrading - secondo il numero di fili.
Attivate"Full optimisation log" per vedere il tempo di ogni passaggio.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Suggerisco di raccogliere statistiche sulle prestazioni dei vari processori per stimare la loro efficacia per lo Strategy Tester in modalità di ottimizzazione.
Per essere più obiettivo, suggerisco di utilizzare un Expert Advisor che funziona in modalità"Mathematical Computing" che consente di ridurre al minimo l'uso del disco rigido e della memoria del computer. Se possibile, specificate il nome del processore, della scheda madre e la frequenza della RAM.
L'Expert Advisor ha solo un parametro che dovrebbe essere ottimizzato (in realtà, non è nulla e i dati sono identici per tutti gli agenti - per essere oggettivi), specificare il numero di passaggi pari al numero di thread e selezionare gli agenti dal numero di core del processore (nessuna iperformazione!).
Spero che i dati raccolti aiutino le persone nella scelta di un hardware per l'ottimizzazione che è ragionevole prendere non del primo ordine, almeno è stato così ultimamente, ma qualcosa può cambiare.
L'Expert Advisor stesso è un ritaglio di un vero EA che uso in un compito simile per selezionare le foglie da un albero di decisione, cioè è un vero compito del Ministero della Difesa e se ci sono idee su come velocizzare il codice sarei molto interessato ad ascoltarle. Ci sono solo 1000 foglie nel codice, in realtà ce ne sono già più di 70.000, quindi vengono messe in una funzione per un tempo di attesa accettabile per il risultato della compilazione.
Nel registro di Strategy Tester attraverso il menu contestuale, spunta la casella "Registro completo di ottimizzazione".Aggiunto: In questo thread si è scoperto che la dimensione del file in alcuni (questo è da scoprire) processori influenza le prestazioni del sistema nel suo complesso, anche se il codice strutturalmente non cambia molto. Perciò chiedo a tutti di testare due tester.
Esempio di impostazioni del tester - simbolo, periodo e timeframe non sono importanti - le altre impostazioni sono rilevanti. Lo screenshot mostra un altro EA, ma le impostazioni sono corrette
Finora, abbiamo la seguente valutazione dove è stato utilizzato il tempo medio in secondi - le due ultime colonne e l'ultima colonna mostra il numero di passaggi del processore in 1 ora.
La tabella è filtrata dall'ultima colonna, come l'opzione EA più pesante in termini di consumo di risorse computazionali.