Build 646: Bool-Variablen geben nicht die richtigen Einstellungen an - Seite 4

 
deysmacro:
Es ist besser, dass MetaQuotes die Möglichkeit bietet, dass der Benutzer entscheiden kann, ob er nach der Neukompilierung zurückgesetzt werden möchte oder nicht, oder? Ja, ich stimme zu.
 
alop: Ich verstehe Ihr Beispiel mit EXTERN nicht, das mit Großbuchstaben geschrieben ist?
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
Solange die #define auskommentiert ist, gibt es keine Externs. Entkommentieren Sie, dann werden ALLE extern.
 

WHRoeder... Ich bin immer noch ein wenig verwirrt über das, was Sie sagen...

Wie würde also der Code geschrieben werden, um Variablenänderungen in den Diagrammen bei der Neukompilierung zu erzwingen?

Dies ist für viele von uns eine große Sache - ich denke aus BEIDEN Perspektiven...

Einige Leute wollen nicht, dass sich die Variablen beim Neukompilieren ändern - und das verstehe ich TOTAL...

Aber für andere - die 30+ Paare laufen haben - ist es ein DISASTER, in jedem Chart auf "Reset" klicken zu müssen...

Wie auch immer, ich denke, was Sie sagen, ist die obige Code-Änderung wird entweder erzwingen Variable Änderungen, oder nicht...

Könnten Sie bitte ein Beispiel geben, etwa so:

Variablenänderung erzwingen:

(Beispiel hier)

Keine Variablenänderung erzwingen:

(Beispiel hier)

Ich denke, die obigen Ausführungen wären für beide Seiten dieses Szenarios sehr hilfreich...

Vielen Dank für Ihre Hilfe!

 

Außerdem - Wenn wir die Variablenänderungen in den aktiven Diagrammen erzwingen wollen (eas) - gibt es nicht eine Cache-Datei, die wir einfach löschen können, um die Variablenänderung beim Neukompilieren zu erzwingen?

Ich habe versucht, sie zu finden - aber die gespeicherten Werte scheinen irgendwo in einer geheimnisvollen Datei versteckt zu sein...

Nochmals vielen Dank für Ihre Hilfe...

Die obigen Code-Beispiele würden es auch tun, aber es wäre schön zu wissen, wo die Cache-Einstellungen zu finden sind - als weitere Abhilfe....

 

Also auch...

Wenn ich die Zeile ändere

#define EXTERN extern 

extern typenname var1=...;

in

#define EXTERN extern 

define extern typename var1=...;

Ich erhalte eine Fehlermeldung - externe Variablen wurden bereits definiert...

Also - ich denke - Ihr Workaround scheint verwirrend zu sein, könnten Sie das bitte klären...

Vielen Dank!

 
whistler:

Also auch...

Wenn ich die Zeile ändere

extern typenname var1=...;

in

define extern typename var1=...;

Ich erhalte eine Fehlermeldung - externe Variablen wurden bereits definiert...

Also - ich denke - Ihr Workaround scheint verwirrend zu sein, könnten Sie das bitte klären...

Vielen Dank!

Versuchen Sie dies:

#define EXTERN und hier nichts einfügen

EXTERN bool trade1 =true; <= Fügen Sie EXTERN ein, wo normalerweise extern steht.

EXTERN bool trade2 =true;

EXTERN bool trade3 = false;

Wenn Sie die Externs am Anfang einfügen wollen, machen Sie folgendes:

#define EXTERN extern

Wenn Sie extern entfernen wollen, tun Sie dies:

#define EXTERN stellen Sie sicher, dass Sie extern wie folgt entfernen

#define EXTERN

Andy

 

Ein manueller Eingabedialog ist in der Regel in der Kodierungsphase nicht erforderlich, so dass Sie den externen Modifikator erst dann verwenden, wenn die Kodierungsänderungen abgeschlossen sind.

// will not reset on recompile unless the value is changed in the code.
extern int Var1 = 20;
extern int Var2 = 40;
//will always reset on recompile
int Var1 = 20;
int Var2 = 40;
 

Tolles Zeug... Vielen Dank so viel...

Ich habe extern entfernt und neu kompiliert, aber als ich MetaTrader startete und mir die EA-Einstellungen im Chart ansah, waren die Variablen, aus denen ich extern entfernt hatte, komplett verschwunden... Ich schloss MetaTrader und startete MetaEditor erneut...

Ich fügte extern wieder ein - kompilierte erneut - und startete dann MetaTrader neu - die Variablen wurden wieder in den EA eingefügt - und die Variablen wurden mit den neuen Variableneinstellungen aktualisiert...

So - es hat funktioniert - DANKE TON! :) Soopa stahs!

 
whistler: WHRoeder... Ich bin immer noch ein wenig verwirrt, was Sie sagen...
Diese
Gleiche wie
// #define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
#define EXTERN extern
EXTERN typename var1=...;
EXTERN typename var2=...;
extern typename var1=...;
extern typename var2=...;
#define EXTERN /*EMPTY*/
EXTERN typename var1=...;
EXTERN typename var2=...;
typename var1=...;
typename var2=...;
 

Hallo!

Nach der Neukompilierung (F5), gehen Sie zu EA, öffnen Sie die Eingaben (F7) - unten rechts befindet sich die Schaltfläche "Zurücksetzen". Wenn Sie darauf klicken, wird der EA auf die (hart-)kodierten Werte zurückgesetzt.

Ich habe eine Weile gebraucht, um das herauszufinden... LOL. Wunder gibt es wirklich. Genauso wie Scheiße. LOL

Mit freundlichen Grüßen,

Simon

S Liebe Nia