La stratégie de croisement de moyennes mobiles figure parmi les approches les plus fondamentales et populaires en trading algorithmique.
Utilisée par de nombreux traders, des débutants aux professionnels aguerris, cette méthode permet d’identifier efficacement les tendances du marché et de générer des signaux d’entrée et de sortie objectifs. Dans cet article, nous allons explorer en profondeur cette stratégie intemporelle, comprendre ses mécanismes et découvrir comment l’implémenter efficacement dans vos algorithmes de trading et plus spécifiquement dans la plateforme ProRealTime.
Les fondamentaux des moyennes mobiles
Qu’est-ce qu’une moyenne mobile en bourse ?
La moyenne mobile est un indicateur technique fondamental qui calcule la moyenne des prix d’un actif sur une période déterminée. Son objectif premier est de lisser les fluctuations de prix pour faire ressortir la tendance sous-jacente du marché. Utilisée sur de nombreuses classes d’actifs (paires de devises, indices, matières premières, actions), elle constitue souvent la première brique de nombreuses stratégies de trading.

La moyenne mobile se présente sous différentes formes, chacune ayant ses spécificités et ses cas d’usage :
- Moyenne Mobile Simple (SMA) : Calcule simplement la moyenne arithmétique des prix sur une période donnée. Elle accorde un poids égal à toutes les données de la période.
- Moyenne Mobile Exponentielle (EMA) : Donne plus de poids aux prix récents, la rendant plus réactive aux changements de tendance.
- Moyenne Mobile Pondérée (WMA) : Attribue des poids différents à chaque prix, généralement plus importants pour les données récentes.
- Moyenne Mobile de Wilder : Utilisée notamment dans le calcul du RSI, elle présente un lissage particulier.
- Moyenne Mobile Hull (HMA) : Conçue pour réduire le retard tout en conservant le lissage4.
Principe du croisement et signaux de trading
La puissance de cet indicateur réside principalement dans l’analyse comparative entre plusieurs moyennes mobiles de périodes différentes. Le croisement de ces moyennes mobiles génère des signaux d’achat ou de vente selon le contexte :
- Signal d’achat (croisement haussier) : Lorsque la moyenne mobile courte croise à la hausse la moyenne mobile longue, indiquant potentiellement un changement de tendance bullish.
- Signal de vente (croisement baissier) : Lorsque la moyenne mobile courte passe sous la moyenne mobile longue, suggérant un possible retournement bearish.

Cette approche simple mais efficace constitue le cœur de la stratégie de croisement de moyennes mobiles, également connue sous le nom de “crossover strategy” dans la littérature anglophone.
Optimisation de la stratégie de croisement
Existe-t-il un réglage idéal ?
L’une des questions les plus fréquentes concernant cette stratégie porte sur l’existence d’un paramétrage “parfait”. De nombreux traders utilisent les combinaisons standards comme 50/200 ou 20/50 périodes, mais les tests montrent des résultats mitigés.
Une analyse réalisée par Raphaël Leblond (directeur France chez WH SelfInvest) a démontré que l’application d’une stratégie basée sur le croisement des moyennes mobiles 50 et 200 sur quatre actifs différents (EUR/USD, DAX, Or et Nasdaq) aboutissait à un taux de trades gagnants d’environ 40% seulement, avec une seule stratégie sur quatre réellement profitable1.
Sincèrement, pour avoir fait mes essais j’ai des doutes .
J’en parlais par ailleurs dans une de mes newsletter (n’hésitez pas à vous abonner)


