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_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: Abschnitt gefüllt)
Zeile 42: Zeile 42:
  
 
=Programmausführung=
 
=Programmausführung=
...
+
Das hauptsächliche Unterscheidungsmerkmal zwischen einem Expert Advisor und einem Indikator zu Scrpts 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.
 +
 
 +
There is a criterion that distinguishes Expert Advisors and custom indicators from scripts. This is their run duration. In the section Some Basic Concepts, we mentioned already that programs were launched the amount of time that is multiple of the amount of ticks. This statement is true for EAs and custom indicators, but it is false for scripts.
 +
 
 +
Wenn ein neuer Tick herein kommt, während das Program 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 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=

Version vom 9. Mai 2012, 22:18 Uhr