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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36910
Benutzer: 6.077
Aktive Benutzer: 493
Links: 80
Wir begrüßen unseren neuesten Benutzer: Batangenyo
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 15 Stunden
- Batangenyo
vor einem Tag
- Spitzmaus
vor einem Tag
- juleslesqu...
vor 2 Tagen
- hmf44
vor 2 Tagen
- Crossa

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

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 20.08.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard Gültigkeit globaler Variablen

Es geht um globale Variablen. Angenommen mein EA enthält u.a. folgendes:

Globale bool Variable:
Offene_Orders=false;

In der Tick-Function steht sinngemäß folgendes:
ist eine offene Order vorhanden, setze die Variable Offene_Orders auf true.

Da eine offene Order vorhanden ist wird die Variable Offene_Orders auf true gesetzt.
Bevor nun der nächste Tick kommt, wird die Order z.B. manuell gelöscht.

Beim nächsten Tick steht die Variable Offene_Orders immer noch auf true, obwohl keine offene Order mehr da ist, da die globalen Variablen bei einem neuen Tick nicht erneut eingelesen werden sondern nur das ausgeführt wird, was in der Tick-Function steht.

Ist es dann in diesem Fall notwendig, die Definition
Offene_Orders=false;
nicht als globale Variable sondern in der Tick-Function zu definieren?

Gruß
Dick
  #2 (permalink)  
Alt 20.08.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich würde das wie immer so lösen:
Code:
void CheckOpenOrders() {
   int ticketnumber = 0;
   bool result;
   int cnt;
   OrderBuy = false; 
   OrderSell = false;
   .....
}
D.h. diese Funktion wird immer mit als erstes angesprungen. Und die Variablen OrderBuy bzw. OrderSell werden nur dann true, wenn auch tatsächlich eine Buy- und/oder SellOrder offen ist.

Ob nun als globale oder als lokale Variablen, hängt vom Ort des späteren Gebrauchs ab. Sollen diese Variablen funktionsübergreifend benutzt werden, dann sollten es globale sein, außer die Werte werden mit der Funktion rückübergeben.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 21.08.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank traderdoc und mal ein Lob an Dich, dass Du hier immer so fleißig antwortest, auch wenn die Fragen für Dich bestimmt oft zum Gähnen sind...

Aber ich kämpfe mich weiter durch ... und ... es macht mir richtig Spaß! Allerdings leidet im Moment meine Familie etwas, denn sobald ich von der Arbeit nach Hause komme, gehts nach einem kurzen Käffchen direkt an den Laptop. Und abends muss mich meine Frau fast ins Bett prügeln
  #4 (permalink)  
Alt 21.08.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dick_Turpin Beitrag anzeigen
... und ... es macht mir richtig Spaß! ... Und abends muss mich meine Frau fast ins Bett prügeln
Ja!, das kenne ich nur zu gut, also Ersteres!
Zum Prügeln kommt sie nicht.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
globale variable, globale variablen, gültigkeit, gültigkeit globale variablen, gültigkeit variablen, mql4, programmierung, programmierung metatrader, variblen


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 +1. Es ist jetzt 08:19 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 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.
-----------------------------------------------------------------------------------------------------------------------------