RA Mean Reversion Portfolio
RA Mean Reversion Portfolio est un Expert Advisor multi-devises pour MetaTrader 5. Il recherche des
mouvements journaliers statistiquement excessifs sur deux paires de devises et trade en supposant
que ces mouvements reviennent vers leur moyenne récente. Les deux paires sont tradées depuis un seul
graphique et gérées comme un portefeuille unique avec une seule limite de risque. Chaque transaction
est protégée par un Stop Loss.
Type de stratégie : retour à la moyenne sur portefeuille multi-devises en D1 (contre-tendance par
conception).
L'Expert Advisor travaille uniquement en D1, conserve une position par symbole et n'utilise ni
grille, ni moyenne à la baisse, ni martingale.
Avantages
- Logique simple et entièrement déterministe. Le signal est le z-score de la clôture journalière ;
chaque décision peut donc être recalculée et vérifiée par l'utilisateur. Aucun composant adaptatif
caché.
- Un portefeuille, une limite de risque. Le risque par transaction est fixe, le risque total du
portefeuille est plafonné et le nombre de positions simultanées est limité.
- Filtre de corrélation. Une nouvelle transaction sur une paire fortement corrélée à une position
déjà ouverte est prise avec la moitié du risque ; si deux positions corrélées de ce type sont
ouvertes, les nouvelles entrées sont bloquées.
- Stop Loss sur chaque transaction, calculé à partir de l'ATR au moment de l'entrée. Il n'est jamais
élargi et il n'y a pas de Take Profit qui gênerait les règles de sortie.
- Mieux vaut passer la transaction que dépasser le risque. Si le volume calculé est inférieur au lot
minimum du courtier, la transaction n'est pas ouverte du tout.
- Module de protection. Les nouvelles entrées sont suspendues lorsque le drawdown depuis le plus haut
d'equity est important ou après une perte importante dans la journée en cours.
- Pause après un Stop Loss. Après un Stop Loss, l'Expert Advisor attend et exige que le z-score
revienne à l'intérieur du seuil d'entrée avant de trader de nouveau.
- Compatible avec les courtiers. Les noms de symboles avec préfixes ou suffixes sont trouvés
automatiquement, la marge libre est vérifiée avant chaque ordre et le programme fonctionne sur les
comptes netting comme hedging.
- Journal de transactions CSV. Chaque transaction clôturée est écrite dans un fichier avec direction,
prix, z-scores, résultat et raison de clôture, pour une analyse indépendante.
- Tous les noms des paramètres d'entrée et les messages du programme sont en anglais.
Comment cela fonctionne
Pour chaque symbole, l'Expert Advisor calcule le z-score du logarithme de la clôture journalière sur
une fenêtre glissante :
z = (logarithme de la clôture - moyenne de la fenêtre) / écart-type de la fenêtre
La fenêtre est de 45 bougies journalières par défaut et exclut la bougie qui a généré le signal. Tous
les calculs portent donc sur des bougies clôturées et le signal ne se repeint pas.
- Si z est supérieur à +2.0, la paire est considérée comme excessivement étirée à la hausse et
l'Expert Advisor vend.
- Si z est inférieur à -2.0, la paire est considérée comme excessivement étirée à la baisse et
l'Expert Advisor achète.
- La position est fermée lorsque z revient à 0, lorsque la durée de détention maximale (25 bougies
journalières) est atteinte, ou par le Stop Loss.
La distance du Stop Loss est l'ATR(14) multiplié par 1.5 au moment de l'entrée. La taille de position
est calculée à partir de cette distance et du pourcentage de risque configuré, en utilisant la valeur
du tick et la taille du tick du symbole.
Gestion du risque
- Risque par transaction : 0.3 % du solde du compte par défaut.
- Risque total de toutes les positions ouvertes : 1.5 % du solde par défaut.
- Nombre maximal de positions simultanées : 3 par défaut.
- Protection d'urgence : aucune nouvelle entrée tant que le drawdown depuis le plus haut d'equity
dépasse 15 %, ou après une perte de 3 % dans la journée en cours.
- Les positions ouvertes sont toujours gérées selon leurs propres règles ; le module de protection ne
fait que bloquer les nouvelles entrées.
Symboles et comptes pris en charge
- Symboles par défaut : EURGBP et AUDUSD en D1, les deux paires sur lesquelles les paramètres ont été
ajustés et testés.
- D'autres paires de devises peuvent être indiquées dans les paramètres d'entrée et seront tradées,
mais le modèle n'a pas été optimisé pour elles.
- Les noms de symboles sont comparés uniquement sur les lettres et les chiffres, donc EURGBP,
EURGBP.a ou EURGBPm sont trouvés automatiquement. Si aucun des symboles indiqués n'existe sur le
compte, l'Expert Advisor trade le symbole du graphique au lieu de refuser de démarrer.
- Comptes : netting et hedging sont tous deux pris en charge. Les positions sont ouvertes une par
symbole, fermées par leur propre ticket et filtrées par le numéro magique, de sorte que les
transactions manuelles et celles d'autres Expert Advisors ne sont pas affectées.
- Unité de temps : attachez l'Expert Advisor à n'importe quel graphique D1. Les paires tradées
proviennent des paramètres d'entrée.
Ce que cet Expert Advisor ne fait pas
- Pas de grille, pas de moyenne à la baisse, pas de martingale, pas d'augmentation de lot après une
perte.
- Pas de trailing stop ni de mise à break-even : le Stop Loss est placé à l'entrée et y reste.
- Pas de Take Profit : les sorties sont le retour du z-score, la durée de détention maximale ou le
Stop Loss.
- Pas de filtre de nouvelles ni de calendrier économique.
- Pas de logique multi-échelles de temps : le modèle travaille uniquement en D1.
- Il n'ouvre jamais une position à l'opposé d'une position existante sur le même symbole.
Prérequis
- MetaTrader 5 avec le trading automatique activé dans le terminal et autorisé pour l'Expert Advisor.
- Dépôt recommandé : 5000 USD/EUR ou plus ; le test ci-dessous a été réalisé avec 10000 EUR.
L'Expert Advisor passe une transaction lorsque 0.3 % du solde ne couvre pas le lot minimum de 0.01.
Avec les stops journaliers typiques basés sur l'ATR, ce seuil est d'environ 2900 EUR pour EURGBP et
environ 4400 USD pour AUDUSD.
- Levier : 1:30 ou plus suffit, car seule une petite partie de la marge disponible est utilisée.
- Historique journalier d'au moins 47 bougies par symbole ; le filtre de corrélation utilise
90 bougies.
Résultats des tests
Les chiffres ci-dessous ont été obtenus dans le Testeur de Stratégies MetaTrader 5 (build 6241) avec
les paramètres par défaut. Il s'agit d'une simulation historique et non de résultats de trading réels.
- Période : 2020.01.01 - 2026.10.09, environ 6.75 ans
- Symboles : EURGBP D1 et AUDUSD D1, tradés depuis un graphique EURGBP D1
- Modèle : every tick ; dépôt 10000 EUR ; levier 1:100
- Résultat net : +887.09 EUR, solde final 10887.09 EUR
- Transactions : 124 ; facteur de profit 1.59 ; transactions gagnantes environ 57 %
- Drawdown maximal du solde : 1.58 % (174 EUR) ; drawdown maximal de l'equity : 1.78 % (197 EUR)
- Ratio de Sharpe par transaction : 1.13
- AUDUSD : 65 transactions, +272 EUR, facteur de profit 1.30
- EURGBP : 58 transactions, +610 EUR, facteur de profit 2.06
- Par année : 2020 +98.66 EUR (17 transactions), 2021 +219.40 (18), 2022 +147.65 (18),
2023 +329.10 (20), 2024 +41.47 (20), 2025 +130.26 (19), 2026 jusqu'au 09.10 -85.25 (11)
Comment lire ces chiffres
- Le résultat n'est pas réparti uniformément dans le temps. La meilleure année (2023) représente
environ un tiers du total, 2024 est restée presque plate et l'année partielle 2026 est négative. Un
modèle de retour à la moyenne fonctionne mieux en marché range et devrait être moins performant en
tendance forte.
- Le test utilise l'historique des spreads, les swaps et les réglages de commission du compte de
test. Chez un autre courtier, le résultat sera différent.
- Les résultats du backtest et les performances passées ne garantissent pas les résultats futurs.
Paramètres d'entrée
Portefeuille :
- InpPairs = EURGBP,AUDUSD - symboles tradés, séparés par des virgules
- InpMaxPositions = 3 - nombre maximal de positions simultanées
- InpRiskPct = 0.3 - risque par transaction, % du solde
- InpMaxPortfolioRiskPct = 1.5 - risque total maximal de toutes les positions ouvertes, % du solde
Module de corrélation :
- InpUseCorr = true - activer le filtre de corrélation
- InpCorrWindow = 90 - fenêtre de corrélation, bougies journalières
- InpCorrMax = 0.7 - seuil de corrélation qui divise par deux le risque d'une nouvelle entrée
Cœur (z-score en D1) :
- InpZWin = 45 - fenêtre du z-score, bougies journalières
- InpEntry = 2.0 - seuil d'entrée pour |z|
- InpExitZ = 0.0 - niveau de z auquel la position est fermée
- InpMaxHold = 25 - durée de détention maximale, bougies journalières
- InpATRPeriod = 14 - période ATR utilisée pour le Stop Loss
- InpATRMult = 1.5 - multiplicateur ATR utilisé pour le Stop Loss
Protection :
- InpMaxDDStopPct = 15.0 - bloque les nouvelles entrées au-delà de ce drawdown depuis le plus haut
d'equity, %
- InpDailyLossStopPct = 3.0 - bloque les nouvelles entrées au-delà de cette perte dans la journée en
cours, %
- InpSLCooldownBars = 5 - pause après un Stop Loss, bougies journalières (0 = désactivé)
Service :
- InpRequireNeutralReset = true - après un Stop Loss, attendre que |z| revienne dans le seuil d'entrée
- InpMagic = 1544010 - numéro magique, doit être unique par graphique
- InpSlippage = 30 - glissement autorisé, points
- InpJournal = true - écrire un journal de transactions en CSV
- InpJournalFile = AI_Portfolio_trades.csv - nom du fichier journal
- InpJournalCommon = false - écrire le journal dans le dossier commun au lieu du dossier de données du
terminal
Installation
1. Installez l'Expert Advisor depuis le Market ou copiez le fichier dans le dossier Experts du
terminal.
2. Attachez-le à n'importe quel graphique D1 et autorisez le trading automatique pour l'Expert
Advisor.
3. Vérifiez que le trading automatique est activé dans le terminal.
4. Consultez le journal "Experts" : l'Expert Advisor affiche au démarrage les symboles résolus, le
mode de marge du compte et les réglages actifs.
Avertissement
Le trading sur les marchés financiers comporte un risque de perte.
Cet Expert Advisor met en œuvre une logique de trading définie. Il ne prédit pas le marché et ne
promet aucun profit.
Les résultats obtenus dans le Testeur de Stratégies MetaTrader 5 sont le résultat d'une simulation
historique et non des résultats de trading réels.
Les performances passées ne garantissent pas les résultats futurs.
Testez le produit sur un compte de démonstration avant de l'utiliser sur un compte réel, et ne
risquez jamais de l'argent dont vous ne pouvez pas vous permettre la perte.