MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 34

 

Beim Neustart des Terminals starten die im Chart verbliebenen EAs nicht von selbst, auch nicht durch Drücken der Schaltfläche "Experten" und auch nicht durch Zurücksetzen der Parameter.

// Erst das Töten und erneute Starten erweckt sie zum Leben.

 
artmedia70:

Es ist jedoch nicht mehr möglich, die Werte von externen Variablen, die ihnen ursprünglich zugewiesen wurden, während der Ausführung des Programms zu ändern?

Dies ist von MQL5: https://www.mql5.com/ru/docs/basis/variables/inputvariables

Die Eingabeparameter sind konstant.

 
artmedia70:

Aber es ist nicht mehr möglich, die Werte von externen Variablen, die ihnen ursprünglich zugewiesen wurden, während der Ausführung des Programms zu ändern?

Das ist nicht sehr praktisch. Ich werde noch einen machen müssen...

Theoretisch war es auch früher nicht empfehlenswert, Externen Werte zuzuweisen. Nun, wir haben natürlich gesündigt.

Dieser Weg (der neue Weg) ist natürlich richtiger. Gewöhnen wir uns daran ;)

 
komposter:

Theoretisch war es auch vorher nicht empfehlenswert, Externen Werte zuzuweisen. Obwohl wir natürlich gesündigt haben.

Dieser Weg (der neue Weg) ist natürlich richtiger. Gewöhnen wir uns daran ;)

Nun, wenn es richtig ist, dann... bereits eine andere Variable erstellt.

Es ist schlecht und unpraktisch, wenn es viele externe Variablen gibt und jede einzelne im Laufe des Spiels geändert werden muss - für jede externe Variable, die während der Berechnungen geändert werden muss, muss eine Variable hinzugefügt werden.

Wie auch immer...

 
artmedia70:

Wenn es richtig ist, dann... Ich habe bereits eine weitere Variable erstellt.

Es wäre schlecht und unpraktisch, wenn es viele externe Variablen gibt und jede einzelne im Laufe des Spiels geändert werden muss - für jede externe Variable muss eine hinzugefügt werden, die während der Berechnungen geändert werden muss.

Aber was soll's...

Wir müssen auch nach Pluspunkten suchen... Zum Beispiel sollte der Name einer Variablen durch einen Alias ihrer Beschreibung ersetzt werden )

Ändern Sie das externe Element mit dem Namen Var in extVar, fügen Sie seinen Alias nach // ein (falls noch nicht vorhanden) und deklarieren Sie darunter Var und fügen Sie Var = extVar in die Init ein.

Immer noch besser als Strg+H (ist die Funktion übrigens immer noch fehlerhaft?).

 

Wenn Sie die Eingabeparameter des Indikators ändern, werden die neuen Parameter erst wirksam, nachdem Sie den Indikator aus dem Chart entfernt und neu gestartet haben. Das ist ein Problem...

Eine Änderung des Zeitrahmens ist nicht möglich.

 
komposter:

Man muss auch nach Pluspunkten suchen... Zum Beispiel wird der Variablenname durch eine Alias-Beschreibung ersetzt)

Ändern Sie extern mit dem Namen Var in extVar, fügen Sie seinen Alias nach // ein (falls er nicht bereits vorhanden ist) und deklarieren Sie Var unten und fügen Sie Var = extVar in inite ein.

Immer noch besser als Strg+H (ist die Funktion übrigens immer noch fehlerhaft?).

Nun, das ist so ziemlich das, was ich getan habe. Ich bin etwas verwirrt über das Aliasing. Die kommentierten Zeichenfolgen nach einer externen Variablen erscheinen in der Beschreibung dieser Variablen in den Eingabeparametern - das ist großartig. Aber was bedeutet "Alias" einer Variablen?

Was die Störung von Strg+H betrifft, so habe ich sie in früheren Versionen auch nicht bemerkt. Wenn ich sie finden und ersetzen musste, habe ich sie gefunden und ersetzt. Was war daran vorher problematisch?

 
artmedia70:

Wenn die Eingabeparameter des Indikators geändert werden, werden die neuen Parameter erst wirksam, nachdem der Indikator aus dem Chart entfernt und neu gestartet wurde. Das ist ein Problem...

Eine Änderung des Zeitrahmens ist nicht möglich.


Das ist bei jedem anders, bei mir ändert sich alles, wenn ich den Zeitrahmen ändere, aber im Code wird die Statik bei der Neuinitialisierung zurückgesetzt, vielleicht ist das bei Ihnen nicht in Ordnung?
 
ALXIMIKS:

Das ist bei jedem anders, bei mir ändert sich alles, wenn ich thef umschalte, aber im Code wird die Statik bei der Neuinitialisierung auf Null gesetzt, vielleicht ist dein Code dadurch nicht in Ordnung?
Ich habe keine statischen Variablen in meinem Code, nur externe
 
artmedia70:

Wenn Sie die Eingabeparameter des Indikators ändern, werden die neuen Parameter erst wirksam, nachdem Sie den Indikator aus dem Chart entfernt und neu gestartet haben. Das ist ein Problem...

Eine Änderung des Zeitrahmens ist nicht möglich.

Dies stammt von MT5. Das klingt für mich sehr richtig.