Caractéristiques du langage mql5, subtilités et techniques - page 91

 
Alexey Navoykov:

Pourquoi ne pas calculer GetTickCount de la même manière ? Alors le problème de résolution de 15 ms, qui est problématique, disparaîtra.

Parce qu'il s'agit d'une fonction dont la fonctionnalité et la vitesse d'exécution sont clairement décrites.

Si vous voulez mesurer avec précision de courtes périodes de temps, utilisez un minuteur à microsecondes. Si vous voulez une précision jusqu'à 16 ms, vous devez utiliser une minuterie plus rapide en millisecondes.

 
Renat Fatkhullin:

Parce qu'il s'agit d'une fonction dont la fonctionnalité et la rapidité d'exécution sont clairement décrites.

La vitesse d'exécution est-elle décrite quelque part ? Je ne l'ai pas vu dans votre documentation. Et comment ma suggestion affecte-t-elle la fonctionnalité ? La limitation de la résolution à 15ms est-elle une fonctionnalité ? Cela semble être un inconvénient. Une mesure forcée, pourquoi importer des inconvénients quand on peut les éviter en utilisant une solution plus efficace.

Si vous voulez mesurer avec précision de courtes périodes de temps, utilisez un minuteur à microsecondes. Si vous voulez une précision jusqu'à 16 ms, utilisez une minuterie plus rapide en millisecondes.

Vous avez peut-être manqué les dernières pages qui disaient que votre minuteur de microsecondes n'est pas adapté à l'usage, il est problématique de l'utiliser pour mesurer des intervalles car il est verrouillé sur l'heure locale de l'ordinateur, contrairement au compteur natif PerfomanceCounter que j'ai cité en exemple.

 
Alexey Navoykov:

Vous n'avez probablement pas lu attentivement les dernières pages, où il est dit que votre compteur de microsecondes n'est pas adapté à son usage. Il est problématique pour la mesure du temps car il est lié à l'heure locale de l'ordinateur, contrairement au compteur standard PerfomanceCounter, qui est l'exemple que je vous ai donné.

Où avez-vous obtenu le plug-in ?

GetMicrosecondCount utilise QueryPerformanceCounter.

Mesurez la différence entre deux valeurs obtenues avec GetMicrosecondCount et vous ne dépendrez ni de la valeur initiale ni des astuces de changement d'heure locale.

 
Alexey Navoykov:

La vitesse d'exécution est-elle décrite quelque part ? Je ne l'ai pas vu dans votre documentation. Et comment ma suggestion affecte-t-elle la fonctionnalité ? La limitation de la résolution à 15ms est-elle une fonctionnalité ? Cela semble être un inconvénient. Une mesure forcée. Pourquoi importer des inconvénients quand on peut les éviter en utilisant une solution plus efficace.

Vous n'avez probablement pas lu attentivement les dernières pages, où il est dit que votre compteur de microsecondes ne répond pas aux objectifs fixés. Il est problématique de l'utiliser pour mesurer des intervalles car il est lié à l'heure locale de l'ordinateur, contrairement au PerfomanceCounter ordinaire que j'ai donné en exemple.

Faites attention que c'est vous qui posez les questions, pas moi.

Donc vous ne connaissez pas le sujet. Je le sais très bien et vous réponds, mais vous oubliez en quelque sorte votre ignorance et l'exigez même.
 
Slava:

Mesurez la différence entre les deux valeurs de GetMicrosecondCount et vous ne dépendrez ni de la valeur initiale ni de la mise au point du changement d'heure locale.

Si l'heure locale est modifiée entre deux GetMicrosecondCounts, leur différence affichera quelque chose de différent.

 
fxsaber:

Si l'heure locale est modifiée entre les deux GetMicrosecondCounts, leur différence affichera quelque chose de différent.

SSZB.

 
Renat Fatkhullin:

SSZB.

:)

 
Renat Fatkhullin:

PRSB.

Expliquez cela aux acheteurs du marché.

 
Une conversation très constructive ;)
 
fxsaber:

Expliquez cela aux acheteurs du marché.

Quelle est la probabilité que l'heure locale de l'ordinateur change entre deux appels à GetMicrosecondsCount utilisés pour mesurer le temps en microsecondes ?