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
Die Warnung wurde nur ausgegeben, weil die Prioritäten in MQL5 anders sind. Nicht weil ...
Die Entwickler haben also ihre früheren Fehler behoben... nicht mehr als das
Stimmt auchhier etwas mit den Prioritäten nicht?
Stimmt auchhier etwas mit den Prioritäten nicht?
Sie sind in MQL5 und dem alten MQL4 unterschiedlich... Ich dachte, Sie hätten das bereits gelesen
Eine Liste der Unterschiede, bitte.
Eine Liste der Unterschiede, bitte.
Können Sie es nicht selbst machen? Klicken Sie auf die obigen Links?
MQL5 und neues MQL4
Operation
Beschreibung
Ausführungsanordnung
&&
Logische UND-Verknüpfung
Von links nach rechts
||
Logische Verknüpfung OR
Von links nach rechts
Alter MQL4
||
Logische Verknüpfung OR
Von links nach rechts
&&
Logische UND-Verknüpfung
Von links nach rechts
Je höher die Priorität einer Vorgangsgruppe ist, desto höher ist sie in der Tabelle platziert.
Ihr Beispiel:
bool a = r && g || b;
Es wäre bequemer, wenn der Compiler die Klammern automatisch "richtig" anordnen würde, so wie es Excel macht, wenn man eine unvollständige Formel schreibt.
Im Allgemeinen gibt es spezielle Programmiersprachen für Klammerliebhaber - LISP. Hier ein Auszug aus einer Suchmaschine: "Dieser Stil ist ein bisschen wie die LISP-Sprache. Aber in LISP ist die große Anzahl von Klammern auf die fehlende Priorisierung von Operationen zurückzuführen."
Im Allgemeinen gibt es für Fans von Klammern spezielle Programmiersprachen - Simula, LISP. Hier ein Auszug aus einer Suchmaschine: "Dieser Stil ist ein bisschen wie die LISP-Sprache. Aber in LISP ist die große Anzahl von Klammern auf die fehlende Priorität der Operationen zurückzuführen."
Es ist gut, dass der Compiler vor etwas warnt, das Entwickler plötzlich in der bisherigen Logik ändern. Wenn die gleichen Warnungen bei Funktionsaufrufen wie ArrayMaximum nach der Migration des Codes von mql4 gegeben worden wären, hätte ich zu meiner Zeit viel Zeit und Nerven gespart (sie haben die Parameter eines Typs frei vertauscht, falls Ihnen das nicht bewusst ist).
Es ist gut, wenn der Compiler Sie vor etwas warnt, das die Entwickler plötzlich in der bisherigen Logik ändern.
Das stört mich nicht. Lassen Sie diese Warnungen einfach im alten MQL4 stehen.
Wenn die gleichen Warnungen bei Funktionsaufrufen wie ArrayMaximum nach der Übernahme von Code aus mql4 ausgegeben worden wären, hätte ich zu meiner Zeit viel Zeit und Nerven gespart (sie haben die gleichen Parameter frei getauscht, falls Sie das nicht wissen)
Nun, sie werden nicht ausgegeben. Das ist es, was selektive Kodierung so schlecht macht - es schafft die Illusion, dass der Compiler sich um alles kümmert (also entweder alles oder nichts).
Nicht alle mql-Programmierer sind Profis, und die Entwickler des Terminals und der Sprache für Händler müssen dies nicht zuletzt berücksichtigen.
Ganz genau! Ich war nie ein Profi, aber solche Warnungen haben mir schon 100 Mal geholfen.