MT5 e la velocità in azione - pagina 15

 
Giusto, capito, grazie, era una domanda stupida. Qualcosa mi è rimasto in testa.
 
fxsaber:
b2579.

Qual è il carico della CPU quando si esegue questo test?

 
Anton:

Qual è il carico della CPU quando si esegue questo test?

0-2%, tenendo conto di altri compiti ancora in esecuzione. Non riproducibile?

 
fxsaber:

0-2%, tenendo conto di altri compiti ancora in esecuzione. Non gioca?

Ha chiuso tutte le applicazioni, lasciando solo Terminal con tre grafici. Ha visto che si stanno verificando dei picchi.

Era fino al 20%.

 
fxsaber:

Ha chiuso tutte le applicazioni, lasciando solo il Terminale con tre grafici. Ho visto che c'erano dei picchi.

Era fino al 20%.

Ho la sensazione che i miei lag siano dovuti alla potenza insufficiente della CPU (i5-4670). Ho ordinato 12 core Xeon (e5-2678v3) dai cinesi, in un paio di settimane ricostruirò il mio server e confronterò la latenza media e riporterò i miei risultati.

 
Dmi3:

Ho la sensazione che i miei lag siano dovuti alla potenza insufficiente della CPU (i5-4670). Ho ordinato uno Xeon a 12 core (e5-2678v3) dai cinesi, arriverà in un paio di settimane, ricostruirò il server, potrò confrontare i ritardi medi di esecuzione, scriverò i risultati.

La latenza è dovuta all'eccessivo carico della CPU da parte di MT5. Non sono sicuro che il multi-core mi aiuterà qui. Sarà interessante vedere i risultati.

 
fxsaber:

La latenza è dovuta all'eccessivo carico della CPU da parte della MT5. Non sono sicuro che il multi-core possa aiutare in questo caso. Sarà interessante vedere i risultati.

E non sono sicuro, ma è la cosa più facile da fare. E in linea di principio era ora di fare un aggiornamento.

 
Dmi3:

Ho la sensazione che i miei lag siano dovuti a un processore poco potente (i5-4670). Ho ordinato 12 core Xeon (e5-2678v3) dai cinesi, in un paio di settimane ricostruirò il server, confronterò la latenza media di esecuzione, scriverò i risultati.

Sono entrambi Haswell, lo Xeon ha una frequenza operativa molto più bassa, ci sarà un degrado delle prestazioni nelle prestazioni e nei test singoli, solo nell'ottimizzazione multi-thread sarà un vantaggio. L'i3 degli ultimi modelli dovrebbe essere molto più veloce da eseguire

chiedere agli sviluppatori l'effetto del livello di cache sulla velocità e in generale la velocità di Zen2 e degli ultimi intel


aggiungere

Ryzen 3700x che ho, si possono fare test con Intel

per esempio con questo script MQL5\Scripts\UnitTests\Stat\TestStatBenchmark.mq5

fare il loop più volte con un timer

 

Per riprodurre i freni, è necessario eseguire lo script su più caratteri dell'UNICO carattere - ottenere che OnTick sia chiamato allo stesso tempo. Poi, gli avvisi saranno inviati ad ogni tick.

Il grafico del carico della CPU mostra che terminal64.exe carica fino al 30% degli otto core logici. Sono solo quattro grafici EURUSD con lo script in esecuzione. Si può vedere chiaramente quanto ogni grafico è caricato alla volta.

Dove vanno a finire così tante risorse?

2020.08.27 12:57:19.299 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 36 ms.
2020.08.27 12:57:19.300 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 33 ms.
2020.08.27 12:57:19.314 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 5 ms.
2020.08.27 12:57:20.073 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 1 ms.
2020.08.27 12:57:20.080 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 1 ms.
2020.08.27 12:57:24.742 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 4 ms.
2020.08.27 12:57:24.748 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 6 ms.
2020.08.27 12:57:24.749 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 2 ms.
2020.08.27 12:57:27.836 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 9 ms.
2020.08.27 12:57:33.275 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 6 ms.
2020.08.27 12:57:33.292 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 2 ms.
2020.08.27 12:57:33.292 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 16 ms.
2020.08.27 12:57:33.306 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 3 ms.
 

Impostare una priorità massima non aiuta, ovviamente.


I test sono stati fatti su b2582.

Sarebbe interessante confrontare lo stesso script con altre piattaforme di trading.