Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 846

Warning: Invalid argument supplied for foreach() in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 847

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 851

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w00ca37d/wiki/includes/MagicWord.php on line 872
MQLBook:Program Types – MetaTrader Wiki

MQLBook:Program Types

Aus MetaTrader Wiki
Wechseln zu: Navigation, Suche
(Program Types)
 
(Programmausführung: Rechtschreibung)
 
Zeile 42: Zeile 42:
  
 
=Programmausführung=
 
=Programmausführung=
...
+
Das hauptsächliche Unterscheidungsmerkmal zwischen einem Expert Advisor und einem Indikator zu Scripts ist ihre Laufzeit.  
 +
 
 +
'''Expert Advisor''' und '''Indikator''': Sobald das Programm (EA oder benutzereigener Indikator) auf ein Chart gesetzt ist, nimmt das Programm einige Initialisierungen vor und fällt in den Wartemodus. Sobald ein neuer Tick herein kommt wird das Programm durch den Client (MT4) gestartet. Dann werden alle Operationen laut hinterlegtem Algorithmus abgearbeitet. Nach Abschluss verfällt das Programm wieder in den Wartemodus.
 +
 
 +
Wenn ein neuer Tick herein kommt, während das Programm bereits (aufgrund eines vorausgehenden Ticks) läuft, so bleibt der ursprüngliche Programmablauf ungestört. Erst mit dessen vollständiger Ausführung wird die Kontrolle an den Client zurückgegeben. Dadurch kann es passieren, dass nicht alle Ticks eine Abarbeitung des Programmcodes herbeiführen. Dies geschieht, wenn ein Tick schneller kommt, als ein Programmdurchlauf dauert.
 +
 
 +
Ein Expert Advisor bzw. Indikator kann eine lange Zeit dem Chart zugeordnet sein, ohne ausgeführt zu werden. Genauso wird der Programmcode mehrfach hintereinander durchlaufen, wenn mehrere Ticks nacheinander herein kommen.
 +
 
 +
Ein Expert Advisor unterscheidet sich von einem Indikator durch die Ausführungsreihenfolge beim erstmaligen Start. Sobald ein Expert Advisor auf ein Chart gesetzt wird, durchläuft er eine Vorbereitungsroutine (''function init()'') und geht in den Wartemodus, welcher mit jedem Tick die Funktion ''start()'' ausführt. Ein Indikator hingegen führt die Funktionen ''init()'' und ''start()'' erstmalig beide aus, um den Indikatorwert zu berechnen. Später, mit jedem Tick, wird nur noch ''start()'' aufgerufen.
 +
 
 +
 
 +
'''Script''': Entgegen Expert Advisors oder Indikatoren, wird ein Script sofort ausgeführt sobald es auf ein Chart gesetzt wird. Es wird nicht auf einen Tick gewartet. Der Programmcode wird einmalig vollständig durchlaufen. Mit Abschluss wird das Script beendet und vom Chart entladen. Ein Script ist also hilfreich, um einmalige Operationen (wie z.B. Öffnen oder Schließen von Positionen, Texte darstellen, grafische Objekte zeischnen etc.) abzusetzen.
  
 
=Handeln=
 
=Handeln=

Aktuelle Version vom 9. Mai 2012, 22:20 Uhr