Gestion d’argent en MQL5 : position sizing et critère de Kelly

⏱ 8 min de lecture
Mis à jour le 14 mai 2026

Gestion d’argent en MQL5 : Maîtrisez le Position Sizing et le Critère de Kelly

Transformez votre stratégie de trading avec une gestion de capital scientifique. Découvrez comment implémenter le position sizing et le critère de Kelly directement dans vos EAs MQL5 pour une croissance optimale du compte.

Introduction

Dans l’univers du trading algorithmique, une stratégie performante ne suffit pas. Sans une gestion de capital rigoureuse, même le système le plus prometteur peut mener à la ruine. C’est là que la gestion argent mql5 position sizing entre en jeu, passant du concept théorique à une règle exécutable par votre Expert Advisor. Cet article vous guide au cœur de deux piliers fondamentaux : le position sizing (dimensionnement des positions) et le célèbre critère de Kelly. Nous dépasserons la simple théorie pour vous montrer comment coder ces mécanismes directement en MQL5, vous permettant de contrôler le risque, d’optimiser la croissance de votre capital et de donner à vos robots de trading l’intelligence financière indispensable pour durer sur les marchés.

Les Fondations : Pourquoi le Position Sizing est Indispensable en MQL5

Le position sizing est le processus qui détermine le volume (lot) de chaque transaction en fonction de la taille de votre capital et du risque que vous êtes prêt à prendre. Négliger cette étape, c’est exposer votre EA à une variance excessive et à des drawdowns ingérables.

  1. Contrôle du Risque par Trade : L’objectif premier est de limiter la perte maximale sur une opération, généralement à un petit pourcentage du capital (ex: 1-2%). Cela préserve le compte lors de séries de pertes inévitables.
  2. Adaptation Dynamique : Contrairement à un volume fixe, un bon position sizing fait évoluer la taille des positions avec la courbe de capital. Les gains permettent des positions légèrement plus grandes, tandis que les pertes les réduisent automatiquement.
  3. Implémentation dans MQL5 : Cela se traduit par une fonction qui calcule le volume juste avant l’envoi de l’ordre (OrderSend), en tenant compte du stop-loss, de l’équité libre et du pourcentage de risque défini.
// Fonction de calcul du volume basé sur un pourcentage de risque
double CalculatePositionSize(double riskPercent, double stopLossPoints, string symbol) {
   double accountEquity = AccountInfoDouble(ACCOUNT_EQUITY);
   double tickSize = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE);
   double tickValue = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);
   double lotStep = SymbolInfoDouble(symbol, SYMBOL_VOLUME_STEP);

   if(stopLossPoints == 0 || tickValue == 0) return(0.0);

   // Calcul du risque monétaire
   double riskMoney = accountEquity * (riskPercent / 100.0);
   // Calcul du risque par point (pour Forex, attention aux paires croisées)
   double riskPerPoint = (tickValue / tickSize) * SymbolInfoDouble(symbol, SYMBOL_POINT);
   // Volume théorique
   double lots = riskMoney / (stopLossPoints * riskPerPoint);

   // Ajustement aux contraintes du broker
   lots = MathFloor(lots / lotStep) * lotStep;
   lots = MathMax(lots, SymbolInfoDouble(symbol, SYMBOL_VOLUME_MIN));
   lots = MathMin(lots, SymbolInfoDouble(symbol, SYMBOL_VOLUME_MAX));

   return(lots);
}

Implémenter un Position Sizing de Base dans Votre EA

Intégrons maintenant ce calcul dans la logique d’un EA. L’idée est d’appeler cette fonction après avoir déterminé les niveaux d’entrée et de stop-loss de votre stratégie.

  1. Récupération des Paramètres : Créez un input double RiskPerTrade = 1.0; pour permettre à l’utilisateur de définir son risque (ex: 1.0%).
  2. Calcul du Stop en Points : Votre stratégie doit définir un stop-loss en points (écart entre le prix d’entrée et le niveau de stop).
  3. Appel et Exécution : Passez ces valeurs à la fonction CalculatePositionSize et utilisez le volume retourné dans la structure MqlTradeRequest.

Cette approche systématique garantit que votre robot respecte toujours la règle de risque que vous avez établie, quel que soit l’état du compte.

Conseil Pro : Pour les tests en stratégie tester, utilisez le mode “Money” → “Maximum profit in points” et définissez un volume fixe faible (ex: 0.01). Une fois la stratégie validée, passez au mode “Money” → “Percent per transaction” et testez avec votre pourcentage de risque (ex: 1%). Cela simule une gestion de capital réaliste et révèle la vraie courbe de croissance.

Le Critère de Kelly : Optimiser la Croissance à Long Terme

Le critère de Kelly est une formule mathématique qui vise à maximiser la croissance exponentielle du capital à long terme, en trouvant la fraction optimale du capital à risquer sur chaque trade. Il nécessite de connaître deux statistiques clés de votre stratégie : le pourcentage de gains (W) et le ratio gain moyen / perte moyenne (R).

  1. La Formule : Fraction Kelly = W – [(1 – W) / R]. Par exemple, avec 60% de trades gagnants (W=0.6) et un ratio gain/perte de 1.5 (R=1.5), la fraction Kelly est 0.6 – [0.4 / 1.5] = 0.33. Cela suggère de risquer 33% du capital sur chaque opération.
  2. Un Niveau Aggressif : La fraction “plein Kelly” est théoriquement optimale mais très volatile. Dans la pratique, les traders utilisent une fraction fractionnaire de Kelly (ex: “Half-Kelly”, soit la moitié) pour réduire la volatilité tout en conservant une croissance solide.
  3. Intégration dans MQL5 : Vous pouvez coder un module qui, après un certain nombre de trades, recalcule périodiquement W et R à partir de l’historique du compte et ajuste dynamiquement le RiskPerTrade utilisé dans la fonction de position sizing.
// Fonction pour calculer la fraction de Kelly (simplifiée)
double CalculateKellyFraction(int totalTrades, int winningTrades, double avgWin, double avgLoss) {
   if(totalTrades == 0 || avgLoss == 0) return(0.0);

   double W = (double)winningTrades / (double)totalTrades; // Taux de gain
   double R = MathAbs(avgWin / avgLoss); // Ratio gain/perte

   double kellyFull = W - ((1.0 - W) / R);
   // On limite et on applique un facteur de sécurité (Half-Kelly)
   double kellySafe = MathMax(0.0, kellyFull) * 0.5;

   return(kellySafe * 100); // Retourne un pourcentage
}

Combiner Position Sizing et Critère de Kelly dans un EA Robuste

La puissance réside dans la combinaison des deux concepts. Votre EA peut fonctionner avec un risque de base (ex: 1%) et, une fois qu’il a collecté suffisamment de données de performance, passer en mode “optimisation Kelly”.

  1. Phase d’Apprentissage : Laissez l’EA trader avec un risque fixe et modéré pendant les 100 premiers trades pour collecter des statistiques fiables (W et R).
  2. Calcul et Application : Implémentez une fonction qui analyse l’historique des trades fermés (via HistorySelect) pour calculer les statistiques et en déduire une fraction de Kelly sécurisée.
  3. Sécurité et Limites : Imposez toujours un plafond absolu au risque (ex: ne jamais risquer plus de 5% même si Kelly suggère plus). Ce système dynamique permet à votre EA de augmenter légèrement la taille des positions lorsque la stratégie performe bien et de la réduire en période de drawdown.

Cette approche confère à votre robot une gestion de capital adaptative et scientifiquement fondée, bien supérieure à une méthode statique.

Besoin d’un EA sur-mesure avec une gestion de capital professionnelle ? Demander un devis gratuit

Questions fréquentes

Le critère de Kelly est-il adapté à toutes les stratégies de trading ?

Non, le critère de Kelly suppose que les probabilités et les ratios de gain/perte sont stables et connus. Il est particulièrement adapté aux stratégies avec un edge clair et répétable, comme le trading systématique ou certaines stratégies de casino à avantage mathématique. Pour des stratégies moins prévisibles ou avec des distributions de rendements complexes, une fraction très réduite de Kelly (comme le “Quarter-Kelly”) ou un simple pourcentage de risque fixe est plus prudent.

Comment tester efficacement la gestion d’argent dans le Strategy Tester de MT5 ?

Utilisez le mode de modélisation “Every tick” pour une précision maximale. Pour la gestion de capital, sélectionnez “Open prices only” n’est pas suffisant. Testez d’abord avec un risque fixe faible. Ensuite, utilisez l’onglet “Graphique” pour visualiser la courbe d’équité et de balance. Analysez le Maximum Drawdown en valeur absolue et en pourcentage. Un bon système avec une gestion argent mql5 position sizing efficace aura une courbe d’équité plus lisse et un drawdown relatif maîtrisé par rapport au profit.

Puis-je utiliser ces techniques pour passer un challenge de prop firm comme FTMO ?

Absolument. Une gestion de capital stricte (souvent un risque de 1% par trade ou moins) est cruciale pour réussir les challenges de prop firms. Elles imposent des limites de drawdown très strictes. Implémenter un position sizing basé sur le pourcentage de risque dans votre EA est la meilleure façon de respecter automatiquement ces règles et d’éviter la disqualification. Le critère de Kelly, en revanche, peut être trop agressif pour la phase de challenge où l’objectif principal est la préservation du capital avant tout.

FAQ

Comment calculer la taille de position en MQL5 avec le critère de Kelly ?

Le critère de Kelly en MQL5 se calcule en intégrant le ratio de gain moyen par trade et le pourcentage de trades gagnants dans une formule spécifique. Vous devez d’abord déterminer la fraction optimale de votre capital à risquer, puis utiliser cette fraction pour dimensionner vos lots via la fonction OrderSend ou PositionOpen.

Quelle est la différence entre position sizing et money management en MQL5 ?

Le position sizing est une composante du money management qui détermine la taille exacte de chaque trade en lots ou en capital. Le money management englobe un ensemble plus large de règles, incluant le risque par trade, le drawdown maximal, et l’utilisation du critère de Kelly pour optimiser la croissance du compte.

Comment implémenter le critère de Kelly dans un Expert Advisor MQL5 ?

Dans un EA MQL5, vous calculez d’abord la fraction de Kelly à partir de vos statistiques de backtest, puis vous l’appliquez pour définir le volume des ordres. Par exemple, si Kelly indique 0.2, vous risquez 20% du capital par trade, mais il est conseillé de réduire ce pourcentage pour éviter une volatilité excessive.

Quels sont les risques d’utiliser le critère de Kelly en trading algorithmique ?

Le critère de Kelly peut entraîner une forte volatilité du capital et un risque de ruine si les estimations de probabilités sont inexactes. En pratique, les traders utilisent souvent un Kelly fractionnaire, comme 25% de la valeur calculée, pour lisser la courbe de croissance et réduire les pertes potentielles.

Comment tester le position sizing avec Kelly sur un compte de démonstration MQL5 ?

Vous pouvez intégrer le critère de Kelly dans votre EA et l’exécuter sur un compte de démonstration via le Strategy Tester de MetaTrader 5. Analysez ensuite les rapports de performance pour ajuster la fraction de Kelly en fonction du drawdown et du ratio de Sharpe observés.

Recevez nos meilleurs conseils

1 email par semaine, désinscription en 1 clic. Pas de spam, jamais.