📖 Backtesting sur le Forex : comment valider des stratégies et pourquoi l'analyse Walk‑Forward est nécessaire
Le backtesting consiste à exécuter des règles de trading sur des données historiques afin de comprendre comment une stratégie se serait comportée dans le passé sans risquer de capital. Dans le contexte du trading algorithmique, le backtesting est une étape obligatoire avant le lancement en démo puis en réel.
L'objectif de ce guide est de montrer comment organiser professionnellement un backtest Forex dans MT4, MT5 et cTrader : choisir les modes de modélisation, atteindre une précision au tick, réaliser une analyse Walk‑Forward, interpréter les métriques, modéliser l'exécution et vérifier la robustesse avec Monte Carlo.
Backtesting : simulation de transactions sur des données passées avec calcul des métriques de rendement/risque.
Trading algorithmique : trading selon des règles formalisées et programmées dans du code.
Données tick : séquence des plus petites variations de prix (tick‑by‑tick) avec horodatage précis.
Analyse Walk‑Forward (WFA) : cycle « optimisation sur une fenêtre → validation sur la fenêtre suivante (OOS) → déplacement de la fenêtre » pour évaluer la robustesse.
Monte Carlo : série de scénarios aléatoires (mélange de la séquence des trades, variations des coûts) servant à évaluer la dispersion des résultats et les risques de queue.
🧭 Qu'est-ce que le backtesting et pourquoi il compte
Le backtesting est la simulation des transactions d'une stratégie sur un marché passé avec calcul des indicateurs clés. C'est un filtre de qualité pour les idées avant la démo/le réel et un moyen de vérifier la logique du code.
- Validation des hypothèses : écarter rapidement les idées faibles et se concentrer sur les plus solides.
- Diagnostic du code : la validation visuelle des entrées/sorties aide à détecter les erreurs logiques.
- Métriques : Max Drawdown, PF, Sharpe, expectancy par trade, stabilité année par année.
- Discipline : des règles confirmées par l'historique sont psychologiquement plus faciles à suivre.
Max Drawdown : baisse maximale depuis un pic d'equity, exprimée en pourcentage.
PF (Profit Factor) : rapport entre le profit brut total et la perte brute totale.
Sharpe Ratio : rendement normalisé par le risque (volatilité des rendements).
Expectancy par trade : profit moyen par transaction = WinRate × AvgWin − (1 − WinRate) × AvgLoss.
Les résultats passés ne garantissent pas les résultats futurs. Un backtest doit être complété par un forward test (validation sur données nouvelles/démo) et par le contrôle de l'exécution.
⚙️ Approches du backtesting dans MT4, MT5 et cTrader
Les plateformes diffèrent par la précision de modélisation, la capacité multi‑devises, la vitesse d'optimisation et le confort de développement.
Capacité multi‑devises : test/trading simultané de plusieurs symboles dans un même expert advisor et une seule exécution.
MT4 : un classique avec des limites
- Testeur : mode visuel, mais pas de backtest multi‑devises (1 symbole par exécution).
- Modélisation : « ouvertures seulement », « points de contrôle », « tous les ticks ». Sans ticks externes, la qualité est souvent ≤90%.
- Vitesse : exécutions séquentielles, sans optimisation distribuée.
✅ Avantages
- Environnement de développement simple, beaucoup d'experts advisors prêts à l'emploi.
- Faible barrière d'entrée pour des expériences rapides.
❌ Inconvénients
- Pas de test multi‑devises dans une seule exécution.
- La précision au tick exige un import externe et une préparation manuelle de l'historique.
MT5 : le standard professionnel
- Capacité multi‑devises : un seul expert advisor peut tester plusieurs symboles dans le même processus.
- Ticks : prise en charge des ticks réels et du spread du courtier ; modes « Chaque tick », « 1‑Minute OHLC », « Ouvertures ».
- Optimisation : multithreading, algorithme génétique, agents distants et cloud.
- Forward‑opt : séparation intégrée de l'historique entre partie d'apprentissage et OOS.
1‑Minute OHLC : modélisation sur les quatre prix d'une bougie d'une minute (Open/High/Low/Close) ; plus rapide, mais plus grossière avec des stops serrés.
Algorithme génétique : optimisation heuristique, c'est-à-dire « évolution » de jeux de paramètres avec sélection des meilleures combinaisons.
OOS (Out‑of‑Sample) : partie « hors échantillon » de l'historique où l'on vérifie les paramètres déjà sélectionnés après optimisation.
✅ Avantages
- Haute précision de modélisation « prête à l'emploi » sur les ticks.
- Optimisations rapides, y compris le forward et l'algorithme génétique.
❌ Inconvénients
- Exigences plus strictes sur la propreté du code et le modèle événementiel.
cTrader : flexibilité C# et Market Replay
- Langage : C# (Automate/cAlgo), typage strict et écosystème .NET.
- Données : « Tick data from server », spread fixe ou aléatoire.
- Expérience : Market Replay — reproduction manuelle du marché pour l'apprentissage/la validation visuelle.
- Performance : exécution séquentielle ; optimisation parallèle dans les versions récentes.
✅ Avantages
- Solide stack C# et Market Replay pratique.
- Personnalisation flexible de l'exécution et du spread.
❌ Inconvénients
- Les systèmes multi‑symboles exigent une architecture manuelle des signaux.
🧪 Modes de modélisation et quand les utiliser
Le choix du mode dépend de la sensibilité à l'intérieur des bougies (ticks) et aux SL/TP serrés (stop‑loss/take‑profit).
Tick : modélisation de chaque variation de prix et du spread (précision maximale pour le scalping/HFT).
OHLC : modélisation à partir des quatre prix de la bougie ; plus rapide, mais plus grossière avec des stops serrés.
HFT : logique haute fréquence où la latence d'exécution est critique.
« Chaque tick » (tick‑by‑tick)
Simulation aussi réaliste que possible de chaque variation de prix et de spread. Nécessaire pour le scalping et les logiques HFT.
- Avantages : entrées/sorties précises, estimation adéquate des stops et du slippage.
- Inconvénients : forte charge de calcul et exigences élevées sur la qualité des ticks.
Point clé : si les déclencheurs se produisent à l'intérieur de la bougie, testez « sur ticks » ; sinon le résultat sera surestimé.
OHLC/1‑Minute
Modélisation selon Open/High/Low/Close des bougies d'une minute. Adaptée au moyen terme et au filtrage grossier rapide des idées.
- Avantages : très rapide.
- Inconvénients : distorsions sur les stops serrés et les patterns intraday.
Mode visuel / Market Replay
Visualisation pas à pas des trades sur le graphique (MT4/MT5) ou reproduction du marché (cTrader) — pratique pour le débogage et l'apprentissage.
- Avantages : la logique des entrées, du trailing et des filtres est clairement visible.
- Inconvénients : plus lent que les exécutions par lots ; risque de « regarder après coup ».
📊 Qualité de modélisation et sources de données
La fiabilité est limitée par la qualité des données d'entrée. « Garbage in, garbage out ». D'abord l'historique, ensuite les optimisations.
- Ticks : pour MT5/cTrader — ticks du courtier ; pour MT4 — import de ticks externes et conversion pour le testeur.
- Fuseau horaire et sessions : un fuseau unique, vérification des « trous » et des doublons de bougies.
- Coûts : modélisez le spread réel/aléatoire, la commission et le slippage.
- Vérification : « exécution à blanc » sans trades pour valider la séquence temporelle.
Ouvrez Strategy Tester → choisissez l'expert advisor (EA) → mode « Chaque tick » → source de ticks « Exchange/courtier » → définissez commission/spread → activez la « Visualisation » → Lancer. Pour l'optimisation forward, activez le segment OOS dans les paramètres d'optimisation.
🧼 Pipeline de données pour un backtest honnête
Les données décident de tout. Avant les optimisations, assurez-vous que l'historique est complet, cohérent sur le fuseau horaire et nettoyé des « trous » et doublons.
- Importez les ticks/minutes depuis une source fiable ou depuis le courtier.
- Normalisez le fuseau horaire et le calendrier des sessions de trading.
- Nettoyez les anomalies : doublons, bougies nulles, « spikes » extrêmes.
- Modélisez le spread/la commission, définissez les règles d'arrondi des prix/volumes.
- Effectuez un « test à blanc » sans trades pour vérifier la monotonie du temps.
Compatibilité : MT5 et cTrader — priorité aux données tick ; MT4 — via import de ticks. Avec des sources mixtes, utilisez un fuseau horaire unique et documentez les règles de passage à l'heure d'été.
Tenez un « passeport » du dataset : source, profondeur, fuseau horaire, date d'export et hash des fichiers — cela simplifie la reproductibilité.
⚡ Modélisation de l'exécution : ordres, spread, latence
Une exécution idéale surestime les résultats. Intégrez des hypothèses réalistes : type d'ordre, filtre de spread, slippage et latences aléatoires.
Spread : différence entre Bid et Ask ; il s'élargit pendant les nouvelles ou en faible liquidité.
Slippage : exécution à un prix moins favorable que prévu à cause d'une impulsion de marché ou d'un délai.
Latence : latence totale réseau/terminal/serveur ; critique pour le HFT et les nouvelles.
| Composant | Modèle | Recommandation |
|---|---|---|
| Type d'ordre | Market/Limit/Stop | Scalping — limit avec filtre de spread ; tendance — market acceptable. |
| Spread | Fixe ou aléatoire | Un spread aléatoire dans la plage historique est plus réaliste. |
| Slippage | Symétrique ou biaisé | Pour les ordres market, prévoyez un biais négatif. |
| Latence | Aléatoire 10–300 ms | Pertinent pendant les nouvelles et les heures de volatilité maximale. |
Prévoyez une « décote d'exécution » de 5–15% sur le profit et +20–30% sur le Max Drawdown par rapport au backtest lorsque vous planifiez le réel.
⏩ Analyse Walk‑Forward (WFA)
Le Walk‑Forward est un cycle progressif « optimisation sur une fenêtre → validation sur la fenêtre suivante (OOS) → déplacement de la fenêtre » pour évaluer la robustesse.
WFA : alternance de segments in‑sample (partie d'apprentissage) et out‑of‑sample (partie de validation) avec réapprentissage selon un calendrier.
OOS : partie non étudiée de l'historique où l'on vérifie les paramètres déjà choisis.
Rolling vs Anchored : fenêtre glissante contre fenêtre croissante (moins de risque d'overfit).
- Découpez l'historique : par exemple 12–18 mois d'optimisation et 3–6 mois de validation.
- Optimisez les paramètres sur la première fenêtre et figez le meilleur jeu.
- Vérifiez ce jeu sur la fenêtre suivante (OOS).
- Déplacez les fenêtres et répétez le cycle jusqu'à la fin de l'historique.
- Agrégez les résultats OOS, évaluez la stabilité et la plage des drawdowns.
Schémas pratiques de WFA
Rolling window — adaptation rapide ; Anchored — moins de surapprentissage, mais plus d'inertie.
Point clé : limitez le nombre de paramètres et utilisez les mêmes règles pour toutes les fenêtres ; sinon la comparaison est incorrecte.
🎲 Validation Monte Carlo de la stratégie
Monte Carlo est une série de scénarios aléatoires (mélange des trades, variations du spread/slippage) qui montre la dispersion des résultats et les risques de queue.
Scénarios de mélange
Simulez 200–1000 historiques alternatifs afin d'évaluer la plage de rendement et de drawdowns.
- Reshuffle : permutation aléatoire de la séquence des trades avec les mêmes PnL (profit/perte).
- Noise : ±25–50% sur le slippage et le spread.
- Gap test : ticks extrêmes rares imitant les « chutes » de marché sur nouvelles.
Point clé : regardez les 5e–10e percentiles, pas seulement la médiane ; la marge de sécurité compte plus que le pic.
💻 Exemple : croisement de moyennes mobiles (MA Cross)
Logique pédagogique en MQL5 et C# pour cTrader. En trading réel, ajoutez des filtres de volatilité ATR, du risk management et un contrôle de l'exécution.
1) Dans MT5, créez un EA et insérez le code ci-dessous. 2) Dans le testeur, choisissez « Chaque tick » et définissez commission/spread. 3) Vérifiez sur un autre symbole/TF et comparez PF/DD (profit factor/drawdown max.).
MQL5 (MT5)
#property strict
input int FastMAPeriod = 20;
input int SlowMAPeriod = 50;
#include <Trade/Trade.mqh>
CTrade trade;
int hFast, hSlow;
int OnInit(){
hFast = iMA(_Symbol, PERIOD_CURRENT, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
hSlow = iMA(_Symbol, PERIOD_CURRENT, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
return(INIT_SUCCEEDED);
}
void OnTick(){
double fast[], slow[];
if(CopyBuffer(hFast,0,0,2,fast)<2 || CopyBuffer(hSlow,0,0,2,slow)<2) return;
bool crossUp = (fast[1] <= slow[1]) && (fast[0] > slow[0]);
bool crossDown = (fast[1] >= slow[1]) && (fast[0] < slow[0]);
if(crossUp) { trade.PositionClose(_Symbol); trade.Buy(0.1); }
if(crossDown) { trade.PositionClose(_Symbol); trade.Sell(0.1); }
}
C# (cTrader Automate)
using cAlgo.API; using cAlgo.API.Indicators;
[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
public class MACrossBot : Robot {
[Parameter("Fast", DefaultValue = 20)] public int Fast { get; set; }
[Parameter("Slow", DefaultValue = 50)] public int Slow { get; set; }
private MovingAverage maF, maS;
protected override void OnStart(){
var series = MarketData.GetSeries(TimeFrame);
maF = Indicators.MovingAverage(series.Close, Fast, MovingAverageType.Simple);
maS = Indicators.MovingAverage(series.Close, Slow, MovingAverageType.Simple);
}
protected override void OnBar(){
bool crossUp = maF.Result.Last(1) <= maS.Result.Last(1) && maF.Result.LastValue > maS.Result.LastValue;
bool crossDown = maF.Result.Last(1) >= maS.Result.Last(1) && maF.Result.LastValue < maS.Result.LastValue;
if(crossUp) { ClosePositions(TradeType.Sell); ExecuteMarketOrder(TradeType.Buy, SymbolName, 10000); }
if(crossDown) { ClosePositions(TradeType.Buy); ExecuteMarketOrder(TradeType.Sell, SymbolName, 10000); }
}
}
L'exemple est simplifié : pas de filtre de tendance, pas de calcul de taille via ATR, pas de prise en compte des commissions/slippages ni de money management adéquat. Ajoutez ces éléments avant de tirer des conclusions.
🧪 Mini‑cas : comment se comportent différentes idées
Les exemples illustratifs construisent l'intuition : où une idée gagne et où elle souffre des coûts/des régimes de marché. Les valeurs sont démonstratives — remplacez-les par les vôtres.
Breakout London (EURUSD M15)
Cassure du range asiatique dans les 2 premières heures de Londres, SL/TP fixes, filtre de spread.
- Forces : régime tendanciel, expectancy élevée par trade.
- Faiblesses : sensibilité aux nouvelles et au slippage.
Mean Reversion (USDJPY M5)
Retour vers la moyenne lors d'un écart par rapport au VWAP et/ou aux BB, sortie par fractions.
- Forces : range, beaucoup de trades, equity régulière (courbe de valeur du compte).
- Faiblesses : « mort par mille coupures » lorsque les coûts augmentent.
MA Cross (H1)
Croisement SMA 20/50 avec filtre ATR et trailing‑stop ATR×2.
- Forces : transférabilité des paramètres aux paires voisines.
- Faiblesses : les mouvements en dents de scie et les ranges prolongés réduisent le PF.
| Stratégie | Scénario | PF | Max DD | Sharpe | Trades |
|---|---|---|---|---|---|
| Breakout London | Ticks + spread aléatoire | 1.6 | 18% | 1.1 | 480 |
| Mean Reversion | Ticks + commission×1.2 | 1.4 | 12% | 1.3 | 1200 |
| MA Cross | OHLC → Ticks (validation) | 1.3 | 20% | 1.0 | 260 |
🌗 Régimes de marché et comportement de la stratégie
Divisez l'historique en tendance, range et fenêtres de nouvelles. Évaluez les métriques séparément et configurez les règles d'activation/de pause.
Régime tendanciel
Filtres : ADX>25, cassures de canaux, pente positive de la MA.
- Recommandations : élargir le TP, réduire la sensibilité aux replis.
- Risques : fausses cassures sur une tendance épuisée.
Régime de range
Faible volatilité (ATR dans le bas de la plage), ADX<15, mouvements de retour fréquents.
- Recommandations : réduire le TP, utiliser le mean‑reversion, filtrer le spread.
- Risques : les coûts « mangent » l'avantage statistique.
Fenêtres de nouvelles
ATR élevé, élargissement du spread, gaps.
- Recommandations : pause, filtre de spread, entrées différées après la nouvelle.
- Risques : slippage, stops fréquents.
Point clé : l'association calendrier économique + limites ATR/spread augmente souvent le Sharpe.
📋 MT4 vs MT5 vs cTrader — comparaison pour le Forex
Les différences clés qui influencent la précision, la vitesse et le confort de travail avec des systèmes multi‑symboles.
| Critère | MT4 | MT5 | cTrader |
|---|---|---|---|
| Précision de modélisation | Jusqu'à 99% avec ticks externes ; sinon ≤90% | Ticks du courtier ; haute précision | Tick data from server ; réglage flexible du spread |
| Vitesse/optimisation | Exécutions séquentielles | Multithreading, agents cloud, génétique | Exécution séquentielle ; optimisation parallèle |
| Multi‑devises | Non (1 symbole/test) | Oui (un EA — plusieurs symboles) | Via API/architecture des signaux |
| Test visuel | Mode visuel | Visualisation + analytique étendue | Market Replay |
| Rapports/métriques | Jeu de base | Rapports/graphiques avancés | Statistiques/equity détaillées |
🔍 Interprétation des résultats : métriques clés
L'évaluation doit être globale : combinez rendement, risque et robustesse, vérifiez le nombre de trades et la distribution du profit dans le temps.
Drawdown maximal (Max Drawdown)
La plus forte baisse du solde/de l'equity depuis un pic, en pourcentage. Plus il est bas, mieux c'est ; comparez-le au rendement annuel (par exemple via CAR/MDD).
Profit Factor (PF)
Rapport entre le profit brut total et la perte brute totale. Des valeurs > 1 sont potentiellement profitables, > 1.5 bonnes, > 2 excellentes, mais la stabilité par période reste essentielle.
Sharpe Ratio
Rendement normalisé par le risque (volatilité des rendements). Plus il est élevé, plus le système est stable ; repère : > 1, et pour les systèmes « lisses » plutôt 1.5–2.
Expectancy par trade
Profit moyen par trade : Expectancy = WinRate × AvgWin − LossRate × AvgLoss. Elle doit être positive et confirmée par un nombre suffisant de trades.
Equity : courbe de valeur du compte incluant les positions ouvertes (contrairement au solde).
PF : PF = Gross Profit / Gross Loss ; utile à lire avec le nombre de trades et le Max DD.
Sharpe : (Mean Return − Rf) / StdDev(Return) ; où Rf est le taux sans risque.
Expectancy : = WinRate × AvgWin − (1 − WinRate) × AvgLoss ; vérifiez-la sur un échantillon ≥ 200–300 trades (davantage en intraday).
CAR/MDD : rapport entre le rendement annuel (Compound Annual Return) et le drawdown maximal.
Vérifiez la stabilité des métriques par années/trimestres et appliquez une « décote d'exécution » (spread/commission/slippage), sinon le PF et le Sharpe seront surestimés.
🗺️ Carte de robustesse des paramètres
Faites varier deux paramètres clés sur une grille et enregistrez les métriques. On ne cherche pas un « îlot » de maximum, mais un plateau de robustesse.
Conception de l'expérience
- Grille : 15×15 points sur deux paramètres (par exemple les périodes Fast/Slow MA).
- Métriques : PF, Max DD, Sharpe, CAR/MDD, nombre de trades.
- Critères : PF ≥ 1.3, DD ≤ 25%, trades ≥ 200.
Décision sur le réglage
Choisissez les paramètres au milieu du « plateau », pas sur son bord : vous augmentez ainsi les chances de conserver l'efficacité lors d'un changement de régime de marché.
⚠️ Pièges typiques et comment les éviter
Sur‑optimisation (overfitting)
- Trop de paramètres ou des plages trop étroites ajustent la stratégie au bruit.
- Remède : limiter les paramètres, Walk‑Forward, validation OOS, Monte Carlo.
Ignorer l'exécution
- Sans prise en compte du spread/de la commission/des latences, le PF et le Sharpe sont presque toujours surestimés.
- Remède : spread aléatoire, slippage et latences, « décote » appliquée aux résultats.
Données « sales » et fuseaux horaires
- Les trous, doublons et mauvais fuseaux horaires cassent la logique intraday.
- Remède : pipeline de données, fuseau horaire unique, priorité aux ticks.
🧰 DevOps pour le backtesting : reproductibilité et suivi des expériences
Une stratégie a de la valeur lorsque son résultat peut être reproduit. Il faut des versions de données, des réglages fixes et un rapport standardisé.
- Versioning des données : date d'export, source, profondeur, hash des fichiers.
- Config de l'expérience : symboles, TF, dates, commissions, spread/latences, seed (valeur initiale du générateur aléatoire).
- Modèle de rapport : synthèse des métriques, graphiques d'equity/drawdowns, distribution du PnL (profit/perte), sensibilité.
- Artefacts : logs de trades, paramètres sérialisés, passeport de version de l'expert advisor (EA) / cBot (bot cTrader).
Conservez une « maquette d'exécution » — config JSON/YAML permettant de répéter le run en un clic.
🧮 Méthodes d'optimisation : grid, génétique, bayésien
L'optimisation consiste à chercher les paramètres offrant le meilleur équilibre entre rendement et risque. Tenez compte du temps de calcul et de la robustesse du résultat.
| Méthode | Principe | Quand c'est préférable | Risques |
|---|---|---|---|
| Grid Search | Grille exhaustive de paramètres | Peu de paramètres et bornes étroites | Lent, risque d'« ajustement à la grille » |
| Optimisation génétique | Sélection évolutive de combinaisons (mutations/croisements) | Nombre moyen/élevé de paramètres | Contrôle des critères et arrêt précoce nécessaires |
| Bayésien (TPE) | Modèle « paramètres → métrique » avec TPE | Runs coûteux, surfaces complexes | Implémentation plus difficile, risque de maxima locaux |
Grille grossière → génétique → validation WFA/Monte Carlo. Ne retenez pas le PF maximum, mais un plateau stable.
🛡️ Risk management et taille de position
La gestion du risque influence la courbe de capital plus fortement que le point d'entrée. La taille de position doit dépendre de la volatilité et du capital.
Risque fixed‑fractional et risque fondé sur la volatilité
On risque une fraction fixe du capital par trade et on normalise le stop via l'ATR.
- Pratique : risque de 0.5–2% par trade avec taille de lot calculée depuis le SL (stop‑loss).
- Normalisation ATR : même risque monétaire malgré des volatilités différentes.
Point clé : modélisez précisément le risque dans le backtest, sinon les drawdowns réels surprendront désagréablement.
Limiteurs de risque
Limites de pertes journalières/hebdomadaires, pauses après une série de stops, arrêt du trading sur spread extrême ou pics d'ATR.
- Pause après N trades perdants d'affilée.
- Désactivation en cas de spread extrême ou d'ATR anormal.
🧩 Portefeuille de stratégies : diversification et corrélation
Plusieurs stratégies indépendantes et faiblement corrélées lissent l'equity et réduisent le drawdown.
- Types : tendance, mean‑reversion, breakout, différents TF/symboles.
- Sélection : faible corrélation du PnL journalier (profit/perte), régimes de marché complémentaires.
- Contrôle : limites sur les risques simultanés et les clusters d'instruments.
Construisez une matrice de corrélation des stratégies et testez le portefeuille entier, pas seulement ses composants.
🧨 Scénarios « what‑if » : stress‑test des coûts et des conditions
Vérifiez comment la stratégie supporte une dégradation de l'exécution, une hausse de la volatilité et les coupures pendant les nouvelles.
| Scénario | Changement | Effet attendu |
|---|---|---|
| Commission ↑ | ×1.5 | Baisse du PF sur les stratégies fréquentes — filtrez les trades |
| Spread ↑ | +30% | Entrées/sorties plus mauvaises, stops plus larges, baisse du Sharpe |
| Latence ↑ | +150 ms | Exécution plus mauvaise sur les impulsions — augmentez les buffers |
| Nouvelles — off | −1 heure autour des publications | Moins de trades, mais lissage des queues de pertes |
❓ Questions et réponses (FAQ)
Comment atteindre une qualité de modélisation de « 99% » ?
En quoi un backtest diffère-t-il d'un forward test ?
Quelle période historique prendre pour une stratégie Forex ?
À quoi servent le mode visuel et Market Replay ?
Que choisir pour le backtesting : MT4, MT5 ou cTrader ?
Comment intégrer les commissions et les swaps dans le backtest ?
Comment comprendre qu'une stratégie est robuste ?
✅ Check‑list de lancement en démo/réel
- Dataset avec « passeport » : source, profondeur, fuseau horaire, date d'export, hash.
- Config de test : symboles, TF, dates, coûts, latences, seed.
- Exécution finale « sur ticks » avec spread aléatoire et slippage.
- Optimisation avec limite de paramètres et vérification WFA.
- Monte Carlo : ≥ 200 scénarios, contrôle des queues de distribution.
- Carte de robustesse : choix de paramètres sur un plateau.
- Validation visuelle des entrées/sorties sur des segments de contrôle.
- Taille de position : risque par trade et normalisation ATR.
- Limiteurs : plafond de pertes journalier/hebdomadaire, pauses.
- Arrêt du trading en cas de spread/ATR extrême.
- Monitoring démo ≥ 2–4 semaines avec logs de trades.
- Comparaison démo vs backtest : écarts dans les limites prévues.
- Plan « what‑if » en cas de dégradation de l'exécution.
- Portefeuille : vérification de la corrélation avec les stratégies existantes.
- Plan de lancement en réel avec hausse progressive du risque.