Un expert advisor MetaTrader (souvent abrégé EA) est un programme informatique qui analyse les marchés financiers et passe des ordres d'achat ou de vente à votre place, selon des règles que vous définissez à l'avance. Concrètement, il tourne en arrière-plan sur la plateforme MetaTrader 4 ou MetaTrader 5, surveille les cotations en temps réel et réagit en quelques millisecondes, sans que vous ayez besoin d'être devant votre écran.

Pour un débutant, la question la plus fréquente est : « Que se passe-t-il exactement entre le moment où le prix bouge et celui où l'ordre arrive chez le broker ? » La réponse tient en quelques mécanismes clés : un cycle de calcul répété, des fonctions spécialisées et une gestion du risque intégrée. Comprendre ces mécanismes vous permettra de choisir, tester et superviser un EA en toute connaissance de cause, plutôt que de confier votre capital à une boîte noire.

Cet article vous guide pas à pas dans l'architecture d'un expert advisor, son cycle d'exécution, la façon dont il gère les ordres et les risques, ainsi que les points de vigilance essentiels avant de le déployer sur un compte réel.

L'architecture d'un expert advisor

Un EA est écrit dans le langage MQL4 (pour MT4) ou MQL5 (pour MT5), deux langages propriétaires très proches du C++. Le fichier source porte l'extension .mq4 ou .mq5 ; une fois compilé, il devient un fichier .ex4 ou .ex5 que vous déposez dans le dossier Experts de votre plateforme.

À l'intérieur du code, trois fonctions principales structurent le programme :

  • OnInit() : exécutée une seule fois au démarrage. Elle initialise les variables, vérifie les paramètres saisis par l'utilisateur et établit les connexions nécessaires.
  • OnTick() (MT4) ou OnTick() / OnBar() (MT5) : appelée à chaque nouveau tick de prix. C'est ici que réside la logique principale : calcul des indicateurs, vérification des conditions d'entrée et de sortie, envoi des ordres.
  • OnDeinit() : exécutée à l'arrêt. Elle libère la mémoire et peut enregistrer des statistiques.

Cette architecture événementielle est importante : l'EA ne « tourne » pas en permanence comme un moteur ; il est réveillé par chaque événement de marché (nouveau tick, nouvelle bougie, alerte de timer). Cela rend le code prévisible et facilite le débogage.

Le cycle d'exécution : de l'analyse à l'ordre

À chaque tick, voici ce qui se produit de façon typique :

  1. Lecture des données de marché : le cours Bid, le cours Ask, le spread actuel et les données historiques des bougies sont chargés en mémoire.
  2. Calcul des indicateurs : l'EA recalcule ses indicateurs techniques (moyennes mobiles, RSI, bandes de Bollinger, etc.) sur la base des prix actualisés.
  3. Évaluation des conditions : le programme compare les valeurs obtenues à ses règles de trading. Par exemple : « Si la moyenne mobile rapide croise la moyenne mobile lente à la hausse ET que le RSI est sous 70, alors ouvrir un ordre d'achat. »
  4. Gestion des positions ouvertes : avant d'ouvrir quoi que ce soit, l'EA vérifie les positions existantes, ajuste les stop-loss suiveurs (trailing stops) ou ferme les positions si les conditions de sortie sont réunies.
  5. Envoi de l'ordre : si toutes les conditions sont validées, l'EA envoie une requête d'ordre au serveur du broker via les fonctions OrderSend() (MT4) ou trade.Buy() / trade.Sell() (MT5).

Ce cycle complet s'exécute en quelques dizaines de millisecondes pour un EA bien optimisé. La latence entre votre machine et le serveur du broker joue également un rôle : c'est pourquoi beaucoup de traders hébergent leur EA sur un VPS (serveur privé virtuel) situé proche des datacenters des brokers, réduisant la latence à quelques millisecondes typiquement.

La gestion du risque intégrée dans le code

Un EA bien conçu ne se contente pas d'ouvrir des positions : il encadre chaque trade par des règles de gestion du risque. Voici les mécanismes les plus courants :

Le calcul de la taille de position

Plutôt que de fixer un lot arbitraire, un EA professionnel calcule la taille de chaque position en fonction d'un pourcentage du capital risqué par trade. À titre d'illustration uniquement : si vous risquez 1 % de votre capital sur chaque trade et que votre stop-loss représente 50 pips sur l'EUR/USD, le programme calcule automatiquement le lot correspondant. Les performances passées de cette méthode ne préjugent pas des performances futures.

Le stop-loss et le take-profit automatiques

Chaque ordre envoyé par l'EA inclut généralement un stop-loss (niveau de prix auquel la perte est plafonnée) et un take-profit (niveau auquel le gain est sécurisé). Ces niveaux peuvent être statiques ou dynamiques, calculés en fonction de la volatilité récente grâce à des indicateurs comme l'ATR (Average True Range).