Filtres pour améliorer la performance
Pour optimiser la stratégie et réduire les faux signaux, plusieurs filtres peuvent être implémentés :
- Filtrage par une troisième moyenne mobile : Ajouter une moyenne mobile à plus long terme comme filtre de tendance principale.
- Filtrage par la position du cours : Vérifier que le prix est positionné du “bon côté” de la moyenne mobile courte.
- Dynamique du croisement : Évaluer la “force” du croisement en mesurant l’écart entre les moyennes mobiles après le croisement.
- Confirmation par le volume : Exiger une augmentation du volume lors du croisement pour valider le signal.
Ces filtres peuvent considérablement améliorer la qualité des signaux générés par la stratégie, réduisant ainsi le nombre de faux signaux et augmentant potentiellement le taux de réussite.
Implémentation algorithmique de la stratégie
Pseudo-code de base
Voici un pseudo-code simple pour implémenter une stratégie de croisement de moyennes mobiles :
Pour chaque nouvelle barre de prix :
Calculer la moyenne mobile courte (MMC)
Calculer la moyenne mobile longue (MML)
// Détection du croisement haussier
Si MMC[précédente] < MML[précédente] ET MMC[actuelle] > MML[actuelle] :
Générer signal d'achat
// Détection du croisement baissier
Si MMC[précédente] > MML[précédente] ET MMC[actuelle] < MML[actuelle] :
Générer signal de vente
Cette logique simple constitue la base de toute implémentation de la stratégie, quelle que soit la plateforme ou le langage de programmation utilisé.
Implémentation en MQL5
Pour les traders utilisant MetaTrader, voici un exemple simplifié de code MQL5 pour détecter les croisements de moyennes mobiles6 :
// Obtention des handles des moyennes mobiles
int handleMM21 = iMA(_Symbol, _Period, 21, 0, MODE_EMA, PRICE_CLOSE);
int handleMM55 = iMA(_Symbol, _Period, 55, 0, MODE_EMA, PRICE_CLOSE);
// Tableaux pour stocker les valeurs
double MM21[2], MM55[2];
// Copie des données récentes
CopyBuffer(handleMM21, 0, 0, 2, MM21);
CopyBuffer(handleMM55, 0, 0, 2, MM55);
// Détection du croisement
bool crossOver = MM21[1] < MM55[1] && MM21[0] > MM55[0];
bool crossUnder = MM21[1] > MM55[1] && MM21[0] < MM55[0];
// Exécution de la stratégie
if(crossOver) {
// Code pour l'ouverture d'une position longue
} else if(crossUnder) {
// Code pour l'ouverture d'une position courte
}
Ce code illustre comment récupérer les données des moyennes mobiles et détecter les croisements en temps réel pour générer des signaux de trading.
Implémentation dans ProRealTime
Présentation de ProRealTime et ses modules

ProRealTime est une plateforme avancée de trading et d’analyse technique qui offre des fonctionnalités puissantes pour le backtesting et le trading automatique. Elle comprend plusieurs modules complémentaires :
- ProBuilder : Langage de programmation pour créer des indicateurs personnalisés
- ProBacktest : Module pour tester vos stratégies sur des données historiques
- ProOrder : Outil de trading automatique pour exécuter vos systèmes en temps réel
- ProScreener : Module pour scanner les marchés à la recherche de configurations spécifiques
Ces modules forment un environnement complet pour développer, tester et exécuter des stratégies de trading algorithmique.
Création d’un indicateur de croisement dans ProRealTime
Voici comment créer un indicateur de croisement de moyennes mobiles dans ProRealTime :
PeriodeMMCourte = 20
PeriodeMLongue = 50
TypeMM = 1 // 0=Simple, 1=Exponentielle, etc.
// Calcul des moyennes mobiles
MMCourte = Average[PeriodeMMCourte, TypeMM](Close)
MMLongue = Average[PeriodeMLongue, TypeMM](Close)
// Détection des croisements
SignalHaussier = MMCourte CROSSES OVER MMLongue
SignalBaissier = MMCourte CROSSES UNDER MMLongue
// Affichage graphique des signaux
if SignalHaussier then
DrawArrowUp(BarIndex, Low - 0.5) coloured(0,191,255) // Flèche bleue
elsif SignalBaissier then
DrawArrowDown(BarIndex, High + 0.5) coloured(255,69,0) // Flèche orange
endif
// Retour des valeurs pour affichage
return MMCourte, MMLongue

Ce code crée un indicateur qui :
- Calcule deux moyennes mobiles avec des périodes paramétrables
- Détecte les croisements haussiers et baissiers
- Affiche des flèches sur le graphique aux points de croisement
- Affiche les deux moyennes mobiles sur le graphique
Création d’un système de trading automatique
Pour transformer cet indicateur en système de trading automatique dans ProRealTime, utilisez ce code dans le module ProBacktest/ProOrder :
PeriodeMMCourte = 20
PeriodeMLongue = 50
TypeMM = 1
StopLoss = 20
TakeProfit = 30
// Calcul des moyennes mobiles
MMCourte = Average[PeriodeMMCourte, TypeMM](Close)
MMLongue = Average[PeriodeMLongue, TypeMM](Close)
// Logique de trading
// Signal d'achat
if MMCourte CROSSES OVER MMLongue then
Buy 1 Share at Market
SET STOP PLOSS StopLoss
SET TARGET PPROFIT TakeProfit
endif
// Signal de vente
if LongOnMarket and MMCourte CROSSES UNDER MMLongue then
SELL AT MARKET
endif
Ce système exécutera automatiquement des ordres d’achat ou de vente lorsque les moyennes mobiles se croisent, tout en appliquant des stops loss et take profit pour gérer le risque.

