Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 14.05.19
Angel Angel ist offline
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard (Globale) Variable "resetten" ?

Hallo,
ich habe da ein (Verständnis)-Problem, wobei ihr mir hoffentlich helfen könnt!
Wenn ich den Code im MetaEditor kompiliere, so ist doch der "alte" Code nicht mehr existent, sondern nur der "neue", kompilierte.
Nun habe ich folgendes Programm:
Code:
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input int Abstand_in_Pipetten=10;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
Comment(" Abstand_in_Pipetten=  ",Abstand_in_Pipetten,"       EMA= ",NormalizeDouble(iMA(Symbol(),1,5,0,1,0,0),5));
  }
Dieser Mini-EA ist im MT4 aktiv und der Wert "Abstand_in_Pipetten" wird mit "10" im Bildschirm angezeigt. (Nebenbei: Kann man die Schriftgröße / Farbe der Comment-Funktion eigentlich ändern?)
Der Wert einer EMA (Willkürlich mal die 1er mit Periode 5) wird in der selben Comment-Zeile ebenfalls angezeigt und verändert sich mit jedem Tick.

Ändere ich die "10" im Code auf einen anderen Wert, z.B. "5" und drücke auf "Kompilieren", so ändert sich der auf dem Bildschirm angezeigte Wert NICHT. Die EMA ändert sich dennoch munter weiter.
Erst, wenn ich einen anderen Timeframe anklicke als den aktuellen, so wird der Wert "Abstand_in_Pipetten" auf den im Code eingestellten Wert verändert.

Wenn ich jedoch im Fenster des MT4 "Rechte Maustaste/Experten/Eigenschaften/Eingaben" den Wert "Abstand_in_Pipetten" verändere, so wird dieser veränderte Wert nach Drücken von "Ok" sofort angezeigt.

Nun, wie kann man denn den Wert "Abstand_in_Pipetten" im laufenden Betrieb des EA ändern? Ich denke daran, wenn ich den EA auf einem VPS laufen lasse und eine Einstellung ändere, so wird diese dann ja auch nicht einfach übernommen, ohne dass ich den aktuellen Timeframe wechsele und ggf. wieder zurückschalte?
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang