Nachschlagewerk MQL5Grundlagen der SprachePreprozessorProgrammeigenschaften (#property) 

Programmeigenschaften (#property)

Bei jedem mql5-Programm können zusätzliche spezifische Parameter #property angegeben werden, die dem Client-Terminal helfen, Programme richtig zu bedienen. In erster Linie betrifft es Außeneinstellungen der Identifikatoren. Eigenschaften, beschrieben in Schaltdateien, werden völlig ignoriert. Eigenschaften müssen in der Haupt mql5-Datei vorbestimmt werden.  

#property Identifikator Wert

Compiler schreibt in Einstellungen des ausführenden Moduls erklärte Werte.
 

Konstante

Typ

Beschreibung

Symbol

string

Pfad zur Datei mit dem Bild, das als ein Icon des EX5-Programms verwendet werden soll. Pfadangaberegel sind die gleichen wie für die Ressourcen. Die Eigenschaft muss in dem Hauptmodul mit dem MQL5 Quellcode angegeben werden. Die Icondatei muss im ICO-Format sein.

Link

string

Verweis auf die Site der Gesellschaft-Hersteller

Copyright

string

Name der Gesellschaft-Hersteller

Version

string

Programmversion, nicht mehr als 31 Zeichen

Beschreibung

string

kurze Textbeschreibung des mql5-Programms. können einige descriptions vorhanden sein, jede von denen eine Textzeile beschreibt. Allgemeine Länge aller descriptions kann nicht mehr als  511 Zeichen unter Beachtung von Zeilenvorschubszeichen

stacksize

int

Die Stack Größe eines MQL5 Programms. Ein Stack ausreichender Größe wird benötigt, wenn Funktionen rekursiv aufgerufen werden.

Beim Start eines Skripts oder Expert Advisors wird ein Stack in Höhe von 8Mb reserviert, für Indikatoren gilt diese Eigenschaft nicht - das Stack ist immer gleich 1Mb.

Beim Start im Strategietester wird immer ein Stack von 16 MB reserviert.

Bibliothek

 

Bibliothek; wird von keiner Startfunktion zugeordnet, Funktionen mit dem Modifikator export können in andere  mql5-Programme importiert werden

indicator_applied_price

int

gibt Default-Wert für Feld "Apply to" vor. Kann einer der Enumerationswerte ENUM_APPLIED_PRICEvorgegeben werden. Wenn die Eigenschaft nicht vorgegeben wird, wird PRICE_CLOSE als Default-Wert verwendet

indicator_chart_window

 

Indikator im Chartfenster ausgeben

indicator_separate_window

 

Indikator in einem separaten Fenster ausgeben

indicator_height

int

Feste Höhe des Indikator-Unterfensters in Pixel (Eigenschaft INDICATOR_HEIGHT)

indicator_buffers

int

Anzahl der Puffer für Indikatorberechnung

indicator_plots

int

Anzahl der graphischen Reihen im Indikator

indicator_minimum

double

der untere Grenzwert der Skala für ein separates Fenster des Indikators

indicator_maximum

double

der obere Grenzwert der Skala für ein separates Fenster des Indikators

indicator_labelN

string

gibt Marke für N- graphische Serie vor, die im Fenster DataWindow dargestellt wird. Für graphische Serien, die mehrere Indikatorpuffer erfordern (DRAW_CANDLES, DRAW_FILLING und andere), werden die Markennamen durch Begrenzer vorgegeben ';'.

indicator_colorN

color

Farbe für Linienausgabe  N, wo N - Nummer einer graphischen Serie; Nummerierung fängt mit  1 an

indicator_widthN

int

Linienbreite in der graphischen Serie, wo N - Nummer der graphischen Serie; Numerierung mit  1

indicator_styleN

int

Linienstil in der graphischen Serie, der mittels des Werte aus ENUM_LINE_STYLE angegeben wird. N - Nummer einer graphischen Serie, Nummerierung fängt mit 1 an

indicator_typeN

int

Typ der graphischen Darstellung, der durch den Wert aus ENUM_DRAW_TYPE angegeben wird . N -  Nummer einer graphischen Serie, Nummerierung fängt mit 1 an

indicator_levelN

double

horizontaler Level N im eigenen Fenster des Indikators

indicator_levelcolor

color

Farbe der horizontalen Levels des Indikators

indicator_levelwidth

int

Breite der horizontalen Levels des Indikators

indicator_levelstyle

int

Stil der horizontalen Niveaus des Indikators

script_show_confirm

 

Ausgabe des Bestätigungsfensters vor dem Scriptablauf

script_show_inputs

 

Ausgabe des Fensters mit Eigenschaften vor dem Scriptablauf und Verbot, Bestätigungsfenster auszugeben

tester_indicator

string

Name des Benutzerindikators im Format "Name_des Indikators.ex5". Die für Testenerforderliche Indikatoren werden automatisch aus Aufruf der Funktionen iCustom() bestimmt, wenn der entsprechende Parameter von der Konstantzeile vorgegeben ist. Für andere Fälle (Verwendung der Funktion IndicatorCreate() oder Verwendung einer nicht Konstantzeile im Parameter, der den Namen des Indikator vorgibt) ist diese Eigenschaft erforderlich.

tester_file

string

Dateiname für Tester mit Angabe der Erweiterung, in Doppelanführungszeichen (als Konstantzeile). Die angegebene Datei wird dem Tester für Arbeit übertragen. Eingabeparameter für Testen müssen immer angegeben werden (wenn sie erforderlich sind)  

tester_library

string

Name der Bibliothek mit Erweiterung in doppelten Anführungszeichen. Eine Bibliothek kann sowohl die Erweiterung dll, als auch die Erweiterung ex5 haben. Die für das Testen erforderlichen Bibliotheken werden automatisch definiert. Aber wenn eine der Bibliotheken von einem benutzerdefinierten Indikator verwendet wird, muss man diese Eigenschaft verwenden.

tester_set

string

Der Name der Set-Datei mit den Werten und der Schrittweite der Input-Parameter. Die Datei wird dem Tester vor dem Testen oder der Optimierung übergeben. Die Dateiname muss samt einer Erweiterung und in doppelten Anführungszeichen als ein Constant-String angegeben werden.

 

Wenn Sie den Namen des Expert Advisors und die Nummer der Version im Namen einer Set-Datei als "<expert_name>_<number>.set" angeben, wird diese dem Download-Menü der Versionen der Parameter unter der Nummer der Version <number> automatisch hinzugefügt. Der Name "MACD Sample_4.set" bedeutet zum Beispiel, dass dies eine Set-Datei für den Expert Advisor "MACD Sample.mq5" mit der Versionsnummer 4 ist.

 

Um das Format zu untersuchen, ist es empfehlenswert, Einstellungen des Testens/der Optimierung im Strategietester zu speichern, und dann die auf solche Weise erstellte Set-Datei zu öffnen.

tester_no_cache

string

Während einer Optimierung speichert der Strategietester alle Ergebnisse der ausgeführten Durchläufe im Optimierungs-Cache, in dem das Testergebnis für jeden Satz von Eingangsparameter gespeichert wird. Dies ermöglicht es, die bereits erzielten Ergebnisse bei einer erneuten Optimierung mit den gleichen Parametern zu verwenden, ohne Zeit durch eine erneute Berechnung zu verschwenden.

 

Bei einigen Aufgaben (z.B. bei mathematischen Berechnungen) kann es jedoch notwendig sein, Berechnungen unabhängig von der Verfügbarkeit bereits erzielter Ergebnisse im Optimierungs-Cache durchzuführen. In diesem Fall sollte die Datei die Eigenschaft tester_no_cache enthalten. Die Testergebnisse werden weiterhin im Cache gespeichert, so dass Sie im Strategietester alle Daten zu den durchgeführten Durchläufen sehen können.

tester_everytick_calculate

string

Im Strategietester werden Indikatoren erst beim Zugriff auf ihre Daten berechnet, d.h. wenn die Werte von Indikatorpuffern angefordert werden. Dies ermöglicht eine deutlich schnellere Test- und Optimierungsgeschwindigkeit, da nicht bei jedem Tick Indikatorwerte bereitgestellt werden müssen.

 

Durch die Angabe der Eigenschaft tester_everytick_calculate können Sie die erzwungene Berechnung des Indikators bei jedem Tick aktivieren.

 

Die Indikatoren im Strategietester werden auch in den folgenden Fällen für jeden Tick zwingend berechnet:

 

Diese Funktion gilt nur für den Strategietester, während in den Terminals die Indikatoren immer bei jedem empfangenen Tick berechnet werden.

Beispiel für die Angabe der Beschreibung und Nummer einer Version

#property version     "3.70"      // laufende Expertversion
#property description "ZigZag universell mit Pesavento Patterns"
#property description "Zum jetzigen Zeitpunkt werden in Indikator mehrere ZigZag mit verschiedenen Algorithmen eingebaut"
#property description "Es ist möglich, eine große Anzahl anderer Indikatoren einzubauen, die Maxima und "
#property description "Minima zeigen und aus diesen Minima und Maxima verschiedene graphische Instrumente automatisch zu erzeugen"

Beispiel für die Angabe der Beschreibung und Nummer einer Version

 

Beispiel für die Angabe eines separaten Labels für jeden Indikatorpuffer ("C open;C high;C low;C close")

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   1
#property indicator_type1   DRAW_CANDLES
#property indicator_width1  3
#property indicator_label1  "C open;C high;C low;C close"

Beispiel für die Angabe eines separaten Labels für jeden Indikatorpuffer