Programmer un expert advisor n’est, en soit, pas très compliqué. Nous allons voir ce premier article sur la programmation, la plate forme MetaEditor ainsi que l’architecture d’un script pour MT4.
Le langage de programmation s’appelle le MQL et il ressemble au C++.
Mais avant tout, commençons par faire un tour rapide de la plate forme MetaEditor. L’image du dessous, vous montre les principales fenêtres présentent dans cet IDE. Il faut savoir que MetaEditor est un éditeur de code simplifier. Donc pour ceux qui ont l’habitude de l’auto-complétion de code personnalisé et autres, vous pouvez l’oublier.
Terminal MétaEditor
Voyons comment créer un nouveau projet. Dans l’image ci-dessous, vous verrez qu’en cliquant sur le bouton « Nouveau » mis en avant, une nouvelle fenêtre de configuration va s’ouvrir. Vous avez plusieurs possibilités. Créer :
- Un Expert Advisor
- Un indicateur
- Un script
- …
Création d'un nouveau projet
Suivant le choix que vous faites en cliquant sur suivant, vous pourrez ajouter des paramètres de configurations par défaut ou tout simplement choisir un nom du projet.
Une fois la base de votre projet créé, le programme va vous créer un code de base avec trois fonctions.
MétaEditor : Code de base pour un EA
Dans l’image ci-dessus j’ai découpé en six parties ce code. Nous allons donc les voir une par une.
La première partie (bleu), n’est que simplement les informations générales sur votre projet. Vous y retrouverez que le nom du projet, le nom de l’auteur du projet, ainsi que l’url. En Ajoutant une ligne, vous pouvez aussi bien marquer un commentaire important.
Ensuite vient la deuxième partie. Ce sont les propriétés de base du programme. Nous verrons par la suite que l’on pourra inclure des DLL externe.
La partie verte et vide, va servir à créer des constantes pour le fonctionnement de notre programme. Le mot constantes n’est peut être pas très approprié, mais elles nous serviront à stoker des données que l’on ne veut pas voir disparaitre a chaque tic émis par le marché. C’est constantes vous permettrons de mettre des paramètres de configurations à votre expert advisor.
Entrons dans le vif du sujet avec la fonction init(). Cette fonction pratique va être utilisée qu’au lancement de l’expert advisor. Elle peut, par exemple, initialiser une constante pour la suite du programme ou encore appeler d’autres fonctions.
La fonction deinit() est l’inverse de la fonction init(). elle sera utilisée qu’à l’arrête de l’EA.
Enfin la fonction la plus importante : start(). C’est ici que tout se joue ! Cette fonction va être utilisée en boucle. Et sera appelée à chaque tic du marché (à chaque changement de prix). Nos principales lignes de codes se feront ici. Mais pour plus de clarté, nous morcellerons – structurerons – notre en code en une série de fonctions que nous appellerons suivant des suites logiques.
Voilà, maintenant que MetaEditor n’a plus de secret pour vous, nous verrons dans d’autres articles la mise en oeuvre de quelques lignes de codes.