Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4229
Beiträge: 39207
Benutzer: 6.529
Aktive Benutzer: 255
Links: 80
Wir begrüßen unseren neuesten Benutzer: mt4user
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einem Tag
- mt4user
vor einem Tag
- htnob77
vor 2 Tagen
- pitpitrows...
vor 2 Tagen
- Neldam
vor 3 Tagen
- Gerik

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 71
Gesamt: 71
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 106
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
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 148
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Angel Beitrag anzeigen
(Nebenbei: Kann man die Schriftgröße / Farbe der Comment-Funktion eigentlich ändern?)
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 anzeigen
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
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 106
Angel befindet sich auf einem aufstrebenden Ast
Standard

Ok, Danke, war nur mal so eine Überlegung von mir. Das hilft mir jedenfalls schonmal weiter...!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 07:54 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------