Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 122
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
Ergebnis
Die dritte Option (Schalter) ist durchweg langsamer als die zweite (Funktionszeiger). Was ist der Grund dafür?
ZS Langsam. Der dritte Schalter ist schneller als der zweite Schalter. Alles ist in Ordnung.
Wenn Sie also ein unveränderliches Array von Zeigern auf Funktionen haben, wird es schneller sein, wenn Sie es durch switch ersetzen.
Wenn wir also ein unveränderliches Array von Zeigern auf Funktionen haben, ist es schneller, wenn wir es durch switch ersetzen.
Nun, in diesem Fall ist es logisch, weil das Array dynamisch gefüllt wurde, was bedeutet, dass die Gültigkeit der Zeiger ständig überprüft wird. Obwohl es natürlich optimiert werden könnte...
Aber wenn MQL Array-Initialisierung durch konstante Zeiger unterstützt, würde es wahrscheinlich das gleiche sein.
p.s. Ihr Code ist überhaupt nicht lesbar. Natürlich verstehe ich, dass Sie mit all diesen Feinheiten der Makros vertraut sind, weil Sie sie selbst geschrieben haben und daher wissen, was sie bewirken. Aber für einen externen Leser ist es einfach ein Rätsel. Ich denke, Sie selbst werden wohl kaum verstehen, was Sie hier in sechs Monaten angerichtet haben ) Machen Sie wenigstens einen Kommentar oder so ...
p.s. Ihr Code ist völlig unleserlich. Natürlich verstehe ich, dass Sie mit all diesen Tricks mit Makros gut zurechtkommen, weil Sie sie selbst geschrieben haben und daher wissen, was sie bewirken. Aber für einen externen Leser ist es einfach ein Rätsel. Ich denke, Sie selbst werden wohl kaum verstehen, was Sie dort in sechs Monaten gemacht haben... Machen Sie wenigstens einen Kommentar oder so.
Sonst wärst du ein Wrack. Außerdem habe ich mit der Anzahl der Übergänge experimentiert. Ohne Makros wäre es schwierig gewesen. Was die zusätzlichen Kommentare betrifft, so werde ich sie in Zukunft berücksichtigen.
Sonst wäre es eine Katastrophe gewesen. Darüber hinaus habe ich mit der Anzahl der Übergänge experimentiert. Ohne Makros wäre es schwierig gewesen. Was die zusätzlichen Kommentare betrifft, so werde ich sie in Zukunft berücksichtigen.
Manchmal ist es viel einfacher, einen verständlichen Wust zu zerlegen, als ein kompaktes Puzzle zu zerlegen und diese sinnlose Tätigkeit sofort wieder aufzugeben.
Manchmal ist es viel einfacher, einen verständlichen Text zu entschlüsseln, als ein kompaktes Puzzle zu entziffern und die sinnlose Aufgabe sofort aufzugeben.
Darüber hinaus ist eine der häufigsten Ursachen für fehlerhafte Läufe im Prüfgerät eine fehlerhafte oder fehlende Initialisierung.
Während die Initialisierung fehlender Variablen einfach ist, sind Arrays ein wenig komplizierter. Meistens ist es das Auffinden von Situationen, in denen die Anzahl der Array-Elemente zunimmt, die auf eine Problemstelle hinweisen können.
Um solche potenziellen Probleme abzufangen, können Sie diese Zeichenfolgen am Anfang des Expert Advisors einfügen
Wenn die Situation erkannt wird, werden die detaillierten Informationen in das Protokoll geschrieben und der Lauf wird beendet.
SZZ Beispielanwendung.
Ich verstehe, ich verwende diese Methode selbst oft, aber was ist mit der Initialisierung? Wie kann sie ungültig sein?
Zum Beispiel werden ArrayResize und ArrayInitialize verwechselt. Oder der Indikator führt z.B. ArrayInitialize des Puffers bei OnInit aus und denkt fälschlicherweise, dass der Puffer initialisiert ist.
Zum Beispiel werden ArrayResize und ArrayInitialize verwechselt.
Nun, das ist ein sehr kindischer Fehler. Ist es die Mühe wert, ihn zu finden?
Nun, es ist ein kindischer Fehler. Lohnt es sich, ihn zu suchen?
Das Auffinden von Fehlern ist mühsam. Vor allem, wenn der Code umfangreich ist und nicht von Ihnen stammt.