Référence MQL5Concepts de Base du LangagePréprocesseurPropriétés du Programme (#property) 

Propriétés du Programme (#property)

Chaque programme mql5 permet de spécifier des paramètres spécifiques supplémentaires préfixés #property qui aident le terminal client à présenter le programme sans avoir besoin de le lancer explicitement. Ceci concerne avant tout les paramètres externes des indicateurs. Les propriétés décrites dans les fichiers inclus sont complètement ignorées. Les propriétés doivent être spécifiées dans le principal fichier mq5.

#property identifiant valeur

Le compilateur écrira les valeurs déclarées à la configuration du module exécuté.

Constante

Type

Description

icone

string

Chemin vers le fichier d'une image qui sera utilisée comme icone du programme EX5. Les règles de spécification du chemin sont les mêmes que pour les resources. La propriété doit être spécifiée dans le module principal avec le code source MQL5. Le fichier de l'icone doit être au format ICO.

link

string

Lien vers le site Internet de la société

copyright

string

Le nom de la société

version

string

Version du programme, maximum 31 caractères

description

string

Description textuelle brève du programme mql5. Plusieurs descriptions peuvent être présentes, chacune d'elle décrit une ligne de texte. La longueur totale de toutes les descriptions ne doit pas être supérieure à 511 caractères, incluant les retours chariot.

stacksize

int

Taille de la pile du programme MQL5. Une pile de taille suffisante est nécessaire lors de l'exécution d'appels récursifs de fonctions.

Lors du lancement d'un script ou d'un Expert Advisor sur le graphique, une pile d'au moins 8 Mo est allouée. Dans le cas des indicateurs, la taille de la pile est toujours fixée et égale à 1 Mo.

Lorsqu'un programme est lancé dans le strategy tester, une pile de 16 Mo est toujours allouée.

library

 

Une bibliothèque de code ; aucune fonction de lancement n'est assignée, les fonctions ayant le modificateur export peuvent être importées dans d'autres programmes mql5

indicator_applied_price

int

Spécifie la valeur par défaut du champ "Appliqué à". Vous pouvez spécifier l'une des valeurs de ENUM_APPLIED_PRICE. Si la propriété n'est pas configurée, la valeur par défaut est PRICE_CLOSE

indicator_chart_window

 

Affiche l'indicateur dans la fenêtre principale du graphique

indicator_separate_window

 

Affiche l'indicateur dans une fenêtre séparée

indicator_height

int

Hauteur fixe de la sous-fenêtre de l'indicateur, en pixels (propriété INDICATOR_HEIGHT)

indicator_buffers

int

Nombre de buffers pour les calculs de l'indicateur

indicator_plots

int

Nombre de séries graphiques dans l'indicateur

indicator_minimum

double

La valeur limite basse pour la fenêtre séparée de l'indicateur

indicator_maximum

double

La valeur limite haute pour la fenêtre séparée de l'indicateur

indicator_labelN

string

Définit le label pour la N-ième série graphique affichée dans la Fenêtre des Données Pour les séries graphiques nécessitant plusieurs buffers (DRAW_CANDLES, DRAW_FILLING et autres), les noms des étiquettes sont définis en utilisant le séparateur ';'.

indicator_colorN

color

La couleur d'affichage de la N-ième ligne, où N est le numéro de la série graphique ; la numérotation commence à 1

indicator_widthN

int

L'épaisseur de la N-ième ligne, où N est le numéro de la série graphique ; la numérotation commence à 1

indicator_styleN

int

Le style de ligne de la série graphique, spécifié par les valeurs de ENUM_LINE_STYLE. N est le numéro de la série graphique ; la numérotation commence à 1

indicator_typeN

int

Le type du dessin graphique, spécifié par les valeurs de ENUM_DRAW_TYPE. N est le numéro de la série graphique ; la numérotation commence à 1

indicator_levelN

double

Valeur du N-ième niveau horizontal dans la fenêtre séparée d'un indicateur

indicator_levelcolor

color

Couleur des niveaux horizontaux de l'indicateur

indicator_levelwidth

int

Epaisseur des niveaux horizontaux de l'indicateur

indicator_levelstyle

int

Style des niveaux horizontaux de l'indicateur

script_show_confirm

 

Affiche une fenêtre de confirmation avant de lancer le script

script_show_inputs

 

Affiche la fenêtre des propriétés avant d'exécuter le script et désactive la fenêtre de confirmation

tester_indicator

string

Nom d'un indicateur personnalisé au format "nom_indicateur.ex5". Les indicateurs nécessitant d'être testés sont définis automatiquement à partir de l'appel de la fonction iCustom(), si le paramètre correspondant est défini par une chaîne de caractères constante. Pour tous les autres cas (utilisation de la fonction IndicatorCreate() ou utilisation d'une chaîne de caractères non constante dans le paramètre définissant le nom de l'indicateur), cette propriété est nécessaire

tester_file

string

Le nom du fichier d'un testeur avec son extension, entre guillemets (comme une chaîne de caractères constante). Le fichier spécifié sera passé au testeur. Les fichiers d'entrée à tester, s'il y en a, doivent toujours être spécifiés.

tester_library

string

Le nom d'une bibliothèque de code avec son extension, entre guillemets. Une bibliothèque peut avoir une extension de type 'dll' ou 'ex5'. Les bibliothèques qui doivent être testées sont définies automatiquement. Cependant, si l'une des bibliothèques est utilisée par un indicateur personnalisé, cette propriété est requise

tester_set

string

Le nom fichier .set avec les valeurs des paramètres d'entrée. Le fichier est passé au testeur avec le test et l'optimlisation. Ce nom de fichier est spécifié avec l'extension et entre guillemets sous la forme d'une chaîne de caractères constante.

 

Si vous spécifiez le nom de l'EA et le numéro de la version sous la forme "<nom_expert>_<version>.set" dans le nom du fichier, il est alors automatiquement ajouté au menu de téléchargement des versions du paramètre. Par exemple, le nom "MACD Sample_4.set" signifie que c'est un fichier de valeurs de paramètres pour l'EA "MACD Sample.mq5" et la version 4.

 

Pour définir le format, nous vous recommandons de sauvegarder manuellement les paramètres de test/optimisation dans le testeur de stratégie et d'ouvrir ensuite le fichier .set créé de cette façon.

tester_no_cache

string

Lorsque vous effectuez une optimisation, le strategy tester sauvegarde tous les résultats des passes exécutées dans le cache d'optimisation, dans lequel le résultat du test est sauvegardé pour chaque ensemble de paramètres d'entrée. Ceci permet d'utiliser les résultats déjà prêts lors d'une seconde optimisation des mêmes paramètres sans perdre de temps à recalculer.

 

Mais dans certaines tâches (par exemple des calculs mathématiques), il peut être nécessaire de refaire les calculs indépendamment de la disponibilité de résultats déjà effectués dans le cache d'optimisation. Dans ce cas, le fichier devrait inclure la propriété tester_no_cache. Les résultats de test sont toujours stockés dans le cache, vous pouvez donc voir toutes les données des passes effectuées dans le strategy tester.

tester_everytick_calculate

string

Dans le Strategy Tester, les indicateurs ne sont calculés que lorsque vous accédez à ses données. Ceci accélère grandement la vitesse du test et de l'optimisation, si vous n'avez pas besoin d'obtenir les valeurs de l'indicateur à chaque tick.

 

En spécifiant la propriété tester_everytick_calculate, vous pouvez activer le calcul forcé de l'indicateur sur chaque tick.

 

Les calculs des indicateurs dans le Strategy Tester sont également forcés sur chaque tick dans les cas suivants :

 

Cette fonctionnalité ne s'applique qu'au Strategy Tester, les indicateurs du terminal sont toujours calculés sur chaque tick reçu.

optimization_chart_mode

string

Spécifie le type du graphique et les noms de 2 paramètres d'entrée qui seront utilisés pour la visualisation des résultats de l'optimisation. Par exemple, "3d, InpX, InpY" signifie que les résultats seront affichés en 3D avec les axes des coordonnées basés sur les valeurs des paramètres InpX et InpY. La propriété permet donc d'activer la spécification des paramètres qui seront utilisés pour afficher le graphique d'optimisation et le type du graphique directement dans le code du programme.

Options possibles :

  • "3d, input_parameter_name1, input_parameter_name2" signifie un graphique de visualisation en 3D, sur lequel il est possible de tourner, de zoomer et de dézoomer. Le graphique est construit en utilisant 2 paramètres.
  • "2d, input_parameter_name1, input_parameter_name2" signifie un graphique en 2D, dans lequel chaque cellule sera d'une certaine couleur, suivant le résultat. Le graphique est construit en utilisant 2 paramètres.
  • "1d, input_parameter_name1, input_parameter_name2" signifie un graphique en courbe, dans lequel les résultats sont triés suivant le paramètre spécifié. Chaque passe est affichée sous la forme d'un point. Le graphique est construit en utilisant 1 seul paramètre.
  • "0d, input_parameter_name1, input_parameter_name2" signifie un graphiqie normal avec les résultats triés par l'heure d'arrivée du résultat de la passe. Chaque passe est affichée sous la forme d'un point dans le graphique. L'indication du paramètre n'est pas obligatoire, mais les paramètres spécifiés peuvent être utilisés pour basculer manuellement vers d'autres types de graphiques.

Vous ne pouvez indiquer également que le type du graphique, sans spécifier de paramètre d'entrée. Dans ce cas, le terminal sélectionnera les paramètres nécessaires pour afficher le graphique d'optimisation.

Exemple de Description et de Numéro de Version

#property version     "3.70"      // Version actuelle de l'Expert Advisor
#property description "ZigZag universal with Pesavento Patterns"
#property description "At the moment in the indicator several ZigZags with different algorithms are included"
#property description "It is possible to embed a large number of other indicators showing the highs and"
#property description "lows and automatically build from these highs and lows various graphical tools"

Exemple d'affichage de la description et de la au démarrage du programme

 

Exemples de Sépcification d'un Label Séparé pour Chaque Buffer de l'Indicateur ( "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"

Exemple d'affichage d'un label pour chaque buffer de l'indicateur