Trading-Attitude
Apprendre la bourse en ligne facilement et gagner de l'argent avec les actions, les CFD ou le Forex

 

Nous respectons vos données personnelles. Nous détestons les spams. C'est pour cela que nous nous engageons à ne pas vendre votre adresse email.
Email Marketing by AWeber

Introduction au trading automatique avec MetaTrader

MQL4 trading automatique

Créez votre robot de trading !

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.

metatrader bouton editor
Cliquez sur le bouton en losange jaune pour lancer l’éditeur

 

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.

metatrader editeur nouveau EA

Ce menu vous permet de créer un nouvel EA

 

Une fenêtre s’ouvre et vous offre plusieurs options. Sélectionnez la première : « Expert Advisor« .

metatrader popup creation ea
Choisissez Expert Advisor dans cette popup

 

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.

metatrader choisir nom ea
Choisissez un nom pour votre expert advisor

 

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 »)

metatrader squelette d'expert advisor vide
Le squelette d’un Expert Advisor contient au moins la fonction start

 

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 : un de mes partenaires a créé une formation en vidéo sur MQL4.

 

 

Comments ( 5 )

  1. ReplyNicolas de Robots Trading
    Bonjour, Très bonne article. Et comme tu termines par une partie sur les commentaires, j'ai trouvé, vraiment par hasard, un raccourci permettant de mettre des commentaires sur les fonctions très rapidement et au format de MetaEditor : Ctrl + ; (point-virgule). Au prochain article ;)
  2. ReplyJean
    Merci. J'avais des idées mais je ne savais pas trop par où commencer. J'attends la suite.
  3. ReplyFearTrador
    cool, je vais pisser du code comme avant. Voilà que j'utilise MT4 depuis un an et je n'avais aucune idée de la manière de le programmer, faut dire je n'avais même pas cherché et ce n'étais pas mon but au départ. Mais si j'ai un moyen de laisser un robot regarder les graphes à ma place ça permet de m'alerter quand il se passe quelque chose. Par contre je ne crois pas qu'un robot peut trader à ma place, à cause de la cyclicité des méthodes de trading.
    • ReplyMichel
      Bonjour FearTrador Les méthodes de trading sont elles cylciques ou les marchés sont cycliques ? Je dirais plutôt que ce sont les marchés qui le sont. Reste à déterminer une méthode qui prend cela en compte... Ne pensez-vos pas ?
  4. ReplyFearTrador
    Oui, les marchés sont cycliques, et rendent les méthodes plus efficaces à certains moments que d'autres. Certains déterminent la cyclicité d'une méthode, puis si celle-ci n'a pas fonctionné depuis un certain temps, ils l'appliquent car ils estiment que la probabilité de réussite de cette méthode est plus forte.

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CommentLuv badge