- Macro de substitution (#define)
- Propriétés du Programme (#property)
- Inclure des Fichiers (#include)
- Importer des Fonctions (#import)
- Compilation Conditionnelle (#ifdef, #ifndef, #else, #endif)
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 |
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 |
Lien vers le site Internet de la société |
|
copyright |
Le nom de la société |
|
version |
Version du programme, maximum 31 caractères |
|
description |
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 |
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 |
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 |
Hauteur fixe de la sous-fenêtre de l'indicateur, en pixels (propriété INDICATOR_HEIGHT) |
|
indicator_buffers |
Nombre de buffers pour les calculs de l'indicateur |
|
indicator_plots |
Nombre de séries graphiques dans l'indicateur |
|
indicator_minimum |
La valeur limite basse pour la fenêtre séparée de l'indicateur |
|
indicator_maximum |
La valeur limite haute pour la fenêtre séparée de l'indicateur |
|
indicator_labelN |
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 |
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 |
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 |
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 |
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 |
Valeur du N-ième niveau horizontal dans la fenêtre séparée d'un indicateur |
|
indicator_levelcolor |
Couleur des niveaux horizontaux de l'indicateur |
|
indicator_levelwidth |
Epaisseur des niveaux horizontaux de l'indicateur |
|
indicator_levelstyle |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 :
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
|
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
|