Ce que fait le labo
Le labo teste une règle de trading simple sur l'historique réel d'un courtier, sans écrire une ligne de code. Vous choisissez un signal d'entrée (croisement de moyennes mobiles, RSI, cassure d'un range), des filtres (tendance, séance, sens), des sorties (stop et objectif en ATR ou en pips, signal inverse, durée maximale) et le risque par trade. Le moteur rejoue alors la règle heure par heure, avec les coûts qu'un compte réel aurait payés. Pour démarrer, quatre stratégies d'école remplissent le formulaire en un clic.
Il ne contient aucune stratégie QuantStone et ne vous en suggère aucune. Son rôle est pédagogique : voir, sur des données réelles, ce qu'une idée de trading devient une fois les coûts, les gaps et l'ordre des trades pris en compte. Beaucoup de règles simples y perdent de l'argent une fois le spread payé, et c'est une information utile en soi, que notre article sur les raisons pour lesquelles les robots de trading perdent détaille.
Six stratégies passées au labo
Pour voir ce que le labo révèle, six règles d'école ont été testées en détail, les perdantes comme les gagnantes, avec leurs chiffres complets et ce qu'elles enseignent :
- Croisement de moyennes mobiles sur l'EUR/USD : +20,6 % sans frais, -19,1 % avec : les coûts effacent un petit avantage brut.
- Cassure de 20 barres sur l'or (XAUUSD) : +33,9 %, mais les achats font +56,8 % et les ventes -14,6 % : c'est la hausse de l'or qui paie.
- Cassure de 20 barres sur l'USD/JPY : +15,3 % sur la période de conception, -13,1 % ensuite : la règle ne tient pas hors échantillon.
- Cassure du range asiatique sur le GBP/USD : -76,5 % en 974 trades, et déjà -34,4 % sans aucun frais : pas d'avantage à capturer.
- EMA 10/30 sur l'or (XAUUSD) : +7,0 % avec une moyenne lente de 30 barres, -22,6 % avec 26 et -11,7 % avec 38 : un résultat fragile.
- La minute de bascule, sur un RSI 14 en H4 (EUR/USD) : -7,0 % avec les seules minutes négociables, +1,9 % si l'on traite minuit comme une minute ordinaire.
Lire les résultats
Le résultat sur la période
Le chiffre principal est le résultat total sur la période testée, en pourcentage d'un compte virtuel. Chaque trade y risque la part du solde que vous avez choisie, 1 % par défaut, et gains et pertes se cumulent d'un trade à l'autre, comme sur un vrai compte. Ce chiffre couvre la période testée et elle seule : il n'est jamais ramené à une moyenne mensuelle ou annuelle. Il dépend directement du risque par trade, puisqu'un risque plus élevé grossit les gains comme les pertes, drawdown compris. Le capital virtuel qui sert à calculer la taille des positions ne représente aucun compte réel. Comme tout ce que montre le labo, ce résultat est hypothétique : il décrit ce que la règle aurait donné sur des données passées, pas ce qu'elle donnera.
Le résultat en R
Le détail des résultats donne aussi le R, c'est-à-dire le résultat en multiples du risque pris sur chaque trade. Un trade qui touche son stop coûte environ -1 R, un trade qui atteint un objectif placé deux fois plus loin rapporte environ +2 R. Le R ne dépend ni du risque choisi ni de la taille du compte : c'est l'unité qui permet de comparer deux règles entre elles.
Conception et hors échantillon
La période testée est coupée en deux : les 70 % premiers pour concevoir, les 30 % finaux pour contrôler. Si vous ajustez vos réglages jusqu'à obtenir une belle courbe, vous finirez toujours par en trouver une : le hasard des données passées suffit. La partie hors échantillon, qui n'a pas servi à régler la stratégie, dit si la règle tient au-delà des données qui l'ont construite.
Sensibilité
Le labo recalcule la stratégie en faisant varier son paramètre principal de la moitié au double de votre valeur. Une règle solide donne des résultats voisins pour des réglages voisins. Si seul votre réglage exact fonctionne, c'est presque toujours une coïncidence.
Monte Carlo
Le backtest n'a connu qu'un seul ordre des trades. La simulation de Monte Carlo, la même que celle de l'analyseur de backtest d'EA, rejoue ces trades des milliers de fois dans un ordre différent et donne le drawdown médian, celui des 5 % pires scénarios et la probabilité d'atteindre votre propre seuil de perte.
Méthode
Les données
L'historique vient d'un serveur MetaTrader 5 de courtier, pour un compte sans commission dont le coût est le spread : prix bid en barres d'une heure pour l'EUR/USD, le GBP/USD, l'USD/JPY et l'or, de août 2022 à septembre 2026. Les barres de 4 heures sont construites à partir des barres horaires, alignées sur l'heure du serveur comme dans MetaTrader. Avant juillet 2022, ce serveur ne conserve qu'une barre par jour : nous avons préféré quatre ans de données horaires fiables à une période plus longue reconstituée. Les barres restent sur notre serveur, qui renvoie uniquement des résultats.
L'exécution
- Le signal se lit à la clôture d'une barre ; l'ordre part au premier prix négociable de la barre suivante. Un achat se fait au prix ask, c'est-à-dire bid plus spread.
- Une seule position à la fois, sans renforcement.
- Stop et objectif sont surveillés heure par heure, y compris pour une stratégie en 4 heures. Si les deux sont touchés dans la même heure, le labo retient le stop : l'ordre des prix à l'intérieur d'une heure n'est pas connu, et nous prenons le cas le plus défavorable.
- Quand le prix saute un niveau entre deux cotations (gap du lundi, annonce économique), un stop est exécuté au prix d'ouverture, plus défavorable, et un objectif à son niveau, jamais mieux.
- La taille des positions fixe le risque par trade (1 % par défaut). Le stop et l'objectif doivent mesurer au moins cinq fois le spread typique de l'instrument, pour ne pas simuler de scalping irréaliste.
- Les séances de Londres et de New York vont de 8 h à 17 h, heure locale de chaque place, chacune avec son propre passage à l'heure d'été. Le filtre de séance ne porte que sur les entrées : une position ouverte reste soumise à ses sorties à toute heure.
- Le range asiatique est formé par les plus hauts et plus bas de minuit à 7 h, heure de Londres. La première clôture horaire en dehors, entre 7 h et 16 h, déclenche l'entrée, au plus une fois par jour.
- Les indicateurs sont calculés comme dans MetaTrader : moyenne exponentielle amorcée sur le premier prix, RSI de Wilder, ATR égal à la moyenne simple du true range.
Les coûts
Le spread appliqué est celui que le serveur a réellement enregistré, heure par heure, et non un spread moyen fixe. Nous l'avons recalé sur les ticks réels : le spread stocké dans les barres d'une minute sous-estime légèrement celui qu'un ordre rencontre à un instant quelconque, de 3 à 9 % selon l'instrument. Chaque stop subit en plus un glissement égal à la moitié du spread de l'heure. Les swaps, ces frais de financement d'une position gardée la nuit, ne sont pas comptés, mais le labo indique combien de trades et de nuits ils auraient concernés.
Une exception : les spreads enregistrés d'août à décembre 2022 sont inutilisables. En août, faute de données minute, le serveur affiche un spread fictif de 5 pips ; de septembre à décembre, il a enregistré 0 à 0,1 pip sur les paires de devises, bien moins que ce que paie un compte sans commission. Pour ces heures, et pour toute heure dont le spread enregistré tombe sous la moitié du spread habituel de cette heure de la journée, le labo applique ce spread habituel, mesuré sur l'ensemble de l'historique. La correction touche surtout la fin de 2022, entre 2 200 et 2 400 heures par paire de devises, puis quelques dizaines d'heures par an, un peu plus sur l'or au début de 2023. La comparaison avec le testeur de MetaTrader 5, plus bas, porte sur les spreads tels qu'enregistrés, ceux qu'utilise le testeur.
La minute de bascule
Chaque jour à minuit, heure du serveur (17 h à New York), le marché des changes bascule d'une journée de valeur à la suivante. Pendant la première minute de la journée, le serveur continue d'afficher des cotations, mais il refuse les ordres, et c'est précisément le moment où les spreads sont les plus larges. Sur l'EUR/USD, le 13 mai 2024, le spread atteignait 8,3 pips à minuit et 11,5 pips au premier prix où un ordre était accepté, pour une moyenne de 6,3 pips sur l'heure, contre environ 1,2 pip le reste de la journée. Sur l'or, la séance de trading ne rouvre qu'une heure plus tard.
Un backtest qui ne regarde que des barres d'une heure traite ces cotations comme si l'on pouvait passer un ordre dessus : il déclenche des stops sur des pics où personne n'aurait été exécuté, et il ignore ce que coûte réellement un ordre envoyé à minuit. Le labo isole donc, dans chaque heure, les minutes où le courtier accepte les ordres. Exécutions, stops et objectifs se lisent uniquement sur elles, et une stratégie qui entre à minuit paie le spread réellement disponible à ce moment-là.
Vérifié trade par trade contre le testeur de MetaTrader 5
Nous avons confronté le moteur du labo au testeur de stratégie de MetaTrader 5, sur le même historique, avec six stratégies qui couvrent tous les blocs du labo : moyennes mobiles, RSI, cassures, range asiatique, filtres de tendance et de séance, stops en ATR et en pips, sorties par signal inverse et par durée, taille fixe et taille au risque. Le testeur tournait en mode « 1 minute OHLC », de janvier 2023 à août 2026.
Les 2 746 trades produits par MetaTrader ont tous été retrouvés dans le moteur, un à un, avec la même heure d'entrée et le même sens, et le moteur n'en a produit aucun de plus. 2 250 sont identiques au point près : prix d'entrée et de sortie, taille, heures et résultat. Chacun des autres écarts a une cause identifiée : un stop sauté par un gap, que le moteur exécute au prix d'ouverture quand le testeur l'exécute au niveau du stop ; un stop et un objectif touchés dans la même heure, où le moteur retient le stop ; un arrondi d'un point sur un niveau ; enfin, une taille de position différente parce que le solde avait divergé après l'un de ces écarts, la règle de calcul restant exactement la même. Arrondis mis à part, aucun écart de prix n'est en faveur du moteur. L'ATR calculé par le moteur est identique à celui de MetaTrader au point près.
Les limites
- Quatre ans d'historique, c'est suffisant pour plusieurs régimes de marché, pas pour tous.
- Des barres d'une heure ne disent pas dans quel ordre les prix ont évolué à l'intérieur de l'heure : le labo prend alors le cas défavorable, ce qui pénalise les stratégies à stops et objectifs serrés.
- Les données viennent d'un seul courtier ; les spreads et les prix d'un autre courtier diffèrent un peu.
- En réel, la latence, la liquidité et le glissement varient d'un ordre à l'autre, surtout pendant les annonces économiques. Aucun résultat n'est garanti, et un backtest ne remplace pas un historique réel vérifiable.
Pour aller plus loin sur le fonctionnement des stratégies automatisées, notre guide complet du robot de trading automatique reprend les bases, du signal à l'exécution.