Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 91

 
Alexey Navoykov:

Perché non calcolare GetTickCount allo stesso modo? Allora il problema della risoluzione di 15 ms, che è problematico, scomparirà.

Perché è una funzione con funzionalità e velocità di esecuzione chiaramente descritte.

Se vuoi misurare accuratamente brevi periodi di tempo, usa un timer a microsecondi. Se volete una precisione fino a 16 ms dovreste usare un timer di millisecondi più veloce.

 
Renat Fatkhullin:

Perché è una funzione con funzionalità chiaramente descritte e velocità di esecuzione.

La velocità di esecuzione è descritta da qualche parte? Non l'ho visto nella vostra documentazione. E come influisce il mio suggerimento sulla funzionalità? Limitare la risoluzione a 15ms è una funzionalità? Sembra essere uno svantaggio. Una misura forzata, perché importare svantaggi quando si possono evitare utilizzando una soluzione più efficiente.

Se vuoi misurare accuratamente brevi periodi di tempo, usa un timer a microsecondi. Se volete una precisione fino a 16ms, allora usate un timer di millisecondi più veloce.

Forse ti sei perso le ultime pagine che dicevano che il tuo timer a microsecondi non è adatto allo scopo, è problematico usarlo per misurare gli intervalli perché è bloccato al tempo locale del computer, a differenza del PerfomanceCounter nativo che ho citato come esempio.

 
Alexey Navoykov:

Probabilmente non hai letto attentamente le ultime pagine, dove si dice che il tuo timer a microsecondi non è adatto allo scopo. È problematico per la misurazione del tempo perché è legato all'ora locale del computer, a differenza del PerfomanceCounter standard, che è l'esempio che ti ho dato.

Da dove hai preso il plug-in?

GetMicrosecondCount usa QueryPerformanceCounter.

Misurate la differenza tra due valori ottenuti con GetMicrosecondCount e non dipenderete né dal valore iniziale né dai trucchi per cambiare l'ora locale.

 
Alexey Navoykov:

La velocità di esecuzione è descritta da qualche parte? Non l'ho visto nella vostra documentazione. E come influisce il mio suggerimento sulla funzionalità? Limitare la risoluzione a 15ms è una funzionalità? Sembra essere uno svantaggio. Una misura forzata. Perché importare svantaggi quando si possono evitare usando una soluzione più efficiente.

Probabilmente non hai letto attentamente le ultime pagine, dove il punto è che il tuo timer a microsecondi non soddisfa gli obiettivi dichiarati. È problematico usarlo per misurare gli intervalli perché è legato all'ora locale del computer, a differenza del normale PerfomanceCounter che ho dato come esempio.

Fai attenzione che sei tu a fare domande, non io.

Quindi non conosci il soggetto. Lo so molto bene e ti rispondo, ma tu in qualche modo dimentichi la tua ignoranza e addirittura la pretendi.
 
Slava:

Misurate la differenza tra i due valori di GetMicrosecondCount e non dipenderete né dal valore iniziale né dal focus sul cambiamento dell'ora locale.

Se l'ora locale è cambiata tra due GetMicrosecondCounts, la loro differenza mostrerà qualcosa di diverso.

 
fxsaber:

Se l'ora locale è cambiata tra i due GetMicrosecondCounts, la loro differenza mostrerà qualcosa di diverso.

SSZB.

 
Renat Fatkhullin:

SSZB.

:)

 
Renat Fatkhullin:

PRSB.

Spiegatelo agli acquirenti del mercato.

 
Conversazione molto costruttiva )
 
fxsaber:

Spiegatelo agli acquirenti del mercato.

Qual è la probabilità che il tempo del computer locale cambi tra due chiamate a GetMicrosecondsCount usate per misurare il tempo in microsecondi?
Motivazione: