Taille de position ProBacktest sur ProRealTime : quantités et renforcement

Dans un code ProBacktest, le module de ProRealTime qui teste un système de trading sur les cours passés, la taille de position s’écrit dans l’ordre, entre le mot d’achat ou de vente et le mot AT. Le manuel ProBacktest, version 6.1.0 du 1er décembre 2025, décrit 2 façons de la donner : en unités, avec SHARES, ou en montant, avec CASH. Sans quantité, une entrée porte sur 1 unité et une sortie ferme toute la position. Le renforcement, lui, dépend d’un réglage placé en tête de code : DEFPARAM CUMULATEORDERS.

Comment écrire la quantité d’un ordre dans un code ProBacktest ?
En suivant le moule que donne le manuel : <Ordre> <Quantité> AT <Type>. L’ordre est un des quatre mots d’entrée ou de sortie, BUY, SELL, SELLSHORT ou EXITSHORT ; le type dit comment l’ordre est passé, par exemple AT MARKET, au prix du marché.
BUY 1 SHARE AT MARKET
Repris du manuel ProBacktest, page 6.
Le mot SHARES désigne une unité de l’instrument. D’après le manuel, « 1 SHARE » représente 1 action, 1 warrant, 1 contrat pour les futures ou 1 lot sur le Forex. Il peut être remplacé à tout moment par SHARE, CONTRACT, CONTRACTS, PERPOINT, LOT ou LOTS, sur n’importe quel type d’instrument. Écrivez le mot qui vous parle : le programme lit la même chose.
Si vous n’écrivez aucune quantité, le manuel fixe deux valeurs par défaut. BUY AT MARKET place un ordre de 1 au marché. SELL AT MARKET ferme entièrement la position.
Que fait le mot CASH dans un ordre ProBacktest ?
CASH donne un montant à investir au lieu d’un nombre de titres, et le manuel le réserve aux actions. La quantité est calculée à la clôture de la barre, c’est-à-dire de la bougie, et arrondie par défaut à l’unité inférieure ; les frais de courtage n’entrent pas dans ce calcul. Deux mots changent l’arrondi : ROUNDEDUP, vers l’unité supérieure, et ROUNDEDDOWN, vers l’unité inférieure.
BUY 1000 CASH ROUNDEDUP AT MARKET
Repris du manuel ProBacktest, page 6.
Qu’est-ce que le renforcement d’une position dans ProBacktest ?
Renforcer, c’est ajouter à une position déjà ouverte un ordre de même sens. Le manuel le dit dès la définition des ordres : BUY ouvre ou renforce une position longue, c’est-à-dire acheteuse, et SELL la ferme ou l’allège.
Le réglage qui l’autorise s’appelle CUMULATEORDERS. D’après le manuel, il est actif, sur True, lorsque vous créez un code directement par programmation : à chaque nouvelle barre, le système peut ajouter une position à la position existante si les conditions d’entrée sont vérifiées. Dans un code produit par la création assistée, le mode sans programmation, c’est l’inverse : la ligne DEFPARAM CUMULATEORDERS = False est insérée en début de code.
Pour qu’un système n’augmente pas une position déjà ouverte, le manuel demande d’écrire cette ligne tout au début du code. DEFPARAM est le mot qui définit un paramètre d’exécution ; le cumul ne peut pas être changé pendant l’exécution.
// Ce code achètera 1 action à chaque barre, avec un maximum de 3 positions en cours
DEFPARAM CUMULATEORDERS = True
IF COUNTOFPOSITION < 3 THEN
BUY 1 SHARES AT MARKET
ENDIF
Repris du manuel ProBacktest, page 18.
// Ce code achètera 5 actions une seule fois
DEFPARAM CUMULATEORDERS = False
BUY 5 SHARES AT MARKET
Repris du manuel ProBacktest, page 18. Ce sont deux codes distincts, à ne pas coller l’un sous l’autre.
Comment plafonner la taille d’une position renforcée dans ProBacktest ?
Avec une condition sur COUNTOFPOSITION, comme dans le premier exemple : tant que la taille est inférieure à 3, le programme achète ; ensuite, il s’abstient. Le manuel décrit 3 variables de taille de position.
| Variable | Ce qu’elle donne |
|---|---|
| COUNTOFPOSITION | La taille de la position, en lots, titres ou contrats : positive si la position est longue, négative si elle est courte |
| COUNTOFLONGSHARES | La taille de la position si elle est longue, 0 sinon |
| COUNTOFSHORTSHARES | La taille de la position si elle est courte, 0 sinon |
Le manuel appelle pyramidage cette suite d’ordres de même sens, et en donne un exemple en annexe : la deuxième condition ajoute 1 unité à une position longue, dans la limite de 3.
DEFPARAM CUMULATEORDERS = True
IF NOT ONMARKET AND RSI[14](Close) < 30 THEN
BUY 1 SHARES AT MARKET
ENDIF
IF LONGONMARKET AND Open > Close[1] AND COUNTOFPOSITION < 3 THEN
BUY 1 SHARES AT MARKET
ENDIF
IF Close CROSSES UNDER Average[14](Close) THEN
SELL AT MARKET
ENDIF
D’après le manuel ProBacktest, page 66, commentaires retirés. ONMARKET vaut 1 si une position est ouverte, LONGONMARKET si elle est longue.
Un rappel du manuel, page 14 : le code est évalué à la fin de la bougie, et les ordres sont passés à l’ouverture de la suivante. Après un achat décidé sur la première bougie, LONGONMARKET ne vaut donc 1 qu’à la clôture de la deuxième.
Que deviennent les stops et les objectifs quand la position ProBacktest est renforcée ?
Ils sont recalculés sur le prix d’entrée moyen, à chaque changement de taille de la position. L’exemple du manuel se vérifie de tête. Vous achetez une action à 10,00 € avec un stop de protection de 10 % et une limite de profit de 150 % : le stop est à 9,00 €, la limite à 25,00 €. Vous en achetez une seconde à 20,00 € : le prix d’entrée moyen passe à 15 €, le stop à 13,50 et la limite à 37,50 €, pour la position prise dans son ensemble.
Ce prix moyen se lit avec POSITIONPRICE. D’après le manuel, seuls les renforcements le modifient : trois actions achetées à 5, 10 et 15 € donnent 10 €, et en vendre une à 20 € n’y change rien.
Pour sortir, le cumul n’est pas nécessaire : d’après le manuel, plusieurs ordres de même direction peuvent sortir du marché même lorsque CUMULATEORDERS est sur False. On peut acheter 5 actions, puis écrire SELL 3 SHARES AT MARKET.
Quels réglages bornent la taille des ordres dans un ProBacktest ?
Deux paramètres, que le manuel réserve aux backtests : DEFPARAM MINORDER = n et DEFPARAM MAXORDER = p. Ils bloquent les ordres dont la quantité, en lots, contrats ou actions, est inférieure à n ou supérieure à p.
DEFPARAM MINORDER = 100
BUY 1000 CASH AT MARKET
Repris du manuel ProBacktest, page 21. Si le dernier prix de l’instrument est au-dessus de 10 €, la quantité est inférieure à 100 et l’ordre n’est pas envoyé.
En trading automatique, avec le module ProOrder, un réglage s’ajoute : la taille maximum de position, définie au lancement du système. D’après le manuel, elle a la priorité sur les quantités du code : si le code demande 3 lots et que la limite est fixée à 1, l’ordre est ignoré.
Un exemple de code illustre une instruction ; ce n’est pas une stratégie. Les résultats d’un backtest sont des résultats passés et simulés : ils ne préjugent pas des résultats futurs. Le trading automatique exécute une stratégie sans la rendre gagnante et n’écarte pas le risque de perte. Les futures peuvent faire perdre plus que le dépôt.
La page « Nos offres » de ProRealTime cite le backtesting parmi les fonctions de la Complète, et le comparatif des offres coche l’AutoTrading dans la Complète et la Premium, pas dans la version Web (relevés du 12 novembre 2026). Pour voir une position grossir sans frais, un compte de démonstration suffit.
Questions fréquentes sur la taille de position dans ProBacktest
Quelle quantité ProBacktest prend-il si le code n’en donne pas ?
1 unité pour une entrée en position, et la quantité totale de la position pour une sortie, d’après le manuel ProBacktest, page 6.
Comment empêcher un code ProBacktest de renforcer une position ?
En écrivant DEFPARAM CUMULATEORDERS = False tout au début du code.
CUMULATEORDERS est-il activé par défaut dans ProBacktest ?
Oui dans un code créé directement par programmation ; non dans un code issu de la création assistée, où la ligne DEFPARAM CUMULATEORDERS = False est insérée en début de code.
Comment limiter une position ProBacktest à trois unités ?
Avec la condition IF COUNTOFPOSITION < 3 THEN devant l’ordre d’achat, comme dans l’exemple du manuel.
Renforcer une position améliore-t-il le résultat d’un backtest ?
Rien ne le garantit : une position plus grosse amplifie les gains comme les pertes. Et les résultats d’un backtest ne préjugent pas des résultats futurs.
Sources de référence utilisées
3
- ProRealTime, manuel ProBacktest (PDF) : version 6.1.0 du 1er décembre 2025, pages 5, 6, 14, 16, 18, 19, 21, 45 et 66, relu le 12 novembre 2026.
- ProRealTime, Nos offres : le backtesting parmi les fonctions de la Complète, relevé le 12 novembre 2026.
- ProRealTime, Comparez nos offres : la ligne AutoTrading, version par version, relevée le 12 novembre 2026.
Aucun exemple de code n’a été exécuté dans la plateforme.
Pour aller plus loin
- Ouvrir un compte démo ProRealTime : pour tester une taille de position sans engager un euro.
- ProRealTime Futures avec Interactive Brokers : le compte qui permet de trader les futures depuis la plateforme.
Benoist Rousseau est trader depuis 1994 et membre du Chicago Mercantile Exchange (CME) et du Chicago Board of Trade (CBOT), où il détient deux sièges de membre individuel. Fondateur d'Andlil.com en 2010 et auteur de Devenez Trader Pro (2016), il a formé des centaines de traders à travers sa formation scalping. Dans la rubrique ProRealTime, il partage tutoriels, réglages et programmation ProBuilder, pour adapter la plateforme à sa méthode plutôt que l'inverse.
Découvrir mon parcoursLa formation complète Gratuit
Le trading commence par les bons outils.
- La formation complète à la plateforme
- Mes Graphiques & Espaces de travail : accès exclusif à mes indicateurs, modèles et réglages personnalisés
- Configuration guidée, pas à pas
Quand vous serez prêt Pour aller plus loin
Formations, séminaires, webinaire et coaching privé. Je vous accompagne personnellement.
Découvrir l’École