Cas pratiques et optimisations avancées
Paramétrage optimal selon les actifs
Les paramètres optimaux varient considérablement selon les actifs tradés. Par exemple :
- Forex : Sur les paires majeures, des combinaisons comme 20/50 ou 10/30 périodes peuvent être efficaces en raison des tendances plus prononcées.
- Indices : Pour les indices comme le CAC40 ou le DAX, des périodes plus longues (50/200) peuvent mieux capturer les tendances à moyen-long terme.
- Actions : Pour les titres individuels, l’optimisation doit tenir compte de la volatilité spécifique de chaque action.
Non-croisement de moyennes mobiles : une variante intéressante
Une variante intrigante de la stratégie classique est le “non-croisement” de moyennes mobiles. Ce pattern particulier se produit lorsque :
- La moyenne mobile longue (ex: M20) est clairement haussière
- La moyenne mobile courte (ex: M10) baisse vers la longue pendant au moins 3 périodes
- La courte touche la longue sans la croiser
- La courte rebondit et remonte au-dessus de la longue
Ce pattern peut indiquer un fort support de tendance et offrir des opportunités d’entrée intéressantes dans la direction de la tendance principale.
On l’utilise souvent dans l’ATS.

Combinaison avec d’autres indicateurs
Pour améliorer la robustesse de la stratégie, on peut combiner le croisement de moyennes mobiles avec d’autres indicateurs :
- RSI (Relative Strength Index) : Pour filtrer les entrées en conditions de surachat/survente3
- Volume : Pour confirmer la force du mouvement lors du croisement
- Bandes de Bollinger : Pour évaluer la volatilité et les niveaux de support/résistance
- Stochastique : Pour identifier les divergences et confirmer les signaux
Forces et limites de la stratégie
Avantages du croisement de moyennes mobiles
Cette stratégie présente plusieurs avantages notables :
- Simplicité : Facile à comprendre, à programmer et à suivre
- Objectivité : Génère des signaux clairs sans interprétation subjective
- Polyvalence : Adaptable à différents actifs et timeframes
- Performance dans les marchés tendanciels : Particulièrement efficace dans les environnements où les tendances sont bien établies
Limites et points d’attention
Cependant, comme toute stratégie, elle comporte certaines limitations :
- Retard inhérent : Les moyennes mobiles sont des indicateurs retardés, ce qui peut entraîner des entrées tardives
- Faux signaux : Particulièrement problématiques dans les marchés sans tendance claire ou très volatils
- Performance variable : Efficacité fortement liée aux conditions de marché
- Sensibilité aux paramètres : Les résultats peuvent varier considérablement selon les périodes choisies
Conclusion et perspectives
La stratégie de croisement de moyennes mobiles demeure un pilier fondamental de l’analyse technique et du trading algorithmique. Sa simplicité d’implémentation, notamment dans des plateformes comme ProRealTime, en fait un excellent point de départ pour les traders qui souhaitent automatiser leurs stratégies.
L’efficacité de cette approche dépend toutefois largement de l’optimisation des paramètres, de l’ajout de filtres pertinents et d’une gestion rigoureuse des risques. Les outils avancés de ProRealTime, notamment ProBacktest et ProOrder, permettent de développer, tester et exécuter cette stratégie avec précision.
Pour maximiser vos chances de succès avec cette stratégie, privilégiez :
- Une optimisation spécifique à chaque instrument financier
- L’ajout de filtres pour réduire les faux signaux
- Une gestion du risque stricte avec des stops loss appropriés
- Un monitoring régulier et des ajustements selon l’évolution des conditions de marché
En définitive, la stratégie de croisement de moyennes mobiles, bien que simple dans son concept, offre un potentiel considérable lorsqu’elle est correctement implémentée et optimisée. Elle constitue non seulement un outil précieux pour les traders algorithmiques, mais aussi une base solide sur laquelle construire des systèmes de trading plus sophistiqués.


Reminder
🎁 Rappel : Formation – Maîtrisez l’Algorithme avec ProRealTime !

Si vous souhaitez améliorer vos performances en trading algorithmique, voici ce que vous découvrirez dans ma formation :
- 28 modules détaillés pour passer du statut de trader amateur à expert.
- 17 quiz pratiques pour renforcer vos compétences.
- Accès à un forum privé pour un soutien continu.
- Un projet fil rouge pour appliquer vos connaissances à chaque étape.