Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 91

 
Alexey Navoykov:

Warum wird GetTickCount nicht auf die gleiche Weise berechnet, so dass das Problem der Auflösung von 15 ms, das problematisch ist, verschwindet.

Denn es ist eine solche Funktion mit klar beschriebener Funktionalität und Ausführungsgeschwindigkeit.

Wenn Sie kurze Zeitspannen genau messen wollen, verwenden Sie einen Mikrosekunden-Timer. Wenn Sie eine Genauigkeit von bis zu 16 ms wünschen, sollten Sie einen schnelleren Millisekunden-Timer verwenden.

 
Renat Fatkhullin:

Denn es ist eine solche Funktion mit klar beschriebener Funktionalität und Ausführungsgeschwindigkeit.

Ist die Ausführungsgeschwindigkeit irgendwo beschrieben? Ich habe es in Ihrer Dokumentation nicht gesehen. Und wie wirkt sich mein Vorschlag auf die Funktionalität aus? Ist die Begrenzung der Auflösung auf 15 ms eine Funktionalität? Es scheint ein Nachteil zu sein. Eine erzwungene Maßnahme, denn warum Nachteile einführen, wenn man sie durch eine effizientere Lösung vermeiden kann.

Wenn Sie kurze Zeitspannen genau messen wollen, verwenden Sie einen Mikrosekunden-Timer. Wenn Sie eine Genauigkeit von bis zu 16 ms wünschen, verwenden Sie einen schnelleren Millisekunden-Timer.

Möglicherweise haben Sie die letzten Seiten verpasst, auf denen gesagt wurde, dass Ihr Mikrosekundentimer nicht zweckmäßig ist. Es ist problematisch, ihn zur Messung von Intervallen zu verwenden, da er an die lokale Computerzeit gebunden ist, im Gegensatz zum nativen PerfomanceCounter, den ich als Beispiel angeführt habe.

 
Alexey Navoykov:

Wahrscheinlich haben Sie die letzten Seiten nicht aufmerksam gelesen, auf denen steht, dass Ihr Mikrosekunden-Timer für die Zeitmessung problematisch ist, weil er an die lokale Computerzeit gebunden ist, im Gegensatz zum Standard PerfomanceCounter, den ich Ihnen als Beispiel genannt habe.

Woher haben Sie das Plug-in?

GetMicrosecondCount verwendet QueryPerformanceCounter.

Messen Sie die Differenz zwischen zwei Werten, die Sie mit GetMicrosecondCount erhalten haben, und Sie sind nicht mehr von den Tricks mit dem Anfangswert oder der lokalen Zeitänderung abhängig.

 
Alexey Navoykov:

Ist die Ausführungsgeschwindigkeit irgendwo beschrieben? Ich habe es in Ihrer Dokumentation nicht gesehen. Und wie wirkt sich mein Vorschlag auf die Funktionalität aus? Ist die Begrenzung der Auflösung auf 15 ms eine Funktionalität? Es scheint ein Nachteil zu sein. Warum Nachteile einführen, wenn man sie durch eine effizientere Lösung vermeiden kann?

Wahrscheinlich haben Sie die letzten Seiten nicht aufmerksam gelesen, auf denen es darum geht, dass Ihr Mikrosekunden-Timer nicht die angegebenen Ziele erfüllt. Es ist problematisch, ihn zur Messung von Intervallen zu verwenden, weil er an die lokale Computerzeit gebunden ist, im Gegensatz zum nativen PerfomanceCounter, den ich als Beispiel genannt habe.

Achten Sie darauf, dass Sie die Fragen stellen, nicht ich.

Sie kennen das Thema also nicht. Ich weiß es sehr gut und antworte Ihnen, aber Sie vergessen irgendwie Ihre Unwissenheit und verlangen es sogar.
 
Slawa:

Messen Sie die Differenz zwischen den beiden GetMicrosecondCount-Werten, und Sie sind weder vom Anfangswert noch vom Fokus der lokalen Zeitänderung abhängig.

Wenn die Ortszeit zwischen zwei GetMicrosecondCounts geändert wird, zeigt ihre Differenz etwas anderes an.

 
fxsaber:

Wenn die Ortszeit zwischen den beiden GetMicrosecondCounts geändert wird, zeigt ihre Differenz etwas anderes an.

SSZB.

 
Renat Fatkhullin:

SSZB.

:)

 
Renat Fatkhullin:

PRSB.

Erklären Sie dies den Marktkäufern.

 
Sehr konstruktives Gespräch )
 
fxsaber:

Erklären Sie dies den Marktkäufern.

Wie groß ist die Wahrscheinlichkeit, dass sich die lokale Computerzeit zwischen zwei Aufrufen von GetMicrosecondsCount zur Messung der Zeit in Mikrosekunden ändert?