Un backtest reconstitue ce qu'une règle aurait produit avec des données et un modèle d'exécution définis. Il sert d'abord à réfuter une idée, à contrôler les calculs et à révéler les hypothèses cachées. Une belle courbe ne garantit ni reproductibilité ni résultat futur. Les cas chiffrés ci-dessous sont fictifs ; le cas en PLN reste polonais, sans conversion implicite en euros.

Pourquoi revenir sur l'historique ?

Avant de risquer du capital, vérifiez si la règle se comporte comme prévu pendant pertes, absence de signal et conditions défavorables. Séparez conformité du code, rentabilité simulée et pertinence économique. Un test peut réussir le premier contrôle et échouer aux deux autres. Le Backtest : test historique d’une règle doit produire un dossier consultable, pas seulement une capture d'écran. Complétez ensuite avec Avantage de trading : validation, incertitude et composition.

Écrire une décision réellement disponible à cet instant

« Acheter une cassure » laisse ouvertes heure, prix, confirmation, sortie et taille. Si la règle exige une clôture quotidienne au-dessus du sommet précédent, le signal n'existe qu'après cette clôture. Employer cette clôture finale pour acheter à l'ouverture antérieure utilise le futur. Définissez aussi position déjà ouverte, historique insuffisant, marge indisponible et ordre rejeté. Le programme doit pouvoir répondre sans interprétation rétrospective.

La même discipline s'applique aux révisions macroéconomiques : conservez la version publiée qui était disponible à la décision. Une liste actuelle d'instruments peut aussi exclure ceux disparus. Ni compilation correcte ni logiciel coûteux ne corrigent automatiquement ces biais.

Choisir des données adaptées à la règle

Archivez fournisseur, symbole, contrat, côté de cotation, fuseau, résolution, interruptions et version des fichiers. Des contrats à terme sur devises ne remplacent pas automatiquement un flux Forex au comptant ou CFD : contrat, échéance, séance et formation des prix diffèrent. Cent transactions ne constituent pas un seuil universel de fiabilité ; dépendance, dispersion, taille de l'effet et nombre d'idées essayées modifient l'incertitude.

Une bougie dont le haut touche l'objectif et le bas le stop ne dit pas lequel survient d'abord. Changez la précision ou marquez ce cas ambigu. Dans MT5, la documentation indique que des ticks peuvent être générés pour une minute possédant une barre mais dépourvue de ticks réels. Le nom du mode ne remplace donc pas le contrôle de couverture.

Rapprocher les prix avant de retirer le spread

Une quantité, sans commission, financement ni glissement : à l'entrée Bid 100, Ask 102, milieu 101 ; à la sortie Bid 103, Ask 105, milieu 104. Un achat exécuté à Ask 102 et revendu à Bid 103 gagne 1 unité de résultat. Le milieu monte de 3 ; retirer les demi-spreads 1 et 1 redonne 1. Retirer deux spreads complets de 2 produit −1, à tort. Retirer encore 2 du résultat Ask/Bid compte également ce coût deux fois.

Deux calculs cohérents du même achat fictif

Deux calculs cohérents du même achat fictifPrix exécutés : 103 moins 102 égale 1. Milieux : 104 moins 101 moins deux demi-spreads de 1 égale 1. Aucun autre coût.Ask → Bid : 103 − 102 = +1Le spread est déjà dans les prix exécutés.Milieu → milieu : 3 − 1 − 1 = +1Retirer seulement les demi-spreads correspondants.
Le même aller-retour doit donner le même résultat dans les deux conventions.

Faites défiler horizontalement ou agrandissez le schéma pour lire les détails.

Même achat, deux conventionsQuantité unitaire et autres coûts nuls ; prix fictifs.EXEMPLE DE CALCULPrix exécutés103 − 102 = 1Milieux corrigés104 − 101 − 1 − 1 = 1Double retrait erroné1 − 2 = −1
Même achat, deux conventions. Quantité unitaire et autres coûts nuls ; prix fictifs.

Ask/Bid et milieux corrigés donnent tous deux +1. Un écart révèle une incohérence de convention.

Prix exécutés
103 − 102 = 1 – Spread inclus.
Milieux corrigés
104 − 101 − 1 − 1 = 1 – Deux demi-spreads.
Double retrait erroné
1 − 2 = −1 – Même coût compté deux fois.

