Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   (Globale) Variable "resetten" ? (http://www.expert-advisor.com/forum/showthread.php?t=6416)

Angel 14.05.19 06:25

(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?:confused::confused:)
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?

AVT 15.05.19 00:59

Zitat:

Zitat von Angel (Beitrag 42435)
(Nebenbei: Kann man die Schriftgröße / Farbe der Comment-Funktion eigentlich ändern?:confused::confused:)

Ich habe noch keine Möglichkeit gefunden :(

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:

Zitat von Angel (Beitrag 42435)
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?

Wie willst Du den Wert denn anders ändern als durch eine Benutzereingabe? Du hast es doch extra so geschrieben, daß der Benutzer beim Start des EA die Pipettenzahl angeben muß. AVT

Angel 18.05.19 08:35

Ok, Danke, war nur mal so eine Überlegung von mir. Das hilft mir jedenfalls schonmal weiter...!


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:32 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum