Introduction au trading automatique avec MetaTrader
Créez votre robot de trading !
Table des matières
Et lancez-vous dans le trading automatique
Vous voulez coder votre robot de trading automatique ? Vous pensez que les émotions sont votre principal problème en trading ? Vous voulez aller vous promener ou dormir pendant que quelqu’un ou quelque chose trade pour vous ?
Le logiciel Metatrader et son langage MQL4 peuvent vous rendre ce service – passer des ordres de bourse à votre place – sans faillir à cause des émotions typiquement humaines.
Un cours sur le trading automatique
Je vous propose donc un cours sur le trading automatique. Cet article est le premier de la série. Il s’agit d’une introduction.
Nous allons commencer par le début du commencement !
Alors allons-y !
Installer Metatrader
Pour installer le logiciel de trading MetaTrader il suffit de créer un compte de démo chez un broker Forex comme AAAFX, AVAFX ou FXCM. Je vous indique comment faire dans cet article sur MetaTrader.
Contrairement à ce qui est indiqué dans l’article, n’installez pas l’indicateur FX Fish. C’est une daube qui repeint les courbes.
Nous allons plutôt voir comment créer un Expert Advisor (un robot de trading automatique, quoi) dans Metatrader et la structure de tout Expert Advisor.
Donc, installez Metatrader et rejoignez-moi dans la section suivante.
Créez votre premier Expert Advisor
Lorsque Metatrader est installé, démarrez-le et connectez-vous à votre compte de démo.
Souvent il est possible d’en créer un depuis MetaTrader.
Voilà, je considère donc que votre logiciel est ouvert.
Ouvrez l’éditeur d’Expert Advisor
Cliquez sur le bouton en forme de losange jaune avec un point d’exclamation dedans.
Cela lance l’éditeur de robots et d’indicateurs.
Ce bouton vous servira aussi à switcher du terminal vers l’éditeur. Inversement, dans l’éditeur d’EA il y a un bouton qui permet de switcher vers le terminal.
Créer un nouvel EA
Dans l’éditeur ouvert, utilisez le menu Fichier / Nouveau (ou File / New) pour créer un nouvel EA.
Vous pouvez aussi appuyer sur les touches Ctrl + N.
Une fenêtre s’ouvre et vous offre plusieurs options. Sélectionnez la première : « Expert Advisor« .
Cliquez ensuite sur le bouton Suivant.
Une autre fenêtre apparaît.
Dans celle-ci choisissez un nom pour votre bot de trading automatique. Vous pouvez aussi changer le copyright et l’url.
Cliquez ensuite sur le bouton Terminer.
Explication du code
Un squelette vide de robot de trading est créé et affiché.
Nous passerons le reste de cet article à expliquer ce code.
(Pour voir l’image en grand, cliquez sur l’image avec le bouton de droite et sélectionnez « ouvrir dans un nouvel onglet »)
Le squelette est composé de 4 zones.
La première contient des propriétés commençant par le caractère # (#property). On y reconnaît le copyright et l’url.
C’est dans cette zone que l’on va définir des variables globales (un petit mot là-dessus dans quelques lignes).
Viennent ensuite 3 fonctions : init(), deinit() et start().
Un mot sur le langage MQL4
Les experts advisors permettent de faire du trading automatique. Ce sont des programmes informatiques codés en langage MQL4.
Le langage MQL4 est très proche du langage C. Il utilise la même syntaxe.
Les variables
Dans un programme il y a des variables.
Chaque variable a un type, un nom et une valeur d’initialisation.
Les principaux types sont :
- bool pour un booléen prenant les valeurs true et false
- int pour les entiers
- double pour les nombres à virgules
- datetime pour une date avec heure
- string pour une chaîne de caractères.
Placez les variables globales (c’est-à-dire vues par toutes les fonctions) après les instructions #property.
Si vous voulez que la variables devienne un paramètre réglable dans Metatrader lors de l’exécution du robot de trading, placez le mot-clé extern devant.
Exemple :
extern double Lots = 0.01;
Une variable peut aussi être définie dans une fonction. Elle est alors locale.
Ah ! J’allais oublier. Chaque ligne d’instruction se termine obligatoirement par un point-virgule.
Les fonctions
En langage MQL4, comme en langage C, les instructions peuvent être regroupées dans des sous-structures réutilisables appelées fonctions.
Une fonction peut retourner une valeur ou pas.
Elle a un nom et une signature. La signature est constituée par les paramètres qu’elle accepte.
Le corps (et le code) de la fonction est délimité par des accolades.
Exemples :
int start() { ... // Cette fonction ne prend pas de paramètre et renvoie un entier (en l'occurrence toujours 0). return (0); }
void logwrite (string mydata, int errorNumber) { ... /* Cette fonction ne renvoie rien (void) et accepte 2 paramètres */ }
Les fonctions qui ne renvoient aucun résultat sont préfixées par void. Les autres, par le type de la données renvoyée.
Les premières n’ont pas besoin d’instruction return. Les secondes doivent utiliser l’instruction :
return (valeur_renvoyée);
Les commentaires
Au passage, vous avez noté qu’il y a deux façons d’écrire des commentaires.
La première consiste à mettre // devant une ligne. Cela ne marche que pour une ligne. Bien sûr on peut le répéter sur plusieurs lignes adjacentes.
La seconde façon de faire est de commencer le blocs d’instructions ou de lignes que l’on veut mettre en commentaire par /* et le terminer par */.
La suite au prochain numéro
Voilà pour ce premier article consacré à une introduction au trading automatique.
Dans les prochains articles nous étudierons le reste de ce qu’il faut savoir sur le langage MQL4.
À bientôt.
Michel
PS : cet expert advisor pour MT4 vous aidera à maîtriser votre risque et à trader au meilleur spread.
Comments ( 5 )