Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 88
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
fxsaber, 2016.07.19 12:41
Am Beispiel von ORDER_TICKET sollte die Idee deutlich werden.
Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien
OrderCloseTime () in MQL5?
fxsaber, 2018.07.18 03:51
So können wir überprüfen, ob die aktuelle History-Tabelle, die zuvor mit der HistorySelect-Funktion erstellt wurde, den benötigten Datensatz enthält. Dasselbe gilt für DEAL_TICKET.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Speichern des Preisniveaus der Position durch Clearing (ist das möglich?)
fxsaber, 2018.07.17 20:45
Nicht jeder weiß, dass die Funktion GetMicrosecondCount im Gegensatz zu GetTickCount an die lokale Computerzeit gekoppelt ist, d.h. wenn sich diese Zeit ändert (z.B. durch die Synchronisation mit der Internet-Zeit), ändern sich auch die GetMicrosecondCount-Werte um einen entsprechenden Wert.Dies ist zu beachten, wenn diese Funktion zur Messung von Zeitintervallen verwendet wird; eigentlich sollte sie für diesen Zweck nicht verwendet werden. GetTickCount hingegen hat diese Probleme nicht.
Zu Demonstrationszwecken können Sie diesen Code ausführen und die Uhrzeit des Computers ändern, während er läuft.
Vielleicht weiß nicht jeder, dass die Funktion GetMicrosecondCount im Gegensatz zu GetTickCount an die lokale Computerzeit gebunden ist.
Das wusste ich nicht, vielen Dank!
Eine Variante der Funktion GetTickCount, die Überläufe vermeidet (vorausgesetzt, das Intervall zwischen den Aufrufen der Funktion beträgt nicht mehr als 50 Tage)
Es ist vielleicht nicht bekannt, dass die Funktion GetMicrosecondCount im Gegensatz zu GetTickCount an die lokale Computerzeit gekoppelt ist, d.h. wenn sich diese Zeit ändert (z.B. durch Synchronisation mit der Internet-Zeit), ändern sich auch die GetMicrosecondCount-Werte um einen entsprechenden Wert.Dies ist zu beachten, wenn diese Funktion zur Messung von Zeitintervallen verwendet wird; eigentlich sollte sie für diesen Zweck nicht verwendet werden. GetTickCount hingegen hat diese Probleme nicht.
Um dies zu demonstrieren, können Sie diesen Code ausführen und die Zeit des Computers während der Ausführung des Codes ändern.
Nun, dies ist ein Fehler, den die Entwickler beheben sollten. Die Funktion entspricht dann nicht der Beschreibung:
Функция GetMicrosecondCount() возвращает количество микросекунд, прошедших с момента начала работы MQL5-программы.
Der Wert dieser Funktion im Vergleich zu GetTickCount ist Mikrosekunden, nicht Millisekunden (1000-mal höhere Genauigkeit). Außerdem ist sie nicht aufblasbar.Deshalb ist es nicht ganz richtig, von seiner Substituierbarkeit zu sprechen.
Nicht jeder weiß, dass die Funktion GetMicrosecondCount im Gegensatz zu GetTickCount an die lokale Computerzeit gekoppelt ist, d.h. wenn sich diese Zeit ändert (z.B. durch die Synchronisation mit der Internet-Zeit), ändern sich auch die GetMicrosecondCount-Werte um einen entsprechenden Wert.Dies ist zu beachten, wenn diese Funktion zur Messung von Zeitintervallen verwendet wird; eigentlich sollte sie für diesen Zweck nicht verwendet werden. GetTickCount hingegen hat diese Probleme nicht.
Um dies zu demonstrieren, können Sie diesen Code ausführen und die Uhrzeit des Computers ändern, während er läuft.
Eine weitere wichtige Beobachtung - daraus folgt, dass es absolut unangebracht ist, die Funktion GetTickCount anstelle von GetMicrosecondCount zu verwenden.
Ich denke, es wird für viele eine Überraschung sein.
Untersuchen Sie die Funktionsweise eines einfachen Skripts:
Das Ergebnis der Arbeit:
können wir die folgenden Schlussfolgerungen ziehen:
Das ist ein Fehler, der von den Entwicklern behoben werden sollte. Denn dann entspricht die Funktion nicht der Beschreibung:
Der Wert dieser Funktion im Vergleich zu GetTickCount ist Mikrosekunden, nicht Millisekunden (1000 mal genauer). Außerdem ist er nicht aufblasbar.Deshalb ist es nicht ganz richtig, von seiner Substituierbarkeit zu sprechen.
Wenn Sie die Ausführungszeit einiger Programmabschnitte messen, gleichen Schwankungen in der Systemleistung diese Genauigkeit aus, und es ergibt sich ein Fehler in Millisekunden oder sogar Zehntelmillisekunden. Wenn Sie sehr kleine Segmente mit einer Dauer von weniger als 1 Millisekunde messen, ist das sinnlos. Der Anteil des Messfehlers wird sehr hoch sein.
Ich habe noch keine praktische Anwendung von Mikrosekunden gesehen. Wenn Sie die Ausführungszeit einiger Programmabschnitte messen, werden Schwankungen in der Systemleistung all diese Genauigkeit zunichte machen, und der Fehler liegt bei Millisekunden oder sogar einigen zehn Millisekunden. Wenn Sie sehr kleine Segmente mit einer Dauer von weniger als 1 Millisekunde messen, ist das sinnlos. Der Messfehler wird sehr hoch sein.
Eine weitere wichtige Beobachtung legt nahe, dass die Verwendung der Funktion GetTickCount anstelle von GetMicrosecondCount völlig ungeeignet ist.
Ich denke, es wird für viele Programmierer eine Überraschung sein.
Untersuchen Sie die Funktionsweise eines einfachen Skripts:
können die folgenden Schlussfolgerungen gezogen werden:
Das wesentliche Argument