MT5 und Geschwindigkeit in Aktion - Seite 53

 
Roman:

So wie es ist, pinge ich den Server in einer bestimmten Frequenz an, ohne dass es zu Verzögerungen kommt.

Mehr als 16 ms? Welche Art von Server? Welchen Sinn hat es, so häufig anzupiepsen?

 
fxsaber:

Das habe ich an die PM geschickt.

Wenn Sie während des Kompilierens bei 22% die Tastenkombination STRG+BREAK drücken, bleibt ME hängen.

 
Andrey Khatimlianskii:

Mehr als 16 ms? Um welche Art von Server handelt es sich? Welchen Sinn haben solche häufigen Pings?

Es geht nicht um 16 ms, sondern um eine Schleife ohne Verzögerung.
Er liest einen Socket und pingt Heartbeat.

 
Roman:

Es geht nicht um 16 ms, sondern um eine Schleife ohne Verzögerung.
Es liest einen Socket und pingt Heartbeat.

Verstanden, ich lese eine Steckdose.

Oder ist das Lesen von Steckdosen ohne Verzögerung eine schlechte Sache?

Ich kann den Sinn des Herzschlags bei dieser Geschwindigkeit nicht verstehen (

 
Andrey Khatimlianskii:

Verstanden, ich lese eine Steckdose.

Warum dann überhaupt rutschen? Oder ist das Lesen von Steckdosen ohne Verzögerung eine schlechte Sache?

Ich kann den Sinn des Herzschlags bei dieser Geschwindigkeit nicht verstehen (

Wofür ist ein Makro also gut?
Der Socket wird in einer Schleife ohne Verzögerung gelesen, und derHeartbeat wird in der gleichen Schleife ohne Verzögerung mit einer bestimmten Frequenz ausgeführt.
Slip hat nichts damit zu tun, ich habe einen Slip als Teil davon geschrieben, er könnte sich als nützlich erweisen.
Der Sinn des Makros besteht darin, die Häufigkeit der Ausführung bestimmter Codes in der Schleife ohne Verzögerung festzulegen.
Nicht unbedingt derHerzschlag. Sie können beliebige Makros mit unterschiedlicher
Häufigkeit erstellen, die dann in der Schleife ohne Verzögerung ausgeführt werden.
Nikolai hat zum Beispiel eine Klasse für OnTimer geschrieben. https://www.mql5.com/ru/code/31306
Und hier für die Schleife, die bis auf Mikrosekunden runtergehen kann.

Multi Timer
Multi Timer
  • www.mql5.com
Данная библиотека Вам пригодится, когда Вам необходимы несколько таймеров с независимой обработкой и неконфликтующие между собой. Для работы с данной библиотекой важно запомнить следующие правила: В теле вашей программы не должно быть функции OnTimer , т.к. эта функция уже присутствует в файле Timer.mhq Не надо создавать никаких экземпляров...
 
Roman:

Wozu dient das Makro also?
Der Socket wird in einer Schleife ohne Verzögerung gelesen, und derHeartbeat wird in der gleichen Schleife in einer bestimmten Frequenz ohne Verzögerung ausgeführt.
Slip hat nichts damit zu tun, ich habe geschrieben, dass ich auch einen Slip geschrieben habe, er könnte nützlich sein.
Der Sinn des Makros besteht darin, die Häufigkeit der Ausführung bestimmter Codes in der Schleife ohne Verzögerung festzulegen.
Nicht unbedingt derHerzschlag. Sie können beliebige Makros mit unterschiedlicher
Häufigkeit erstellen, die dann in der Schleife ohne Verzögerung ausgeführt werden.
Nikolai hat zum Beispiel eine Klasse für OnTimer geschrieben. https://www.mql5.com/ru/code/31306
Und hier für die Schleife, die bis auf Mikrosekunden runtergehen kann.

Darum ging es also:

while ( true )
{
   static ulong prev = 0;
   if ( GetMicrosecondsCount() - prev >= InpPause_msc )
   {
     prev = GetMicrosecondsCount();
     // do something
   }

?


Dann ist immer noch nicht klar, wozu der Mikrosekunden-Zettel dient. Offenbar ist es nur ein "Extra". Na, dann soll es so sein.)

 
Andrey Khatimlianskii:

Darum ging es also:

?

Dann ist immer noch nicht klar, warum die Mikrosekunde verrutscht ist. Offenbar ist es nur ein "Extra". Na, dann soll es so sein.)

Nun, man kann es auch so schreiben. Ich habe es einfach über einen Schalter und ein Makro gemacht.
In Ihrem Beispiel gibt es zwei Aufrufe von GetMicrosecondsCount, während es in meinem Beispiel nur einen gibt.
Ja, der Mikrosekundenschlupf kann also in dieser Schleife nützlich sein.
Allein die Tatsache, dass ein Schlupf im Mikrosekundenbereich möglich ist.

 
Andrey Khatimlianskii:

Verstehe, Sie lesen eine Steckdose.

Oder ist das unverzügliche Lesen der Steckdose eine schlechte Sache?

Ich kann den Sinn eines Herzschlags mit einer solchen Frequenz nicht verstehen (

In diesem Fall ist Schlupf überhaupt schädlich. Denn er gibt einem anderen Thread Vorrang und verlangsamt Ihren eigenen Thread.

 
Roman:

Nun, man könnte es so schreiben. Ich habe es gerade mit Schalter und Makro gemacht.
Und in Ihrem Beispiel gibt es zwei Aufrufe von GetMicrosecondsCount, in meinem nur einen.
Und ja, auch Slip, wenn Microsecond Slip in dieser Schleife von Nutzen ist.
Allein die Tatsache, dass ein Ausrutscher im Mikrosekundenbereich möglich ist.

Nicht möglich

 
Slava:

Unmöglich

OK, lassen Sie mich das anders formulieren. Innerhalb von mql ungefähr möglich, abhängig von der Taktrate des Prozessors.
Was ist mit PWM? -Ein Impulssignal mit konstanter Frequenz und variablem Tastverhältnis.
Setzt sie nicht eine Konstante?