![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
@Anton, in vielen Standardfunktionen können Sie NULL anstelle eines Zeichens angeben. Beeinträchtigt sie die Geschwindigkeit der Ausführung?
Oder macht es für Terminal/Tester keinen Unterschied?
Symbol(), _Symbol-Einträge sind äquivalent zu NULL (wobei NULL anstelle eines Symbolnamens erlaubt ist).
In diesem Fall gibt es keine zusätzliche Prüfung auf das Vorhandensein des aktuellen Symbols, das Vorhandensein des aktuellen Symbols in der Marktbeobachtung und unnötige Aufrufe von Eigenschaften des aktuellen Symbols, da die Eigenschaften des aktuellen Zeichens zwischengespeichert werden
Das heißt, wenn Sie einen einfachen String-Parameter anstelle von Symbol(), _Symbol oder NULL angeben, dann prüft für das vollständige Programm und noch Eigenschaften anfordern
Symbol(), _Symbol-Einträge sind äquivalent zu NULL (wobei NULL anstelle des Symbolnamens erlaubt ist).
In diesem Fall gibt es keine unnötige Prüfung auf das Vorhandensein des aktuellen Symbols, auf das Vorhandensein des aktuellen Symbols in Market Watch und keinen unnötigen Aufruf der Eigenschaften des aktuellen Symbols, da die Eigenschaften des aktuellen Symbols zwischengespeichert werden
Slava, können Sie Folgendes erläutern: Bei Aktien ist der Tickpreis in der Symbolangabe auf "0" gesetzt. Und das ist es, was die Unterstützung sagt:
"Ich habe eine Bestätigung von der technischen Abteilung erhalten. Bitte beachten Sie, dass es nicht möglich ist, den Parameter "Tick-Preis" für die Aktie einzugeben. Der Wert wird standardmäßig auf 0 gesetzt.
Vielen Dank, dass Sie uns kontaktiert haben!"
Ist dies wirklich der Fall? Steht in den Symbolspezifikationen, dass der Tickpreis nur für Aktien auf Null gesetzt ist?
Slava, können Sie Folgendes erläutern: Bei der Aktie ist der Tickpreis in der Symbolangabe auf "0" gesetzt. Und das ist es, was die Unterstützung sagt:
"Ich habe eine Bestätigung von der technischen Abteilung erhalten. Bitte beachten Sie, dass es nicht möglich ist, den Parameter "Tick price" für die Aktie einzugeben. Der Wert wird standardmäßig auf 0 gesetzt.
Vielen Dank, dass Sie uns kontaktiert haben!"
Ist dies wirklich der Fall? Steht in den Symbolspezifikationen, dass der Tickpreis nur für Aktien Null ist?
Ja, es gibt Nuancen.
Wenn die Null ausgestellt wird, müssen Sie selbst rechnen. Fragen Sie Ihren Makler nach der Formel
Das Problem, LATE Ticks ohne Skips zu erhalten, wird jetzt nur noch über CopyTicks* gelöst. Dies ist ein sehr schwerfälliger Mechanismus für dieses weit verbreitete Problem.
Übrigens, aus den heutigen frischen Logs der neuesten Version von MT5:
Es hingen 3 EAs an 1 Symbol, jedes in seinem eigenen Chart. Und die Aufforderung wird immer wieder erne uert. Solche Ausschläge sind natürlich selten, aber eine Anfrage nach neuen Ticks, die vom letzten Tick stammt, dauerte 700 ms.
Das ist sie nicht.
In jeder Sendung werden Sie immer wieder zufällige Verzögerungen feststellen. Wenn Sie anfangen, den Überblick zu behalten, werden Sie über die Realität von Windows entsetzt sein. Ich habe dies bereits mehrfach ausführlich erläutert.
Auch wir waren einmal erstaunt, als wir bei System-WinAPI-Funktionen zufällige Bursts von 60-80 ms anstelle von 0 ms feststellten.
Wir migrieren jetzt die meisten unserer Windows-Lösungen massenhaft auf speziell entfettete Windows Server 2019 Core-Versionen und .NET Core-Webprojekte auf Linux. Dies bringt enorme Einsparungen bei den Systemressourcen mit sich und verringert die Latenzzeit des Systems erheblich.
Der erste Schritt beim Abschöpfen der MataTrader 5-Terminals bestand darin, einen Task-Manager zu implementieren, um den Ressourcenverbrauch im Auge zu behalten. Für uns selbst sammeln wir mehr Informationen.
Es ist bereits deutlich geworden, dass wir das tun:
Wäre es nicht schön, auch ein Linux-Terminal zu haben )))
Ja, es gibt Nuancen.
Wenn Sie Null haben, müssen Sie selbst nachrechnen. Fragen Sie Ihren Makler nach der Formel.
Bei SymbolInfoXXXX ist alles richtig. Die Frage war, warum in der Spezifikation für Aktien die Zahl "0" angegeben ist. Sie sagen, es ist klar - ein Häkchen entspricht einem Cent. Aber das ist nicht der Grund, in der Spezifikation '0' zu setzen?
Innerhalb der Funktion müssen Sie noch zu dem entsprechenden Häkchen springen. Jetzt ist es an der Zeit, die String-Variable zu analysieren. Bei NULL ist dies nicht erforderlich.
Ich habe das damals überprüft und konnte keinen signifikanten Geschwindigkeitsunterschied feststellen. Sie können es selbst überprüfen
Wird anstelle von Symbol(), _Symbol oder NULL ein normaler String-Parameter angegeben, so wird das gesamte Programm geprüft und die Eigenschaften werden ebenfalls abgefragt
Vielen Dank für die Informationen! Es hat sich herausgestellt, dass es besser ist, es auf diese Weise zu tun:
Vielen Dank für die Informationen! Es hat sich herausgestellt, dass es besser ist, es auf diese Weise zu tun:
Auch ohne technische Details könnte ich mir nicht vorstellen, wie Sie es in Ihren Funktionen anders machen könnten...
Inwiefern sollte diese Konstruktion schneller sein als die Standardfunktion SymbolInfoTick()?
Wie soll diese Konstruktion schneller sein als das Standard-SymbolInfoTick()?
Schneller.