- Rückgabecodes des Handelsservers
- Compiler Warnungen
- Kompilierungsfehler
- Ausführungsfehler
Kompilierungsfehler
MetaEdtior 5, Editor der mql5-Programme, zeigt Fehlermeldungen des Programms, die vom eingebauten Compiler während der Compilierung detektiert werden. Die Liste der Fehler ist in der Tabelle unten angegeben. Für Kompilierung des Ausgangskodes in den ablaufenden Kode drücken Sie F7. Programme mit Fehlern können nicht kompiliert werden, bis die vom Compiler angegebene Fehler eliminiert werden.
Nummer |
Beschreibung |
---|---|
Dateilesen Fehler |
|
Fehler der *.EX5 Dateieröffnung, um sie für Speicherung zu schreiben |
|
Freier Speicher nicht genug, um Kompilierung zu beenden |
|
Leere syntaktische Einheit, die vom Compiler nicht erkannt wird |
|
Unkorrekter Dateiname in #include |
|
Dateizugang in #include (Datei kann schon nicht existieren) |
|
Ungeeigneter Name für #define |
|
Unbekannter Befehl des Preprozessors (gültig #include,#define,#property,#import) |
|
Unbekanntes für Compiler Symbol |
|
Funktion nicht realisiert (Beschreibung ist vorhanden, Körper gibt es nicht) |
|
Doppeltes Anführungszeichen ist ausgelassen (") |
|
Öffnende Eckklammer (<)oder doppeltes Anführungszeichen (") ist ausgelassen |
|
Einzelnes Anführungszeichen ist ausgelassen (') |
|
Schließende Winkelklammer ">" ist ausgelassen |
|
In der Erklärung ist der Typ nicht angegeben |
|
Keine Rückgabeanweisung return oder nicht in allen Branchen der Erfüllung |
|
Öffnende Klammer der Aufrufparameter wurde erwartet |
|
Schreibfehler EX5 |
|
Unkorrekter Zugang zum Feldelement |
|
Funktion ist nicht des Typs void und Anweisung return muss den Wert zurückgeben |
|
Unkorrekte Erklärung des Destruktors |
|
Doppelpunkt fehlt ":" |
|
Variable ist schon erklärt |
|
Variable mit diesem Identifikator ist schon erklärt |
|
Name der Variable ist zu lang (>250 Symbole) |
|
Struktur mit demselben Identifikator ist schon definiert |
|
Struktur ist nicht definiert |
|
Strukturglied mit demselben Namen ist schon definiert |
|
Kein solches Strukturglied |
|
Paarigkeit der eckigen Klammern ist verletzt |
|
Öffnende runde Klammer "(" ist zu erwarten |
|
Nicht balancierte geschweifte Klammern ( es fehlt "}" ) |
|
Kompliziert für Kompilierung (zu viele Branchen, interner Levelsteck ist übervoll) |
|
Fehler der Dateieröffnung für Lesen |
|
Nicht genug Speicherplatzes , um Ausgangsdatei in den Speicher zu laden |
|
Variable ist zu erwarten |
|
Referenz kann nicht initialisiert werden |
|
Zuordnung war zu erwarten (entsteht bei der Erklärung) |
|
Öffnende geschweifte Klammer "{" ist zu erwarten |
|
Parameter kann nur ein dynamisches Feld sein |
|
Verwenden des Typs "void" ist ungültig |
|
Kein Paar für ")" oder "]", d.h. es fehlt "(" oder "[" |
|
Kein Paar für "(" oder "[",d.h. es fehlt ")" oder "]" |
|
Unkorrekte Feldgröße |
|
Zu viele Parameter (>64) |
|
Dieses token ist nicht hier zu erwarten |
|
Ungültiges Verwenden der Operation (falsche Operanden) |
|
Ausdruck des Typs void ist unzulässig |
|
Anweisung ist zu erwarten |
|
Falsches Verwenden von break |
|
Semikolon ist zu erwarten ";" |
|
Komma ist zu erwarten "," |
|
Typ muss als eine Klasse, nicht als eine Struktur bestimmt werden |
|
Ausdruck ist zu erwarten |
|
In HEX tritt "nicht HEX Symbol" auf oder zu lange Zahl (Zifferanzahl > 511) |
|
Zeile-Konstante hat mehr als 65534 Symbole |
|
Funktionsdefinieren ist hier unzugänglich |
|
Unerwartetes Programmende |
|
Vorrangige Erklärung für Strukturen ist verboten |
|
Funktion mit demselben Namen ist schon definiert und hat einen anderen Typ des rückgegebenen Wertes |
|
Funktion mit demselben Namen ist schon definiert und hat einen anderen Parametervorrat |
|
Funktion mit demselben Namen ist schon definiert und implementiert |
|
Überladen der Funktion für diesen Anruf ist nicht gefunden |
|
Funktion mit dem Rückgabewert des Typs void kann den Wert nicht rückgeben |
|
Funktion ist nicht definiert |
|
Wert ist zu erwarten |
|
Im Ausdruck case sind nur ganzzahlige Konstanten gültig |
|
Wert für case in diesem switch wurde schon verwendet |
|
Ganzzahliger Wert ist zu erwarten |
|
Im Ausdruck #import ist Dateiname zu erwarten |
|
Ausdrücke sind nicht auf dem globalen Niveau zugelassen |
|
Runde Klammer ")" vor ";" ist ausgelassen |
|
Links von Gleichheitszeichen ist die Variable erwartet |
|
Ausdrucksergebnis wird nicht verwendet |
|
Variablenerklärung in case ist nicht zugelassen |
|
Implizite Umwandlung der Zeile in die Zahl |
|
Implizite Umwandlung der Zahl in die Zeile |
|
Nichteindeutiger Aufruf der überladenen Funktion (mehrere Überladungen passen) |
|
Ungültiges else ohne entsprechendes if |
|
Ungültiges case oder default ohne entsprechendes switch |
|
Ungültiges Verwenden der Ellipse |
|
Initialisirungsfolge hat mehr Elementen als Initialisierungsvariable |
|
Konstante für case ist zu erwarten |
|
Konstantausdruck ist angefordert |
|
Konstantvariable kann nicht verändert werden |
|
Rechte Klammer oder Komma ist zu erwarten (Erklärung des Feldgliedes) |
|
Enum ID wird bereits verwendet |
|
Enumeration kann keine Zugangsmodifikatoren haben (const, extern, static) |
|
Enumerationsglied ist schon mit dem anderen Wert erklärt |
|
Es gibt eine Variable, die mit demselben Namen definiert ist |
|
Es gibt eine Struktur, die mit demselben Namen definiert wird |
|
Name des Enumerationsgliedes ist zu erwarten |
|
Ganzzahliger Ausdruck ist zu erwarten |
|
Dividieren durch Null im Konstantausdruck |
|
Falsche Parameterzahl in der Funktion |
|
Parameter per Referenz muss Variable sein |
|
Variable desselben Typs für Übertragung durch Referenz wird erwartet |
|
Konstantvariable kann nicht durch nicht Konstantreferenz übertragen werden |
|
Ganzzahlige positive Konstante ist angefordert |
|
Fehler des Zugangs zum geschützten Glied der Klasse |
|
Import ist schon anders definiert |
|
Durchführungsdatei nicht erzeugt |
|
für Indikator ist kein Eingangspunkt gefunden 'OnCalculate' |
|
Anweisung continue kann nur innerhalb des Zyklus verwendet werden |
|
Fehler des Zuganges zum private(geschlossenen) Glied der Klasse |
|
Strukturmethode oder Klassenmethode ist nicht erklärt |
|
Fehler des Zugangs zur private(geschlossenen) Methode der Klasse |
|
Kopieren der Strukturen mit Objekten ist nicht zulässig |
|
Index außerhalb der Feldgrenzen |
|
Felderinitialisierung in Erklärung der Struktur oder der Klasse ist ungültig |
|
Konstruktor der Klasse kann keine Parameter haben |
|
Destruktor der Klasse kann keine Parameter haben |
|
Methode der Klasse oder der Struktur mit denselben Parametern ist schon erklärt |
|
Operand ist zu erwarten |
|
Es gibt schon die Methode mit diesem Namen, aber mit anderen Parametern (Erklärung!=Implementierung) |
|
Zu importierende Funktion ist nicht beschrieben |
|
Die Funktion ZeroMemory() kann nicht für Klassen mit geschützten Members oder Vererbung |
|
Unklarer Aufruf der überladenen Funktion (exaktes Zusammenfallen der Parameter für mehrere Überladungen) |
|
Variablenname ist zu erwarten |
|
Referenz kann nicht an dieser Stelle erklärt werden |
|
Schon verwendet als Enumerationsname |
|
Klasse oder Struktur ist zu erwarten |
|
delete kann nicht für Feldentfernung aufgerufen werden |
|
Anweisung ' while ' ist zu erwarten |
|
In delete muss den Anzeiger geben |
|
Es gibt schon default für dieses switch |
|
Syntaktischer Fehler |
|
Escape-Folge kann nur in Zeilen auftreten (fängt mit '\' an) |
|
Feld angefordert – Eckige Klammer '[' gehört zum Feld nicht oder oder keine Felder als Feldparameters |
|
Kann nicht durch intialisierende Folge initialisiert werden |
|
Import ist nicht definiert |
|
Fehler des Optimierers auf dem syntaktischen Baum |
|
Zu viele Strukturen sind erklärt (versuchen Sie das Programm zu vereinfachen) |
|
Parameterumwandlung ist ungültig |
|
Unkorrektes Verwenden der Anweisung delete |
|
Anzeiger für Referenz kann nicht erklärt werden |
|
Es ist nicht zugelassen Referenz für Referenz zu erklären |
|
Es ist nicht zugelassen, Anzeiger für Anzeiger zu erklären |
|
Strukturerklärung in der Parameterliste ist ungültig |
|
Ungültige Operation der Typenreduzierung |
|
Anzeiger kann nur für Klasse oder Struktur erklärt werden |
|
Nicht erklärter Identifikator |
|
Fehler des Optimierers des Durchführungskodes |
|
Fehler der Generierung des Durchführungskodes |
|
Ungültiger Ausdruck für Anweisung switch |
|
Pool der Zeilenkonstanten ist überfüllt, vereinfachen Sie das Programm |
|
Unmöglich zur Enumeration zu reduzieren |
|
virtual kann nicht für Daten verwendet werden (Glieder der Klasse oder der Struktur) |
|
Geschützte Methode der Klasse kann nicht aufgerufen werden |
|
Umdefinierte virtuelle Funktion gibt anderen Typ zurück |
|
Klasse kann nicht von der Struktur geerbt werden |
|
Struktur kann nicht von der Klasse geerbt werden |
|
Konstruktor kann nicht virtuell sein (Spezifikator virtual ist ungültig) |
|
Struktur kann keine virtuelle Methoden haben |
|
Funktion muss den Körper haben |
|
Überladen der Systemfunktionen (Funktionen des Terminals) ist verboten |
|
Spezifikator const ist für die Funktionen, die keine Klassen- oder Strukturglieder sind, ungültig |
|
Klassenglieder können nicht in der Konstantmethode geändert werden |
|
Unpassende Initialisierungsfolge |
|
Defaultwert für Parameter ist ausgelassen (Spezifik der Erklärung von Defaultparametern) |
|
Neubestimmen des Default-Parameters (in der Erklärung und Realisierung sind die Werte verschieden) |
|
Nicht-Konstantmethode für Konstantobjekt kann nicht aufgerufen werden |
|
Für Zugang zu Gliedern wird das Objekt gefordert (Punkt für eine Nichtklasse/Struktur gestellt) |
|
Name der schon erklärten Struktur kann nicht bei der Erklärung verwendet werden |
|
Nicht autorisierte Umwandlung (bei der geschlossenen Vererbung) |
|
Strukturen und Felder können nicht als input-Variablen verwendet werden |
|
Spezifikator const ist für Konstruktor/Destruktor ungültig |
|
Falsche Zeilenausdruck für Typ datetime |
|
unbekannte Eigenschaft (#property) |
|
unkorrekter Wert für Eigenschaft |
|
unkorrekter Index für Eigenschaft in #property |
|
Anrufparameter ist ausgelassen – < func(x,) > |
|
Objekt muss per Referenz übertragen werden |
|
Feld muss per Referenz übertragen werden |
|
Funktion wurde als zu exportierende Funktion erklärt |
|
Funktion wurde nicht als zu exportierende Funktion erklärt |
|
Zu importierende Funktion kann nicht exportiert werden |
|
Zu importierende Funktion kann nicht diesen Parameter haben (Anzeiger, Klasse oder Struktur, die dynamisches Feld, Anzeiger, Llasse usw. enthalten, können nicht übertragen werden) |
|
Muss eine Klassen sein |
|
#import ist nicht abgeschlossen |
|
Nicht-Kompatibilität der Typen |
|
extern-Variable ist schon initialisiert |
|
Keine einzige exportierte Funktion oder Standardeingangspunkt ist gefunden |
|
Expliziter Aufruf des Konstruktors ist verboten |
|
Methode wurde als konstant erklärt |
|
Methode wurde nicht als konstant erklärt |
|
Unkorrekte Größe der Ressource-Datei |
|
Unkorrekter Ressource-Name |
|
Fehler beim Öffnen der Ressource-Datei |
|
Fehler beim Lesen der Ressource-Datei |
|
Unbekannter Typ der Ressource |
|
Unkorrekte Pfad zur Ressource-Datei |
|
Der angegebene Ressource-Name wird bereits verwendet |
|
Erwartete Parameter des Makros |
|
Nach dem Makronamen muss ein Leerzeichen stehen |
|
Fehler in der formalen Parameter des Makros |
|
Falsche Anzahl von Parametern bei der Verwendung eines Makros |
|
Zu viele Parameter für ein Makro |
|
Zu komplex, das Makro soll vereinfacht werden |
|
Parameter für EnumToString() kann nur Enumeration sein |
|
Ressourcename ist zu lang |
|
Bildformate ist nicht unterstützt (nur BMP mit 24 oder 32 Bit Farbtiefe ist erlaubt) |
|
Ein Array kann nicht im Operator erklärt werden |
|
Die Funktion kann nur auf globalen Bereich erklärt werden |
|
Die Erklärung ist nicht für den aktuellen Sichtbereich erlaubt |
|
Initialisierung der statischen Variablen mit Werte der lokalen Variablen ist ungültig |
|
Unerlaubte Deklaration der Array von Objekten, die keinen Standardkonstruktor haben |
|
Initialisierungsliste ist nur für Konstruktoren erlaubt |
|
Es gibt keine Definition der Function nach der Initialisierungsliste |
|
Die Initialisierungsliste ist leer |
|
Array-Initialisierung im Konstruktor ist verboten |
|
Initialisierung der Mitglieder der Elternklasse in der Initialisierungsliste ist verboten |
|
Ein Ausdruck des Typs Integer wurde erwartet |
|
Erforderlicher Speicher für das Array übersteigt den maximalen Wert |
|
Erforderlicher Speicher für die Struktur übersteigt den maximalen Wert |
|
Erforderlicher Speicher für die auf globaler Ebene deklarierte Variablen übersteigt den maximalen Wert |
|
Erforderlicher Speicher für die lokale Variablen übersteigt den maximalen Wert |
|
Der Konstruktor ist nicht definiert |
|
Ungültige Name der Symboldatei |
|
Konnte nicht die Symboldatei unter dem angegebenen Pfad öffnen |
|
Ungültig Symboldateiformat, es muss ICO sein |
|
Neuinitialisierung eines Mitglieds in einer Klasse/Struktur Konstruktor mit der Initialisierungsliste |
|
Initialisierung der statischen Mitglieder in der Initialisierungsliste des Konstruktors ist nicht erlaubt |
|
Initialisierung der nichtstatischen Mitglied einer Klasse/Struktur auf globaler Ebene ist nicht erlaubt |
|
Der Name der Methode der Klasse/Struktur stimmt mit der zuvor deklarierten Namen eines Mitglieds |
|
Der Name des Mitglieds der Klasse/Struktur stimmt mit der zuvor deklarierten Namen einer Methode |
|
Modifikator const ist für eine statische Funktion nicht erlaubt |
|
Konstruktor oder Destruktor können nicht statisch sein |
|
Nicht-statischer Mitglied/Methode einer Klasse oder einer Struktur kann nicht von einer statischen Funktion zugegriffen werden |
|
Nach dem Schlüsselwort operator wurde eine überladene Operation (+,-,[],++,-- usw.) erwartet |
|
Nicht alle Operationen können in MQL5 überladen werden |
|
Definition entspricht nicht der Deklaration |
|
Eine ungültige Anzahl der Parameter ist für den Operator angegeben |
|
Event-Handling-Funktion nicht gefunden |
|
Methoden können nicht exportiert sein |
|
Ein Zeiger auf das konstante Objekt kann nicht in einen Zeiger auf ein nicht-konstantes Objekt umwandelt werden |
|
Klasse-Schablonen werden noch nicht unterstützt |
|
Überladen von Funktionsschablonen wird noch nicht unterstützt |
|
Sie können nicht eine Funktionsschablone benutzen |
|
Unklare Parameter in einer Funktionsschablone (verschiedene Typen von Parametern passen) |
|
Es ist unmöglich zu bestimmen, in welchen Parametertyp den Argument von Funktionsschablone umzuwandeln |
|
Falsche Anzahl von Parametern in einer Funktionsschablone |
|
Funktionsschablone kann nicht virtuell sein |
|
Funktionsschablonen können nicht exportiert werden |
|
Funktionsschablonen können nicht importiert werden |
|
Strukturen mit Objekten nicht akzeptabel sind |
|
String Arrays und Strukturen, die Objekte enthalten, sind ungültig |
|
Ein Statisches Mitglied der Klasse/Struktur soll explizit initialisiert werden |
|
Die Beschränkung der Compiler: eine Ziele kann nicht mehr als 65.535 Zeichen enthalten |
|
Inkonsistent #ifdef/#endif |
|
Funktionsergebnis kann kein Objekt der Klasse sein, weil es keine Kopierkonstruktor gibt |
|
Verwenden Sie keine nicht-statische Glieder und/oder Methoden für Initialisierung statischer Variablen |
|
OnTesterInit() kann nicht ohne Deklaration von OnTesterDeinit() verwendet werden |
|
Name der Lokalvariable ist mit dem Namen eines der Funktionsparameter gleich |
|
Makros __FUNCSIG__ und __FUNCTION__ können nicht außerhalb des Funktionskörpers verwendet werden |
|
Ungültiger Rückgabetyp. Dies ist ein Fehler für aus DLL importierten Funktionen, die eine Struktur oder einen Zeiger zurückgeben |
|
Fehler bei der Anwendung der Vorlage |
|
Nicht verwendet |
|
Ungültige Syntax bei der Deklaration einer rein virtuellen Funktion, nur "=NULL" oder "=0" erlaubt |
|
Nur virtuelle Funktionen können mit einem reinen Spezifizierer ("=NULL" oder "=0") deklariert werden |
|
Instanz von abstrakter Klasse kann nicht erstellt werden |
|
Für die dynamische Umwandlung mithilfe von dynamic_cast muss der Pointer auf benutzerdefinierten Typ als Zieltyp dienen |
|
Typ "Pointer auf Funktion" wird erwartet |
|
Pointer auf Methoden sind nicht verfügbar |
|
Fehler – der Typ des Pointers auf Funktion kann nicht definiert werden |
|
Typumwandlung wegen der privaten Vererbung nicht möglich |
|
Die Variable mit dem Modifikator const muss beim Deklarieren initialisiert werden |
|
Nur Methoden mit dem öffentlichen Zugriff können in einer Schnittstelle deklariert werden |
|
Ungültige Verschachtelung einer Schnittstelle innerhalb einer anderen Schnittstelle |
|
Eine Schnittstelle kann nur von einer anderen Schnittstelle abgeleitet werden |
|
Eine Schnittstele wird erwartet |
|
Die Schnittstellen unterstützen nur öffentliche Vererbung |
|
Die Schnittstelle kann keine Mitglieder enthalten |
|
Objekte der Schnittstelle können nicht direkt erstellt werden, verwenden Sie nur Vererbung |
|
Ein Spezifikator kann nicht in einer Vorwärtsdeklaration verwendet werden. |
|
Ein Ableitung aus der Klasse ist nicht möglich, da sie mit dem Spezifikator final deklariert wurde. |
|
Eine Methode, die mit dem Spezifikator final deklariert wurde, kann nicht redefiniert werden. |
|
Der Spezifikator final kann nur auf virtuelle Funktionen angewendet werden. |
|
Die Methode, die durch den Spezifikator override gekennzeichnet ist, überschreibt tatsächlich keine Basisklassenfunktion. |
|
Ein Spezifikator darf nicht bei der Definition einer Funktion, sondern nur bei einer Deklaration verwendet werden. |
|
Der Typ nicht auf den angegebenen umgewandelt werden |
|
Der Typ kann nicht für eine Ressource-Variable verwendet werden. |
|
Fehler in der Projektdatei |
|
Kann nicht als Mitglied einer union verwendet werden. |
|
Mehrdeutige Wahl des Namens, der Verwendungskontext sollte explizit definiert werden. |
|
Die Struktur kann nicht aus der DLL verwendet werden. |
|
Kann keine Funktion aufrufen, die durch den Spezifikator delete deklariert wurde. |
|
MQL4 wird nicht unterstützt. Um das Programm zu kompilieren, müssen Sie den MetaEditor aus dem Installationsverzeichnis des MetaTrader 4 verwenden. |