Directives de compilation langage MQL4
Les directives de précompilation sont des instructions que le compilateur traitera avant de traiter le reste du code.
En MQL4 il y a 4 directives de précompilation:
- #define
- #iimport
- #include
- #property
Il est important de noter que les directives de précompilation ne sont pas terminées par un point-virgule.
Directive #define
La directive #define est utilisée pour définir une constante.
Voir notre avis sur le test du broker AvaTrade qui propose la plateforme MT4
Par exemple:
#define NUMBER 123
Ceci définit une constante appelée NUMBER (les constantes sont traditionnellement mises en majuscules mais ceci n'est pas une obligation) qui a la valeur 123. Cette constante peut être utilisée à n'importe quel endroit du code pour remplacer la valeur 123. L'avantage principal est d'avoir une seule valeur à modifier en cas de changement de la constante plutôt que d'avoir à changer la valeur 123 à travers tout le code.
Directive #import
La directive #import permet d'importer des fonctions provenant d'autres fichiers ex4 ou de dlls.
Dans le cas de fichier ex4, il n'est pas nécessaire de déclarer spécifiquement les fonctions que vous voulez utiliser amis dans le cas de dll il faut déclarer les fonctions que vous voulez utiliser comme dans l'exemple ci-dessous:
#importmon_ex4.ex4
#importma_dll.dll
void ma_fonction1_dans_dll();
int ma_fonction2_dans_dll(int x);
#import
Les fonctions de la dll qui peuvent être utilisées dans le code sont ma_fonction1_dans_dll et ma_fonction2_dans_dll. Les fonctions sont listées entre 2 #import, la première fournissant le nom de la dll, et la deuxième servant juste À clore la liste.
Directive #include
La directive #include est équivalente à faire un copier-coller du fichier à inclure dans le fichier courant.
Par exemple:
#include
Le fait que le nom du fichier soit entre crochets <> indique que ce fichier se situe dans le répertoire par défaut experts/include. Si le fichier à inclure se situe dans un endroit différent alors il faut utiliser des guillemets et donner le chemin par rapport au répertoire ou se situe votre code.
Directive #property
La directive #property est utilisée pour définir certaines propriétés de votre programme qui seront stockées au niveau de l'exécutable.
Par exemple:
#property link http://mon_site_forex.com
#property copyright mon nom
La liste des propriétés disponibles est la suivante :
Constante | Type | Description |
copyright | string | le copyright correspondant au code |
indicator_buffers | int | nombre de buffers nécessaires au calcul de l'indicateur (8 maximum) |
indicator_colorN | color | la couleur associée au buffer N (N de 1 à 8) |
indicator_levelN | double | niveau associé au buffer N pour le cas de l'affichage dans une fenêtre séparée (N de 1 à 8) |
indicator_chart_window | void | affiche l'indicateur sur le même graphe que le prix |
indicator_separate_window | void | affiche l'indicateur dans une fenêtre séparée en dessus du graphe du prix |
indicator_minimum | double | valeur minimum de l'indicateur |
indicator_maximum | double | valeur maximum de l'indicateur |
link | string | un lien vers le site de votre société ou votre site personnel par exemple |
show_confirm | void | affiche une popup de confirmation avant l'exécution d'un script |
show_inputs | void | affiche la popup des paramètres avant l'exécution d'un script |
stacksize | int | taille de la pile |
Plus d'information sur le même thème
Arnaud Jeulin Responsable de la publication, Trader
Après un diplôme d'ingénieur, Arnaud a commencé une carrière de développeur. Il a travaillé avec des traders et des services de back office pour mettre en place des prototypes et des outils de trading. Il a ensuite créé sa propre entreprise en 2003.
Il a été responsable du webmarketing pour la Banque en ligne Suisse Synthesis, depuis rachetée par Saxo Bank. Il a aussi fait des audits pour différents brokers et participé à plusieurs salons professionnels pour les courtiers à Londres, Paris et Chypre.
Depuis 21 ans Arnaud a approfondi sa connaissance des brokers et des marchés, il utilise son expérience pour améliorer Mataf afin d'éviter d'orienter les visiteurs vers des brokers malhonnêtes ou des stratégies de trading dangeureuses.
Vous pouvez le joindre via les réseaux sociaux suivants ou par email :