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
Vielleicht führen Sie einfach ein paar Tests durch und die Fragen werden verschwinden?
Vielleicht. Ich wünschte, ich hätte mehr Zeit, um die Tests selbst durchzuführen :(
Vielleicht führen Sie einfach ein paar Tests durch und die Fragen werden verschwinden?
Die Tests zeigen nur beim ersten Start einen Unterschied.
Symbol(), _Symbol-Einträge sind äquivalent zu NULL (wobei NULL anstelle des 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 ein normaler String-Parameter anstelle von Symbol(), _Symbol oder NULL angegeben wird, dann werden Prüfungen für das vollständige Programm und weitere Eigenschaftsaufrufe
Frage:
- Verhalten der SymbolInfoXXX-Aufrufe in diesen beiden Fällen, unterscheiden sie sich um mehr als einen Haken?
?
Übrigens, aus den heutigen frischen Logs der neuesten Version von MT5:
Es handelte sich um 3 EAs, die auf einem Symbol schwebten, jedes auf seinem eigenen Chart. Und die Aufforderung wird immer wieder erne uert. Solche Ausschläge sind natürlich selten, aber in der Tat wurde eine Anfrage für neue Ticks, die vom letzten Tick stammen, 700 ms ausgeführt.
Ich beobachte seit etwa 12 Stunden, aber ich kann bereits sehen, dass die Verzögerungen alle Grenzen überschreiten.
3 EAs, jeder auf seinem eigenen Chart, alle auf 1 Symbol, fordern alte Ticks vom vorherigen Tick über CopyTicksRange an. Und die Verzögerung beträgt fast 9 Sekunden. Und wie es scheint, ist das noch nicht alles. Höchstwahrscheinlich handelt es sich bei dem Tick Store um eine gemeinsam genutzte Ressource, auf die der Zugriff synchronisiert wird, aber selbst bei einer sehr schlechten Synchronisierung sollte es nicht zu solchen Zeiten kommen.
Manche werden sagen, es sei eine einmalige Panne. Während dieser 12 Stunden der Überwachung gab es leider über hundert 1-Sekunden-Ausgänge. Und diese sehen nicht mehr wie einmalige Ausbrüche aus. Es sieht so aus, als kämen oft mehrere Zecken gleichzeitig herein, was die Ursache für diese Ausschläge ist.
Selbst wenn wir die Augen vor der Tatsache verschließen, dass sich 3 EAs um eine gemeinsame Ressource stritten, sollten wir uns die andere Überwachung ansehen:
Es gab nur 1 Expert Advisor für das Symbol. Und immer noch eineinhalb Sekunden. Es war nicht der einzige, es gab noch andere EAs für andere Symbole, aber ist er nicht multi-threaded? Oder können sich die Häkchen für verschiedene Symbole noch gegenseitig verlangsamen?
Dies ist eine Basisfunktionalität für einfache EAs. Die Plattform ist als algorithmische Handelsplattform positioniert. Allerdings wirft die grundlegende Funktionalität erhebliche Fragen auf. Eine große Bitte, sich das noch einmal anzusehen. Ich bin mir fast sicher, dass es irgendwo noch Raum für Verbesserungen gibt. Oder ich wäre sehr dankbar, wenn ich die letzten Ticks seit dem Aufruf der Funktion erhalten könnte, wie hier vorgeschlagen
Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien
MT5 und Geschwindigkeit in Aktion
fxsaber, 2021.03.01 07:28
Bitte denken Sie über eine solche Funktion nach.
Das Problem, NEUE Ticks ohne Überspringen zu erhalten, wird jetzt nur noch durch CopyTicks* gelöst. Das ist ein sehr umständlicher Mechanismus für diese weit verbreitete Aufgabe. Das ist, als würde man mit einer Kanone auf Vögel schießen.
Daher die Bremsen, die Speicherung großer Caches usw.
Die Anzahl der Aufrufe von SymbolInfoTick und CopyTicksRange wurde minimiert:
Das Terminal und der Rechner (Auslagerungsdatei deaktiviert) mit dieser Last.
Dadurch konnte die Anzahl der Verzögerungsmeldungen (weniger Aufrufe) der regulären Funktionen erheblich reduziert werden.
50 Minuten lang protokollieren:
Das scheint nicht so schlimm zu sein. Es wurden keine Handelsgeschäfte getätigt. Wie steht es mit ihnen, ich werde sehen.
JEDOCH zeigt das hervorgehobene Fragment, dass drei EAs (verschiedene Charaktere) fast gleichzeitig verzögert wurden. D.h. die Verzögerung ist universell für das Terminal.
Symbol(), _Symbol-Einträge sind äquivalent zu NULL (wobei NULL anstelle des 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 Knotens zwischengespeichert werden
Das heißt, wenn Sie einen einfachen String-Parameter anstelle von Symbol(), _Symbol oder NULL angeben, dann gibt es Prüfungen für das vollständige Programm und weitere Abfrageeigenschaften
Bitte erläutern Sie das noch einmal, da Ihre Worte von den Forumsnutzern unterschiedlich interpretiert werden.
Im Terminal mit einem EA/Chart/Symbol.
Ein solches Protokoll in 15 Minuten. Es scheint sich also doch um ein langsames Windows zu handeln. In diesem Fall ist es das.
Ein klares Beispiel für die Bremsen, die Market Watch verursacht.
Schauen Sie sich die Werte in der Spalte "Prozessor" (zweite von rechts) an.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Indikatoren: Ping
fxsaber, 2021.03.12 10:56
Ich habe mich gerade an diesen tollen Indikator erinnert.
Es handelt sich um ein Bild von dem Gerät mit Null-Ping. Es stellt sich heraus, dass die interne Verzögerung des Terminals im Durchschnitt ~2ms beträgt. Sie schwankt zwischen 0-9 ms.
Zum Beispiel hat der Server zwei Ticks empfangen: einen ersten und einen zweiten nach 10 ms. Im Terminal kann der zweite Tick also nicht 10 ms nach dem ersten empfangen werden, sondern erst 10-19 ms nach dem ersten. Im Durchschnitt ist sie 12 ms später.
Wenn Sie aus dem Markt heraus handeln (Market Marts oder Pending Orders zum aktuellen Kurs), wird es besonders schwierig zu handhaben sein. Es ist schwer zu sagen, ob die Entwickler in der Lage sein werden, hier etwas zu verbessern.
Ein Blick auf die Moskauer Börse zeigt, dass die Situation dort ähnlich ist. Wenn Sie über den MT5-Algo handeln, ist es fast garantiert, dass Sie am Ende der Ausführungswarteschlange stehen und leider keine Zeit haben, die guten Sachen abzuholen.