|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
(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)); } 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 |
|
|||
Zitat:
Ok, aus folgenden Gründen findet ein DeInit und damit ein Neustart und Neueinlesen des ganzen Codes statt: 1. ändern des Symbols oder Timeframes (Dein Zeitwechsel) 2. ändern einer Benutzerangabe (Dein Rechtsklick ...) 3. entfernen vom Chart Das Neukompilieren stoppt also den EA nicht und lädt ihn somit auch nicht neu. Zitat:
|
Lesezeichen |
|
|