Faire passer les coûts dans chaque transaction

Un spread de 0,8 pip représente 0,4 % d'une distance de 200 pips, mais 16 % d'une cible de 5 pips. Ce rapport décrit un coût relatif, pas un avantage. Distinguez Spread : écart entre Bid et Ask, Commission de transaction, financement et glissement ; précisez ce qui est déjà incorporé aux exécutions.

Cas source en PLN : cinquante opérations closes, trente gains de 40 PLN et vingt pertes de 50 PLN donnent 1 200 − 1 000 = 200 PLN avant frais, soit 4 PLN par opération et un profit factor de 1,2. Un coût complet de 2 PLN par opération, perdantes comprises, laisse 1 140 − 1 040 = 100 PLN ; moyenne 2 PLN, profit factor proche de 1,096. À 4 PLN, 1 080 − 1 080 = 0 ; profit factor 1. Une hypothèse de frais suffit ici à supprimer tout excédent.

Contre-exemple indépendant en EUR : achat de 1 000 EUR contre USD à Ask 1,1002, sortie à Bid 1,1010 : 0,80 USD. Avec conversion fictive fixée à 1,20 USD par EUR, cela vaut 0,6667 EUR ; une commission totale de 0,30 EUR laisse environ 0,3667 EUR. Soustraire à nouveau le spread serait incorrect. Ce modèle ignore variation du taux de conversion, financement et glissement ; il ne décrit aucun tarif de courtier.

Séparer recherche et évaluation

Consignez tous les essais, y compris filtres, actifs et périodes choisis hors optimiseur. Deux paramètres affichés n'impliquent pas seulement deux choix de recherche. Une séparation chronologique 70/30 peut organiser l'étude, sans seuil magique : la partie finale ne sert pas à retoucher la règle. La réutiliser pour choisir transforme ce test en développement. Un résultat plus faible peut provenir du régime, du hasard ou d'une sélection excessive ; il ne prouve pas seul la cause.

Autre fuite : une décision à t possède un résultat seulement à t+3. Le premier test commence à t10 et l'ajustement finit avant t10. Parmi t1 à t9, seuls les résultats de t1 à t6 sont disponibles ; celui de t6 arrive à t9. Ceux de t7 à t9 arrivent à t10, t11 et t12 : excluez-les de l'ajustement. Les anciens prix peuvent rester utiles au calcul des indicateurs. Cette purge règle ce chevauchement particulier, pas toutes les fuites possibles.

Lire honnêtement espérance et rendement

Avec probabilité hypothétique de gain 54 %, gain moyen 2,3 R et perte moyenne 1 R, l'espérance vaut 0,54 × 2,3 − 0,46 = 0,782 R ; le profit factor théorique vaut environ 2,70. Cela ne fournit ni drawdown, ni rendement total, ni indépendance des transactions. Dans un autre exemple, une hausse totale de 87 % sur exactement cinq ans correspond à un taux composé annuel d'environ 13,34 %. Ne reliez pas ces deux exemples sans trajectoire, calendrier et tailles de positions.

Protocole à réaliser demain

  1. Figez règles, données, version du code, coûts et période d'évaluation avant le calcul.
  2. Reproduisez à la main une perte, un signal absent et une bougie ambiguë ; rapprochez prix et frais.
  3. Journalisez chaque variante, puis examinez incertitude, exposition et Drawdown : baisse depuis un sommet sans modifier la règle sur le test.

Aucune durée de cinq ans, série de deux ans d'entraînement ou période de trois mois en démo ne constitue à elle seule une preuve de préparation. Un résultat non reproductible se corrige avant de chercher une nouvelle optimisation. Continuez avec Walk-forward : fenêtres, labels disponibles et égalités pour organiser les fenêtres successives.

Explorer une étude de données publiée sur le site

L'étude existante calendrier des taux de référence BCE, 2016–2025 distingue 2 560 publications EUR/USD et 49 jours de semaine sans publication à l'aide du calendrier TARGET. Il s'agit du périmètre de cette étude déjà documentée, pas d'une nouvelle mesure effectuée pour cet article. Une absence prévue de publication n'est pas automatiquement une lacune d'un flux négociable ; les taux de référence ne sont pas des prix exécutables.