MQL5-Array außerhalb des gültigen Bereichs: Finden Sie den ersten ungültigen Index

Ein Array-Index muss auf ein tatsächlich vorhandenes Element verweisen. Eine erfolgreiche Kompilierung beweist nicht, dass jede Laufzeitschleife einen gültigen Index verwendet. Beginnen Sie bei der ersten gemeldeten Zeile, anstatt alle Schleifen auf einmal zu patchen.

Schreiben Sie die Grenzen auf

Für ein eindimensionales Array mit fünf Elementen sind die gültigen nullbasierten Indizes null bis vier. Eine Schleife, die Index fünf enthält, geht zu weit. Lassen Sie beim Lesen von i+1 Platz für dieses zusätzliche Element.

Überprüfen Sie die Daten, die Sie erhalten haben

Wenn Sie viele Preiskerzen angefordert, aber weniger erhalten haben, ist die angeforderte Anzahl keine sichere Schleifengrenze. Protokollieren Sie die kopierte Anzahl, die Array-Länge und den fehlerhaften Index. Entscheiden Sie, was der EA tun soll, wenn der Verlauf noch nicht bereit ist.

Reproduzieren Sie einen kleinen Fall

Probieren Sie die ersten Preiskerzen, ein leeres Ergebnis und den minimalen Lookback aus. In diesen Fällen wird ein Grenzfehler häufig schneller sichtbar als bei einem weiteren ganzjährigen Durchlauf. Behalten Sie die fehlerhafte Eingabe bei, damit die Korrektur erneut überprüft werden kann.

Halten Sie den Fix eng

Unterdrücken Sie die Botschaft nicht und fahren Sie mit erfundenen Preisen fort. Eine nützliche Lösung legt gültige Grenzen fest oder wartet auf gültige Daten. Die bearbeitbare Quelle ermöglicht diese kleinen, gezielten Verbesserungen, ohne die gesamte Strategie zu ändern.

Referenz und weiterführende Literatur

Beginnen Sie mit einem kostenlos bearbeitbaren EA-Projekt·Entdecken Sie den MQLume-Quellcode

Zurück nach oben
QuellcodeGeschätzte Lesezeit: 4 Min.

MQL5-Quellcode in MetaEditor kompilieren

Erstellen Sie ein MQ5-Projekt in einem EX5, überprüfen Sie Abhängigkeiten und Diagnosen und bestätigen Sie, welche ausführbare Datei Sie testen.

Überprüfen Sie die Quellprojekte

Überprüfen Sie die bereitgestellte Version, den Eingabeleitfaden und den dokumentierten Testumfang für jedes Paket.

Quantum Titan MT5The Gold Reaper MT5My AI Gold MT5Ultimate Breakout System MT5Quantum Commander MT5MoonDog EA MT5EA Super Trend XAUUSD MT5Gold Beaver MT5Smart Gold Hunter MT5

Warenkorb

Eine persönliche Nutzungslizenz pro Projekt. Jedes Projekt kann nur einmal hinzugefügt werden.

Dein Warenkorb ist leer

Wähle ein Quellcode-Projekt aus.

Weiter einkaufen