Diskussion zum Artikel "Vergleich von MQL5 und QLUA - warum sind Transaktionen in MQL5 bis zu 28 Mal schneller?" - Seite 4
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
Wenn wir das Problem umformulieren als "wie oft wird MQL5-Code vom Terminal-Kernel aufgerufen", dann sollte alles falsch gemessen werden:
In diesem Fall kann man, nachdem man ein Polygon gebaut hat, wirklich alle Overheads bei MQL5-Aufrufen messen und erhält eine interessante Kennzahl. Wie es bei uns üblich ist, optimieren wir dann alles mehrere Male.
Dies ist eine interessante Aufgabe, mit der wir uns beschäftigen werden.
Ich hab's!Ja, das haben wir.
Tut mir leid, ich habe es übersehen.
Wenn wir das Problem umformulieren als "wie oft wird MQL5-Code vom Terminal-Kernel aufgerufen", dann sollte alles falsch gemessen werden:
In diesem Fall kann man, nachdem man ein Polygon gebaut hat, wirklich alle Overheads bei MQL5-Aufrufen messen und erhält eine interessante Kennzahl. Wie es bei uns üblich ist, optimieren wir dann alles mehrere Male.
Das ist eine interessante Aufgabe und wir werden es tun.
Vielen Dank, dass Sie solche ausgefallenen Dinge nicht unbeachtet lassen!
Wahrscheinlich brauchen wir einen separaten Build für die Messung der Ankunftsgeschwindigkeit von Zitatpaketen. Genau das wollte ich messen.
Bitte machen Sie einen weiteren MT5 Geschwindigkeitstest auf einem realen Konto
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Testen von 'CopyTicks'
fxsaber, 2016.09.13 11:11 AM
Wenn durch OrderSendAsync zwei Limiter (BuyLimit1_price < BuyLimit2_price) innerhalb des Spreads gesendet werden, wird die Börse zwei aufeinanderfolgende Ticks mit Geldkursverbesserung zur gleichen Zeit generieren (mit 1ms Genauigkeit)?
Ich erkläre Ihnen, was das bedeutet.
Wenn BuyLimit1 innerhalb des Spreads gesendet wird, erhalten wir von der Börse einen Tick mit dem Zeitpunkt seiner Geburt (es wird ein neues Bid generiert). Nach BuyLimit2 - ein weiterer Tick mit seiner Geburtszeit. Der Unterschied zwischen diesen beiden Zeiten ist die Geschwindigkeit, mit der die MT5-Handelsaufträge an die Börse geliefert werden.
Um bei einem solchen Experiment möglichst wenig Geld zu verlieren, können Sie nicht zwei BuyLimits asynchron senden, sondern BuyLimit und SellLimit innerhalb des Spreads und ein wenig liquides Handelsinstrument wählen.
Bevor wir vergleichen, müssen wir den gesamten Komplex der Handelsoperationen "abschließen
(Empfang von Daten, Begründung von Transaktionen, Empfang der Bestätigung von Transaktionen).
Hinzugefügt Build 1395, real
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
FORTS. Fragen zur Ausführung
Renat Fatkhullin, 2016.08.23 16:35
Sie brauchen nur 5-10 ms zu warten und es erneut zu versuchen.
Die Sache ist, dass Sie die Transaktionsbestätigung sofort erhalten, aber die vollständigen Transaktionsdetails kommen danach asynchron an. Es kann von 0 bis N ms dauern, normalerweise innerhalb von 1-2 ms (hängt natürlich vom Ping ab).
Bevor wir vergleichen, müssen wir den gesamten Komplex der Handelsoperationen "abschließen
(Empfang von Daten, Begründung von Transaktionen, Empfang der Bestätigung von Transaktionen).
Hinzugefügt Build 1395, real
Habe gerade einen ähnlichen Vorgang manuell durchgeführt: 11,7 ms
Sie wollen den echten Bericht nicht sehen, sondern verwenden Ihre eigene fehlerhafte Methode zur Messung der Transaktionszeit.
Und Sie wollen Ihre Fehler nicht eingestehen, sondern ziehen es vor, die ungeheuerlichen Zahlen Ihres fehlerhaften Skripts zu glauben.
Ich habe gerade einen ähnlichen Vorgang manuell durchgeführt: 11,7 ms.
Wovon reden Sie, Renate?
Dies ist ein Auszug aus dem Log von Temninal, nicht mein eigenes Log!
Aufgrund dieses Umstandes ist es notwendig, den Vergleich mit QLUA nicht zu Gunsten von MT5 leicht anzupassen.
Es gibt keine Notwendigkeit, etwas zu ändern. Mein Satz war für den allgemeinen Fall "in Ihrem Internet und Ihr Ping kann alles sein und in der Realität abhängig von Ihrem Netzwerk werden Sie eine Transaktion in 0-N ms erhalten". Und es ist wahrscheinlicher, dass es 0 ms sind als mehr.
Hier ist der Verifizierungscode mit Kontrolle aller Transaktionen im asynchronen Modus:
Hier ist die Ausgabe auf einem echten Konto gerade eben:
Sie sollten ihn von unten nach oben lesen.
Es zeigt alle Phasen der Transaktionen mit der kumulativen Gesamtzeit, die von Anfang an verbraucht wurde. Anhand der Transaktionsarten können Sie sehen, was dem Terminal hinzugefügt wurde und wann.
Die Gesamtzeit beträgt 11,45 ms.