Ok, ein einfaches Beispiel. Die Variable
test wird zu einem Zeitpunkt während des Betriebes auf 20 gesetzt.
Rufe ich mit F7 die Einstellungen auf und klicke ok, dann sehe ich über die Zeile bei init(), Print("test init ", test );, dass diese Variable noch den Wert 20 beibehalten hat, obwohl der EA mit neuen Einstellungen gestartet wurde.
Ich hatte schon die Befehle bei mql durchgeschaut, leider nichts gefunden, sodass ich mit einem Befehl den Speicher der Variablen nullen kann. Alles nur Einzelabfertigung, was bei vielen Variablen gern zu Fehlern führt.
PHP-Code:
extern int Magic = 1001;
extern double BaseLot = 0.01;
extern int TakeProfit = 0;
extern int StopLoss = 200;
string Version;
int bm, test = 0;
//----
int init()
{
Version = "EA_Test";
bm = 1;
if(MarketInfo(Symbol(),MODE_DIGITS) == 5 || MarketInfo(Symbol(),MODE_DIGITS) == 3) bm = 10;
if(TakeProfit>0) TakeProfit = TakeProfit * bm;
if(StopLoss>0) StopLoss = StopLoss * bm;
//----
Print("test init ", test );
return(0);
}
//----
int deinit()
{
//----
return(0);
}
//----
int start()
{
Print("test start ", test );
....
//----