Fehlermeldung nicht nachvollziehbar

 

Hallo an alle,

ich bin neu hier und habe vor kurzem erst mit MQL5 angefangen.

Folgendes Problem. Ich habe einen kurzen EA gesschrieben und wollte eine Variable von static in "non static" ändern.

konkret

vorher: (Kompillieren brachte keinen Fehler)

static bool unGrenzeErreicht = false;

nachher:

input bool unGrenzeErreicht = false;

Fehlermeldung: 'unGrenzeErreicht' - constant can not be modified

Vielen Dank für Eure Hilfe.

Steffen

 

Du kannst Eingabevariablen und static Variablen nicht im Code verändern.

Du musst hier eine andere Lösung finden, wenn Du diese Parameter verändern willst

 
Angeltrader185:

Hallo an alle,

ich bin neu hier und habe vor kurzem erst mit MQL5 angefangen.

Folgendes Problem. Ich habe einen kurzen EA gesschrieben und wollte eine Variable von static in "non static" ändern.

konkret

vorher: (Kompillieren brachte keinen Fehler)

static bool unGrenzeErreicht = false;

nachher:

input bool unGrenzeErreicht = false;

Fehlermeldung: 'unGrenzeErreicht' - constant can not be modified

Vielen Dank für Eure Hilfe.

Steffen

Lies einfach mal nach in der Doku:

  1. https://www.mql5.com/de/docs/basis/variables/static
  2. https://www.mql5.com/de/docs/basis/variables/inputvariables

Das eine durch das andere zu ersetzen geht nicht.

Übrigens: setz mal den Kursor zB. auf input und drück F1 (Zaubertaste) => meist gibt es Beispiele für korrektes Programmieren - ist viel schneller und ausführlöicher als eine Antwort hier!!

Dokumentation zu MQL5: Grundlagen der Sprache / Variablen / Statische Parameter
Dokumentation zu MQL5: Grundlagen der Sprache / Variablen / Statische Parameter
  • www.mql5.com
Statische Variable kann durch die ihrem Typ entsprechende Konstante  oder Konstantausdruck initialisiet werden, zum Unterschied von einfacher lokalen Variable, die von jedem Ausdruck  initialisiert werden kann.   Statische Variablen existieren seit Programmdurchführung und werden einmalig vor dem Aufruf spezialisierter Funktion OnInit...