Fehler, Irrtümer, Fragen - Seite 1658
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
Unabhängig von der Frage ist der Aufruf einer Funktion immer langsamer als der Zugriff auf eine Variable auf dem Stack, in diesem Fall nType.
Ungeachtet dieser Offensichtlichkeit ging es in der Frage um Inline-Funktionen. D.h. wird OrderType() nicht zur Kompilierzeit durch etwas wie order.type ersetzt.
Ich persönlich cache solcheMQL-Funktionsaufrufe immer, wie in Ihrem zweiten Fall.
Wie die Messungen gezeigt haben, ist das unnötig.
Ungeachtet dieser Offensichtlichkeit ging es in der Frage um Inline-Funktionen. D.h. wird OrderType() beim Kompilieren nicht durch etwas wie order.type ersetzt.
Wie die Messungen gezeigt haben, ist dies nicht notwendig.
Nach der internen Implementierung von Arrays zu urteilen, muss die gleiche ArraySize inline sein. Aber ich verwende es immer so (ich habe es nicht gemessen)
Anstelle von
Ich benutze
Was die Leistung betrifft, so war ich kürzlich von folgender Tatsache überraschtForum für Handel, automatisierte Handelssysteme und Strategietests
Wie gehe ich eine Aufzählung konsequent durch?
fxsaber, 2016.08.22 09:13
Ungeachtet dieser Offensichtlichkeit ging es in der Frage um Inline-Funktionen. D.h. wird OrderType() beim Kompilieren nicht durch etwas wie order.type ersetzt.
Wie die Messungen gezeigt haben, ist das unnötig.
Sie haben es selbst geschrieben:
Ich habe es selbst überprüft. Der zweite Code läuft 4 Mal schneller. Es ist alles klar, die Frage ist vom Tisch.
Ich habe es selbst getestet. Der zweite Code läuft viermal schneller. Alles ist klar, die Frage ist geklärt.
Guten Tag!
Meine Herren Offiziere, können Sie mir sagen, wo ich anfangen soll, eine Wanze zu fangen?
Multicurrency Expert Advisor. Nach dem ersten Handel stoppt das Testgerät.
Es wird ein Fehler ausgegeben, dessen Code ich nicht finden kann.
Ja, der Tester funktioniert ab dem Startdatum 2016.05.01. Wenn ich dieses Datum ändere, stoppt der Tester und es tritt ein Fehler auf, siehe Protokoll unten.
Bitte um Hilfe!
Antwort an mich selbst:
Dies ist ein Fehler im Testprogramm. Zunächst müssen Sie das Handle eines technischen Indikators in OnInit zu allen Symbolen hinzufügen, mit denen der Expert Advisor arbeitet.
Sie haben es selbst geschrieben:
Ich habe es selbst überprüft. Der zweite Code läuft 4 Mal schneller. Es ist alles klar, die Frage ist vom Tisch.
In Build 1398 ist die Fehlermeldung "EX5 loading failed" immer noch vorhanden (offenbar nicht im Zusammenhang mit diesem Beispiel).
In der korrigierten Version 1400 wird der Fehler in einem ähnlichen Fall nun als "reiner virtueller Funktionsaufruf " wiedergegeben. Und ohne Kommentar geht's auch
Kann nicht angewandt werden :: um Mehrdeutigkeiten aufzulösen
Antwort an mich selbst:
Dies ist ein Fehler im Testgerät. Zunächst müssen Sie in OnInit allen Symbolen, mit denen der Expert Advisor arbeitet, ein Handle eines beliebigen technischen Indikators hinzufügen.
Und es scheint, dass das Problem auftritt, wenn nur der erste Tick auf einen neuen Balken, der Tester scheint zu "stecken" und hinkt 1 bar hinter, das heißt, der EA denkt, dass der Balken nicht existiert und in der Visualisierung es wirklich nicht, aber nach ein paar Sekunden der Balken erscheint, im Falle der Prüfung auf M1 der richtige Wert kommt auf dem zweiten Tick (wenn ich richtig verstehe), ich hoffe, dass die Entwickler dieses lästige Moment so bald wie möglich beheben ...
Zusatz:
Es stellt sich heraus, dass man, um diesen Punkt zu umgehen, den ersten Tick eines neuen Balkens künstlich überspringen muss...