Les filtres de conditions de marché

Les EA avancés intègrent des filtres qui suspendent le trading lors d'événements à fort impact (publications macroéconomiques, séances à faible liquidité). Certains brokers proposent des calendriers économiques accessibles directement via l'API, ce qui permet à l'EA d'éviter automatiquement ces fenêtres de risque élevé.

Pour approfondir les stratégies de gestion du capital et comprendre comment les gains s'accumulent dans le temps, la lecture de l'article sur le fonctionnement des intérêts composés dans le trading vous donnera une perspective très utile sur l'importance de la régularité et de la maîtrise du risque.

Envie de voir ce que donne le trading algorithmique en conditions réelles ? Découvrez les 3 algorithmes QuantStone et leur track record vérifié en temps réel. Commission de 20% sur les profits uniquement.

Le trading comporte un risque de perte en capital. Les performances passées ne préjugent pas des performances futures.

Les paramètres d'entrée : personnaliser le comportement de l'EA

Lorsque vous attachez un EA à un graphique MetaTrader, une fenêtre de paramètres s'ouvre. Ces inputs permettent de modifier le comportement du programme sans toucher au code source :

  • Taille des lots ou pourcentage du capital risqué
  • Valeurs des indicateurs (période des moyennes mobiles, niveaux de RSI, etc.)
  • Niveaux de stop-loss et de take-profit en pips ou en multiple d'ATR
  • Plages horaires de trading autorisées
  • Nombre maximum de positions simultanées

L'un des pièges classiques est de sur-optimiser ces paramètres sur les données historiques : on parle de curve fitting (ou surapprentissage). Un EA dont les paramètres ont été réglés au millimètre sur le passé performe souvent de façon décevante sur des données futures, car il a mémorisé le bruit plutôt que la structure du marché. Les 5 erreurs à éviter quand on débute en trading automatique détaillent ce piège et d'autres écueils fréquents.

Tester un expert advisor : backtesting et compte démo

Avant tout déploiement sur un compte réel, deux étapes de validation sont indispensables.

Le backtesting avec le Strategy Tester

MetaTrader intègre un module de backtesting appelé Strategy Tester. Vous y chargez votre EA, définissez la période historique, la qualité des données et les paramètres souhaités. Le testeur simule l'exécution trade par trade et produit un rapport détaillé : profit factor, drawdown maximal, ratio de Sharpe, etc.

Attention : un bon résultat en backtesting n'est pas une garantie de performance future. Les données historiques ne capturent pas les conditions de marché futures, et les coûts réels (spread variable, slippage, swap) peuvent différer de ceux simulés. Les performances passées ne préjugent pas des performances futures.

Le compte démo en conditions réelles

Après un backtesting satisfaisant, faites tourner l'EA sur un compte démo pendant au moins quatre à huit semaines. Cela vous permet d'observer son comportement dans des conditions de marché actuelles, d'identifier les problèmes de connexion, de vérifier que les ordres s'exécutent comme prévu et de vous familiariser avec sa supervision quotidienne.

Pour comparer différentes approches algorithmiques et comprendre ce qui distingue les EAs orientés tendance, range ou scalping, l'article sur les meilleurs Expert Advisors MT4 et MT5 présente plusieurs architectures concrètes avec leurs caractéristiques respectives.

La supervision humaine : pourquoi elle reste indispensable

Un expert advisor automatise l'exécution, mais il ne remplace pas le jugement du trader sur la durée. Voici ce qu'une supervision régulière implique concrètement :

  • Vérifier les journaux de trading (onglet « Journal » dans MetaTrader) pour détecter des erreurs d'exécution ou des rejets d'ordres.
  • Surveiller le drawdown en cours : si le repli dépasse le seuil que vous avez défini lors de vos tests, il peut être justifié de mettre l'EA en pause le temps d'analyser la situation.
  • Contrôler la connectivité : un VPS déconnecté ou une plateforme fermée laisse l'EA inactif sans que des alertes soient forcément envoyées.
  • Évaluer l'adéquation du marché : un EA conçu pour des marchés en tendance peut sous-performer fortement en période de range étendu. Reconnaître ces régimes de marché reste une compétence humaine précieuse.

Pour aller plus loin sur l'ensemble de l'écosystème du trading algorithmique et comprendre comment un EA s'intègre dans une stratégie globale, le guide complet sur le robot de trading automatique offre une vue d'ensemble structurée.

Enfin, si vous souhaitez comprendre les critères qui distinguent un EA développé dans un cadre professionnel, l'article sur le robot de trading forex professionnel détaille les standards de développement, de test et de documentation qui s'appliquent à ce type d'outil.

Avertissement sur les risques

Le trading comporte un risque de perte en capital. Les performances passées ne préjugent pas des performances futures. N'investissez que ce que vous pouvez vous permettre de perdre. QuantStone ne fournit pas de conseil en investissement.