Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 90

 
Alexey Navoykov:

Hier ist eine Variante, die einen hochauflösenden winapi-Timer verwendet und eine Genauigkeit von 5,6e-13 Sekunden ergibt.

Was soll das heißen? Es stellt sich heraus, dass diese Frequenz 1786 GHz beträgt. Und das ist die Frequenz der Infrarotstrahlung. :))
Sie haben da gerade die Frequenz mit dem Zähler verwechselt.
Tatsächlich sind es 3,8e-07 Sekunden. Das ist etwa ein Drittel einer Mikrosekunde. Nicht signifikant verschieden vom MMS


 
Nikolai Semko:

Was soll das heißen? Es stellt sich heraus, dass die Frequenz 1786 GHz beträgt. Und das ist die Frequenz der Infrarotstrahlung. :))
Sie haben da gerade die Frequenz mit dem Zähler verwechselt.
Tatsächlich sind es 3,8e-07 Sekunden. Das ist etwa ein Drittel einer Mikrosekunde. Nicht viel anders als MMS.

Ja, das ist richtig, ich habe mich geirrt.

 
Alexey Navoykov:

Ja, das stimmt, verwechselt)

Dies ist jedoch eine echte Lösung.
Ich habe es überprüft - ihr Zähler reagiert nicht auf die lokale Zeitumstellung.
Wenn ich also Mikrosekunden benötige und diese über einen längeren Zeitraum hinweg nutzen möchte, verwenden Sie bitteKernel32.dll
Ich danke Ihnen!

Es ist also doch ein Fehler, der bei MQ leicht zu beheben ist.
 

Wir müssen Sammelanfragen an den Servicedesk senden. Sie haben sogar aufgehört, auf Compiler-Fehler zu reagieren. Es gibt viele Anfragen, aber alle sind vergeblich.

Auf die gleiche Weise habe ich sie gebeten, TimeLocal und TimeCurrent in Millisekunden zu erstellen (insbesondere das zweite, weil es problematisch ist, es selbst zu implementieren).

 
Konstantin:

gibt es eine Verwendung, können Sie es verwenden, um GUI zu entladen, zum Beispiel hier:

Canvas-Klassen-Objekt für das gesamte Diagramm, Zeichnen von Daten in Tabellen, Clusterdaten, Ebenen usw., wenn OnTimer auf Maximum gestellt ist und GUI dort platziert ist (und genau das mache ich immer), dann belastet ein Diagramm ohne Zeitverzögerung meinen VPS um ca. 45-60%, wenn ich eine Verzögerung von 250 mache, dann ist alles auf Minimum normalisiert, Grafik reagiert deutlich auf Buttons, System wird nicht belastet

Welcher Zusammenhang besteht zwischen GetMicrosecondCount() und OnTimer(), die hier besprochen werden?
 
Alexey Navoykov:

Hier ist eine Variante, die einen hochauflösenden winapi-Timer verwendet und eine Genauigkeit von3,8e-07 Sekunden ergibt.

So zählen wir die Mikrosekunden
 
Renat Fatkhullin:
So zählen wir Mikrosekunden

Renat, können Sie die Bindung an die lokale Zeit GetMicrosecondCount() reparieren?
Denn die Folgen können für diejenigen, die diese Funktion nicht kennen, sehr unvorhersehbar sein.




int OnInit()
  {
   EventSetMillisecondTimer(1000);
   return(INIT_SUCCEEDED);
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   return(rates_total);
  }
void OnTimer()
  {
    Comment("Программа уже работает: "+(string)(round(double(GetMicrosecondCount())/1000000.0))+" сек");
  }
 
Nein, es handelt sich um eine relative Zeituhr zur genauen Messung von Zeitintervallen, nicht von astronomischer Zeit.
 
Renat Fatkhullin:
Nein, es handelt sich um einen relativen Timer für präzise Zeitintervalle, nicht für die astronomische Zeit.

Danke, ich werde es wissen.
Ich wurde durch den Verweis in die Irre geführt.

 
Renat Fatkhullin:
So berechnen wir die Mikrosekunden

Warum berechnen wir GetTickCount nicht auf die gleiche Weise? Dann verschwindet das Problem der 15-ms-Auflösung und verursacht einige Probleme.