Errori, bug, domande - pagina 1883

 

Test ripetuto per la velocità di sollevamento della cache dei grafici CopyXXX da parte delle funzioni nell'ultima versione 1596 rispetto alla discussione precedente: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Descrizione delle condizioni
MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
costruire 1596
Hardware e sistema operativo
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, disco SSD
Server commerciale
MetaQuotes-Demo
MetaQuotes-Demo
Limitare le barre sui grafici nelle impostazioni
10 000
10 000
Limitare le barre nella storia nelle impostazioni 10 000 000
Nessun limite
Numero effettivo di barre su EURUSD, M1
3,382 milioni
6,538 milioni
Simbolo e periodo verificati
EURUSD, M1
Grafici aperti
GBPUSD, solo M1, lo script è lanciato anche su di esso
I risultati sono freddi, dopo l'avvio del terminale
#0 pass, 1000 records in 680 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 113497 msc
#1 pass, 1000 records in 3 msc
#2 pass, 1000 records in 3 msc
#0 pass, 1000 records in 18288 msc
#1 pass, 1000 records in 7 msc
#2 pass, 1000 records in 2 msc
I risultati sono tiepidi, la seconda corsa subito dopo la prima
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 14 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc

Gli script di test sono allegati nel commento alla fonte.

Il tempo di sollevamento dal disco del grafico (6,5 milioni di barre sul disco, 10.000 barre sollevate e 1.000 ultime barre richieste, avvio a freddo) è stato ridotto da 113 a 18 millisecondi. Le richieste successive sono già state eseguite in 2 microsecondi.
 
Renat Fatkhullin:

Ri-test per la velocità di sollevamento della cache dei grafici CopyXXX da parte delle funzioni nell'ultima versione 1596 rispetto alla discussione precedente: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Descrizione delle condizioni
MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
costruire 1596
Hardware e sistema operativo
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, disco SSD
Server commerciale
MetaQuotes-Demo
MetaQuotes-Demo
Limitare le barre sui grafici nelle impostazioni
10 000
10 000
Limitare le barre nella storia nelle impostazioni 10 000 000
Nessun limite
Numero effettivo di barre su EURUSD, M1
3,382 milioni
6,538 milioni
Simbolo e periodo verificati
EURUSD, M1
Grafici aperti
GBPUSD, solo M1, lo script è lanciato anche su di esso
I risultati sono freddi, dopo l'avvio del terminale
I risultati sono tiepidi, la seconda corsa subito dopo la prima

Gli script di test sono allegati nel commento alla fonte.

Il tempo di sollevamento dal disco del grafico (6,5 milioni di barre sul disco, 10.000 barre sollevate e 1.000 ultime barre richieste, avvio a freddo) è stato ridotto da 113 a 18 millisecondi. Le richieste successive sono già state eseguite in 2 microsecondi.

Ben fatto!
 
Renat Fatkhullin:

Un nuovo test della velocità delle funzioni di innalzamento della cache del grafico CopyXXX nell'ultima versione 1596 rispetto all'ultima discussione: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Meglio rifare su SymbolsTotal.
 
fxsaber:
È meglio cambiarlo in SymbolsTotal.

CopyTicks non è asincrono negli script e negli Expert Advisor. Infatti, in questo caso non si può parlare strettamente di asincronia di queste funzioni. Negli indicatori CopyXXX le funzioni lavorano nella modalità "emettere ciò che è in una volta senza ritardo, e in parallelo impostare la modalità di scambio in background".

MQL_MEMORY_USED non mente, perché mostra 1 Mb di memoria usata. Il programma stesso ha solo MqlTick Ticks[] per 2000 elementi, che dà 52 byte * 2000 = ~100 kb di dati. Più il resto dei dati di piccole dimensioni aggiunge circa un megabyte. E l'arrotondamento al megabyte non va dimenticato.

Le cache sollevate appartengono al terminale, non al programma MQL5.
 
Renat Fatkhullin:

CopyTicks non è asincrono negli script e negli EA.

Quel codice in SD viene analizzato, perché non tutto è liscio.

Intendevo dire che sarebbe bene controllare le funzioni di copia non su un simbolo, ma su tutti quelli di Market Watch.

 

Server di trading Alpari-MT5

Perché nella storia dei tick dei simboli FOREX ci sono tick duplicati (bid e ask sono uguali)?

Il tester insegue gli EA per duplicati, e ce ne sono la metà. È necessario per ottenere il corrispondente calo di prestazioni della metà?

 
Si prega di aggiungere la modalità di visualizzazione "Posizioni" anche al report di esecuzione singola del tester MT5.
 
I commenti non pertinenti a questo argomento sono stati spostati in "FAQ sul servizio Segnali".
 

Non so come riprodurlo, ma l'ho incontrato diverse volte nel 1598.

Avvio il debug su CTRL+F5. Arrivo a DebugBreak e mi prendo tutto il tempo per guardare i valori delle variabili, sognando qualcosa. E dopo un po' il Visualizer "non risponde" e poi l'editor "non risponde". Devo ucciderlo tramite TaskManager.

 
fxsaber:

Non so come riprodurlo, ma l'ho incontrato diverse volte nel 1598.

Avvio il debug su CTRL+F5. Arrivo a DebugBreak e mi prendo tutto il tempo per guardare i valori delle variabili, sognando qualcosa. E dopo un po' il Visualizer "non risponde" e poi l'editor "non risponde". Devo ucciderlo tramite TaskManager.

Dovremo risolvere il problema.
Motivazione: