Arrondi de la taille de lot sur MT4 et MT5 : méthode et pièges

Illustration géométrique de l'arrondi de la taille des lots

Pour arrondir une taille de lot, divisez le lot calculé par le pas de volume du courtier, gardez la partie entière, puis remultipliez par ce pas. Cet arrondi vers le bas respecte le volume autorisé et évite de dépasser le risque prévu. Voici comment l’appliquer sur MT4 et MT5, ce que l’arrondi change à votre risque réel, et comment le gérer quand vous copiez des trades vers plusieurs comptes.

Mt4copier
mt4copier.com
Ajustez les lots sur chaque compte
Local Trade Copier réplique vos trades entre comptes MT4 et MT5 avec un dimensionnement des lots configurable par compte.

Découvrir Local Trade Copier

En bref

  • Le pas de volume (volume step), le volume minimum et le volume maximum se lisent dans la spécification du symbole, chez votre courtier. Un lot qui n’est pas un multiple du pas peut être rejeté.
  • Formule : lot arrondi = partie entière(lot calculé ÷ pas) × pas. On arrondit vers le bas pour ne pas dépasser le risque fixé.
  • L’arrondi change le risque réel : un lot de 0,3333 devenu 0,33 réduit légèrement le risque, un arrondi vers le haut l’augmente.
  • Sur les petits comptes et en copie de trades, l’écart relatif dû à l’arrondi peut devenir important : il faut le prévoir avant de copier.

Table des matières

Pourquoi la taille de lot calculée n’est presque jamais valide

Le calcul d’un lot à partir du risque donne un nombre « brut ». La formule classique : taille de position = ((capital × risque par trade) ÷ pips risqués) ÷ valeur du pip par lot, comme le détaille ce cours sur la taille de position. Le résultat ressemble à 0,3333 ou 0,125. Or votre courtier n’accepte que certains volumes.

En forex et sur les CFD, la taille calculée doit être ajustée aux contraintes techniques du courtier pour être exécutable. Ces contraintes portent sur trois valeurs propres à chaque symbole.

Paramètre Constante MQL5 Rôle
Volume minimal SYMBOL_VOLUME_MIN Plus petit lot accepté
Volume maximal SYMBOL_VOLUME_MAX Plus gros lot accepté par ordre
Pas de volume SYMBOL_VOLUME_STEP Incrément autorisé (0,01, 0,1, 1…)

MQL5 expose bien ces contraintes de volume d’un actif sous ces trois noms. Sur MT4, l’équivalent s’obtient avec MarketInfo et les modes MODE_MINLOT, MODE_MAXLOT et MODE_LOTSTEP.

Où lire le pas de volume de votre courtier

Les valeurs changent d’un courtier à l’autre, et souvent d’un symbole à l’autre : l’or, un indice comme l’US100 ou une crypto n’ont pas forcément le même pas que l’EURUSD. Ne supposez donc rien.

La procédure est simple :

  1. Ouvrez la fenêtre Market Watch (Aperçu du marché) dans MetaTrader.
  2. Faites un clic droit sur le symbole.
  3. Choisissez « Specification ».
  4. Relevez Minimal volume, Maximal volume et Volume step.

Les spécifications de contrat (taille, devise, marge) varient selon les courtiers : relisez-les avant d’automatiser quoi que ce soit. La taille de contrat joue directement sur la valeur du pip, donc sur votre calcul : nous l’expliquons dans notre page sur la taille de contrat MT5.

La méthode d’arrondi en trois étapes

La règle recommandée : aligner le volume calculé vers le bas sur le pas autorisé. Concrètement :

  1. Divisez le lot calculé par le pas de volume.
  2. Arrondissez ce quotient à l’entier inférieur.
  3. Multipliez par le pas.

Un dernier nettoyage reste utile pour un EA : la précision flottante se corrige avec NormalizeDouble. En MQL4, la précision décimale doit correspondre à celle de MODE_LOTSTEP : deux décimales pour un pas de 0,01, une seule pour un pas de 0,1. Sans cela, un 0,07 peut devenir 0,07000000000000001 en mémoire et être refusé.

Ensuite, vérifiez les bornes. Le code doit contrôler minimum, maximum et pas avant l’envoi. Si le résultat est inférieur au pas, le trade ne peut pas être ouvert à ce risque : mieux vaut renoncer ou réduire la distance du stop que forcer un lot minimal qui multiplie votre risque.

Exemple de code MQL4

Voici la logique, sans fioriture :

double step = MarketInfo(Symbol(), MODE_LOTSTEP);
double minL = MarketInfo(Symbol(), MODE_MINLOT);
double maxL = MarketInfo(Symbol(), MODE_MAXLOT);
double lots = MathFloor(rawLots / step) * step;
if(lots < minL) lots = 0;      // risque trop faible : on ne trade pas
if(lots > maxL) lots = maxL;
lots = NormalizeDouble(lots, 2); // 2 décimales pour un pas de 0,01

Notez le choix : si le lot arrondi tombe sous le minimum, on met 0 au lieu de forcer le minimum. Certains codes publiés fixent au minimum quand le lot demandé est positif ; c’est acceptable seulement si vous mesurez le risque que cela représente.

Arrondir vers le bas, au plus proche ou vers le haut ?

L’arrondi « scolaire » (à partir de 5, on monte) n’est pas adapté à la gestion du risque. Si votre plafond est de 1 % par trade, un arrondi vers le haut vous fait dépasser ce plafond, même légèrement. Le principe est le même que dans les guides de dimensionnement : c’est la distance du stop qui dicte la taille, et non l’inverse.

Deux exemples publiés montrent l’effet :

  • Compte de 10 000 $, risque de 100 $, stop de 30 pips sur l’EURUSD, soit 300 $ de perte par lot : le calcul donne 0,3333 lot. Avec un pas de 0,01, l’arrondi inférieur donne 0,33 lot et un risque de 99 $.
  • Avec 400 $ de risque par lot, 0,125 lot devient 0,12 lot, soit 48 $, alors que 0,13 lot ferait 52 $.
Méthode Avantage Inconvénient
Vers le bas Ne dépasse jamais le risque fixé Sous-utilise légèrement le capital
Au plus proche Écart moyen le plus faible Peut dépasser le risque fixé
Vers le haut Utilise tout le budget Dépasse toujours le risque fixé

Sur un compte de 10 000 $, la différence entre 0,33 et 0,34 lot est négligeable. Sur un compte de 500 $, elle ne l’est plus.

Ce que l’arrondi change à votre risque réel

L’écart relatif dépend du rapport entre le pas et le lot. Illustration (calcul arithmétique, pas une donnée de marché) : avec un pas de 0,01, passer de 0,0192 lot à 0,01 lot divise la taille par près de deux. Passer de 0,0192 à 0,02 la fait monter de 4 %. Plus le lot est petit, plus l’arrondi pèse. Un compte de quelques centaines de dollars se retrouve vite avec un lot minimal de 0,01 qui représente déjà plus que le risque voulu.

Deuxième limite : l’arrondi ne rend pas le stop fiable. Le calcul d’un outil comme FOQUS ne tient pas compte de la commission, du spread ni du swap, et un stop au marché peut s’exécuter au-delà de son prix. Aux États-Unis, la NFA rappelle qu’un ordre stop-loss ne limite pas nécessairement les pertes au montant prévu, car les conditions de marché peuvent empêcher son exécution. Intégrez donc une marge de sécurité : le spread, le slippage et les commissions font partie de la perte par lot.

L’erreur 131 et les refus « invalid volume »

Sur MT4, l’erreur 131 (Invalid Trade Volume) survient fréquemment quand le volume envoyé ne respecte pas strictement le pas du courtier. Un ordre sous le minimum, au-dessus du maximum ou non multiple du pas peut être rejeté comme « invalid volume ». Chez la majorité des courtiers MT4, demander à un EA d’ouvrir 0,123 lot génère cette erreur.

L’erreur peut aussi apparaître dans un backtest, surtout avec un dimensionnement automatique. Si elle survient dans vos tests, le problème est presque toujours un lot non normalisé, pas le marché.

Checklist rapide quand un ordre est refusé :

  • Le lot est-il un multiple exact du pas du symbole ?
  • Est-il compris entre le minimum et le maximum ?
  • Les décimales correspondent-elles au pas (2 pour 0,01, 1 pour 0,1) ?
  • Le symbole du compte client a-t-il le même pas que celui du compte maître ?

La dernière question est la source de nombreux ennuis en copie de trades, traitée juste après.

Arrondi des lots quand on copie des trades entre comptes

Copier un trade du compte maître vers un compte client ajoute une couche de complexité. Le lot du maître peut être valide sur son courtier, mais le compte client a une autre taille de compte, un autre pas, un autre minimum, voire une autre plateforme. Trois cas courants :

Lot proportionnel au solde. Si le maître ouvre 0,30 lot avec un solde de 50 000 $ et que le client a 3 200 $, le rapport est de 0,064, soit 0,0192 lot théorique. Avec un pas de 0,01, l’arrondi inférieur donne 0,01 lot (environ moitié moins de risque que prévu) et l’arrondi au plus proche 0,02 (4 % de plus). Ce même calcul, détaillé avec les vérifications à faire, figure dans notre guide sur le dimensionnement proportionnel et dans celui des règles d’arrondi pour petits comptes.

Proportional lot calculation and rounding outcomes

Lot identique. Si vous voulez le même volume sur tous les comptes, le seul risque est le refus de volume. Le réglage est décrit dans la page copier avec la même taille de lot.

Lot au-dessus du maximum. Quand le maître dépasse la limite du client (50 lots, par exemple), il faut fractionner l’ordre : voir comment diviser un trade en plusieurs positions.

Pour un compte propriétaire (prop firm), l’écart d’arrondi compte aussi pour les limites de perte quotidienne. Vérifiez le lot réellement ouvert, pas seulement celui que vous visiez. Les symboles différents d’un courtier à l’autre (suffixes, indices nommés autrement) posent le même type de problème : lisez la page sur la copie entre symboles différents.

Si vous voulez filtrer les trades trop petits ou trop gros avant qu’ils n’arrivent sur le client, la page filtrer par taille de lot explique le principe du minimum, du maximum et de l’arrondi.

Notre point de vue : un arrondi est une décision de risque

Nous développons un copieur de trades local depuis 2010, et le sujet de l’arrondi revient à chaque fois qu’un utilisateur copie vers un compte plus petit que le maître. Notre position tient en trois points.

D’abord, ne laissez jamais l’arrondi se faire « tout seul ». Choisissez-le : vers le bas pour un compte financé où chaque dollar de drawdown compte, au plus proche si l’écart est négligeable. Ensuite, mesurez l’écart en pourcentage du risque, pas en centièmes de lot. Un 0,01 lot de trop est insignifiant sur 100 000 $ et énorme sur 1 000 $. Enfin, testez sur un compte démo avec les vrais symboles de chaque courtier : le pas de l’or ou d’un indice surprend souvent.

Notre logiciel fonctionne entièrement en local, sur votre PC ou votre VPS Windows, sans passage par un serveur cloud. Les ajustements de lot par compte se règlent donc au même endroit que le reste, et vous voyez tout de suite ce qui arrive sur chaque terminal. Pour des lots différents selon les comptes, consultez la page lots différents par compte.

— Rimantas

Appliquer cet arrondi automatiquement avec Local Trade Copier

Si vous gérez plusieurs comptes MT4 et MT5, refaire ces calculs à la main à chaque ordre n’est pas tenable. Local Trade Copier copie les trades du compte maître vers un ou plusieurs comptes clients en moins d’une seconde, avec un ajustement automatique du lot selon le solde de chaque compte, des options de gestion du risque et la copie entre MT4 et MT5. La formule et la mise en place du dimensionnement automatique sont détaillées dans Auto Lot Sizing MT4.

L’abonnement commence à 29 € par mois (plan PERSONAL), 89 € par mois pour le plan MANAGER et 199 € par mois pour le plan VIP ; les tarifs annuels sont de 290 €, 890 € et 1990 €. Un essai gratuit de 7 jours permet de vérifier l’arrondi sur vos propres courtiers avant de payer. Le détail des formules est sur la page des tarifs. Un PC ou un VPS Windows est nécessaire.

FAQ

Comment arrondir une taille de lot à 2 décimales ?

Si le pas de volume de votre courtier est de 0,01, divisez le lot par 0,01, gardez l’entier inférieur puis remultipliez par 0,01. Par exemple, 0,3333 donne 0,33. Dans un EA, terminez par NormalizeDouble(lots, 2) pour éviter les erreurs de précision flottante.

Quel est l’arrondi de 3,5 ?

En arrondi mathématique à l’unité, 3,5 devient 4 (à partir de 5, on monte). Pour un lot de trading, la règle est différente : on arrondit vers le bas au pas autorisé, afin de ne pas dépasser le risque prévu. Avec un pas de 1, un lot de 3,5 deviendrait donc 3.

Pourquoi MT4 affiche-t-il « invalid volume » ou l’erreur 131 ?

Le volume envoyé n’est pas un multiple du pas, ou il sort de l’intervalle minimum-maximum du symbole. Ouvrez Market Watch, clic droit sur le symbole, « Specification », puis comparez avec le lot envoyé. Corrigez par un arrondi inférieur au pas.

Que faire si le lot arrondi est inférieur au minimum du courtier ?

Le trade ne peut pas être ouvert à ce risque. Vous pouvez élargir le capital alloué, réduire la distance du stop ou renoncer au trade. Forcer le lot minimal fonctionne techniquement, mais le risque réel est alors supérieur à celui que vous aviez fixé.

L’arrondi des lots est-il le même sur MT4 et MT5 ?

Le principe est identique : minimum, maximum et pas propres à chaque symbole. Seuls les noms des constantes et des fonctions changent entre MQL4 et MQL5. Vérifiez toujours la spécification chez votre courtier, car les valeurs varient d’un compte à l’autre.

Sources

Recommandations

Leave a Reply

Your email address will not be published. Required fields are marked *