DeutschEnglishEspañolFrançaisItalianoPortuguês
Rejoindre le forum

Exemples de code ProBacktest : cinq systèmes commentés sur ProRealTime

Exemples de code ProBacktest : 5 systèmes testés sur le mini Nasdaq en 5 minutes, frais compris. 3 perdent, et le meilleur a cédé 66 % en chemin.

Cinq systèmes commentés, fiche du guide ProRealTime d’andlil
· 16 min de lecture

Cinq systèmes écrits pour ProBacktest, le module de test de ProRealTime, ont été lancés le 12 novembre 2026 dans la Complète 13, sur un compte démo : Mini Nasdaq 100 (NQ, 20 $ le point), bougies de 5 minutes, 50 000 bougies d’historique (de début mars au 12 novembre 2026 environ), 100 000 $ de capital, 2 $ de frais par ordre, spread de 0,5 point, mode tick par tick. Deux gagnent : le croisement de moyennes 20/50 (+79 307 $) et la cassure des 50 bougies (+5 724 $). Trois perdent : le MACD (-6 766 $), le RSI 2 (-9 915 $) et Bollinger (-67 274 $). Aucun n’est une stratégie à suivre.

Gain de cinq systèmes testés dans ProBacktest sur le mini Nasdaq 100 en 5 minutes
Deux systèmes gagnent, trois perdent, frais compris. Des exemples d’écriture, pas des stratégies. Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Quels résultats donnent les cinq systèmes ProBacktest testés sur ProRealTime ?

De +79 307 $ à -67 274 $ pour un même capital, avec de 31,08 % à 56,82 % de trades gagnants. Un trade est ici une position, de son ouverture à sa clôture.

Les cinq systèmes, frais compris. Source : rapports détaillés relevés à l’écran, ProRealTime Complète 13, compte démo, 12 novembre 2026 ; Mini Nasdaq 100 Full1226, 5 minutes, réglages ci-dessous.
Système Trades Trades gagnants Ratio gains/pertes Gain
1. Croisement des moyennes 20 et 50 1 080 38,15 % 1,08 +79 307 $
2. Excès du RSI 2 en tendance haussière 1 385 56,82 % 0,98 -9 915 $
3. Cassure des 50 dernières bougies 512 35,35 % 1,01 +5 724 $
4. Retour à la moyenne après la bande de Bollinger basse 1 186 51,52 % 0,9 -67 274 $
5. Ligne du MACD au-dessus ou au-dessous de zéro 1 689 31,08 % 0,99 -6 766 $

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Comment les cinq systèmes ont-ils été testés dans ProBacktest ?

Avec les mêmes réglages pour tous, plus exigeants que ceux de la plateforme. Par défaut, le panneau ProBacktest de la version 13 proposait 10 000 $ de capital, 0 $ de frais par ordre et un spread de 2 points désactivé : un test lancé tel quel ne paie rien. Le spread est l’écart entre le meilleur prix d’achat et le meilleur prix de vente ; à 20 $ le point, un demi-point pèse 10 $. Quant à l’historique, la page « Nos offres » en annonce 200 000 unités dans la Complète, version où elle range le backtesting (relevé du 12 novembre 2026).

Chaque code a été créé par la fenêtre « Nouveau ProBacktest », en « Création par programmation », à la place du modèle que propose l’éditeur. Le panneau latéral règle ensuite le « Capital initial », les « Frais par ordre », le « Spread », la « Période de la simulation » et le « ProBacktest en mode tick par tick », qui départage deux ordres exécutables dans la même bougie, d’après le manuel (page 32). Le bouton « Backtester mon système de trading » lance le calcul.

Les cinq codes partagent une grammaire. La ligne qui commence par deux barres obliques est un commentaire, que le programme ne lit pas. DEFPARAM CumulateOrders = False interdit le cumul : sans elle, selon le manuel ProBacktest (page 18), un code écrit par programmation peut ajouter une position à chaque bougie où la condition d’entrée est vraie.

BUY 1 CONTRACT AT MARKET achète un contrat au marché, à l’ouverture de la bougie suivante (page 6). SELLSHORT vend à découvert : la position gagne si le cours baisse. Comme on ne peut pas être acheteur et vendeur à la fois sur une même valeur, SELLSHORT ferme aussi une position acheteuse (page 5).

Que donne le croisement des moyennes mobiles 20 et 50 dans ProBacktest ?

Un gain de 79 307 $, soit 79,31 %, au prix d’un recul de 106 372 $ en chemin. L’idée : acheter quand la moyenne courte passe au-dessus de la longue, vendre à découvert dans le cas inverse.

// Systeme 1 : croisement de deux moyennes mobiles, a l'achat et a la vente
DEFPARAM CumulateOrders = False
rapide = Average[20](close)
lente = Average[50](close)
IF rapide CROSSES OVER lente THEN
   BUY 1 CONTRACT AT MARKET
ENDIF
IF rapide CROSSES UNDER lente THEN
   SELLSHORT 1 CONTRACT AT MARKET
ENDIF

Code testé dans ProRealTime Complète 13, compte démo, 12 novembre 2026.

Les lignes 3 et 4 rangent deux moyennes mobiles arithmétiques des clôtures, sur 20 et 50 bougies (Average[N](price) dans le glossaire du manuel). CROSSES OVER vérifie qu’une courbe passe au-dessus d’une autre, CROSSES UNDER au-dessous. Sans stop ni objectif, chaque croisement retourne la position : le système est toujours sur le marché, d’où 1 080 trades, 540 dans chaque sens.

Seuls 38,15 % des trades gagnent, mais un gagnant rapporte en moyenne 2 635,31 $ et un perdant coûte 1 506,65 $. Les achats font l’essentiel : +65 905 $, contre +13 402 $ pour les ventes. Les frais pèsent 4 318 $.

Le chiffre à regarder est ailleurs : le drawdown maximal, la plus forte baisse de la courbe des gains depuis un sommet, atteint 106 372 $, soit 66,44 % selon le rapport, avec jusqu’à 11 pertes consécutives. Le gain final suppose d’avoir tenu tout ce trajet.

Deux essais préalables du même code instruisent autant. Sur l’historique par défaut, trois séances du 10 au 12 novembre, avec 10 000 $ et sans frais : 11 trades, +9 145 $, 54,55 % de gagnants. Onze trades ne prouvent rien. Sur 50 000 bougies avec 10 000 $, la courbe s’arrête fin mars, capital épuisé : le manuel (page 34) arrête un backtest quand le capital ne couvre plus les pertes.

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Que donne l’achat d’un excès du RSI 2 en tendance haussière dans ProBacktest ?

Une perte de 9 915 $, avec 56,82 % de trades gagnants. L’idée : acheter un repli très court, quand le RSI sur deux bougies tombe sous 10, si le cours est au-dessus de sa moyenne de 200 bougies ; revendre quand le RSI dépasse 70.

// Systeme 2 : achat d'un exces de baisse a court terme, seulement dans une tendance haussiere
DEFPARAM CumulateOrders = False
tendance = close > Average[200](close)
r = RSI[2](close)
IF NOT LongOnMarket AND tendance AND r < 10 THEN
   BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND r > 70 THEN
   SELL AT MARKET
ENDIF
SET STOP pLOSS 40

Code testé dans ProRealTime Complète 13, compte démo, 12 novembre 2026.

La ligne 3 range une réponse, vrai ou faux, dans la variable tendance. La ligne 4 calcule le RSI sur 2 bougies, un oscillateur qui varie de 0 à 100 ; plus il est bas, plus la baisse récente a dominé. LongOnMarket vaut 1 si une position acheteuse est ouverte, 0 sinon (manuel, page 14) ; NOT l’inverse : on n’achète que si l’on n’est pas déjà acheteur.

SELL AT MARKET, sans quantité, ferme toute la position (page 6). SET STOP pLOSS 40 place un stop de protection à 40 points du prix d’entrée (page 8), soit 800 $ sur ce contrat.

La leçon tient dans deux moyennes : +498,08 $ par trade gagnant, -672,08 $ par trade perdant. Gagner souvent ne suffit pas quand on perd plus gros. Les frais, 5 540 $, aggravent une perte qu’ils n’ont pas créée ; le drawdown maximal atteint 40 065 $, soit 34,76 %.

Autre détail : la plus grosse perte, 1 659 $, fait plus du double des 800 $ du stop. Un stop fixe un seuil de sortie, pas un prix garanti.

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Que donne la cassure du plus haut ou du plus bas des 50 bougies dans ProBacktest ?

Un gain de 5 724 $, soit 5,72 %, après un drawdown de 86,92 %. L’idée : acheter quand la clôture dépasse le plus haut des 50 bougies précédentes, vendre à découvert sous leur plus bas.

// Systeme 3 : cassure du plus haut ou du plus bas des 50 bougies precedentes
DEFPARAM CumulateOrders = False
haut = Highest[50](high)[1]
bas = Lowest[50](low)[1]
IF close > haut THEN
   BUY 1 CONTRACT AT MARKET
ENDIF
IF close < bas THEN
   SELLSHORT 1 CONTRACT AT MARKET
ENDIF

Code testé dans ProRealTime Complète 13, compte démo, 12 novembre 2026.

Highest[50](high) donne le plus haut des plus hauts des 50 dernières bougies, Lowest[50](low) le plus bas des plus bas (glossaire du manuel). Le [1] final prend la valeur de la bougie précédente, selon la règle que le manuel ProBuilder applique à toute variable (page 8).

Ce [1] n’est pas un ornement. Sans lui, le niveau inclurait la bougie en cours, et sa clôture, qui ne dépasse jamais son propre plus haut, ne pourrait jamais le franchir : le système ne passerait aucun ordre.

Sans autre sortie que le signal contraire, il passe d’un sens à l’autre. Il gagne à l’achat, +31 793 $, et perd à la vente, -26 069 $.

Son résultat est la différence de deux sommes énormes : 794 388 $ de gains bruts, 788 664 $ de pertes brutes, d’où un ratio de 1,01. Le gain final pèse moins de 0,8 % des gains bruts. En chemin, la courbe a perdu 130 902 $ depuis un sommet, soit 86,92 %, avec jusqu’à 14 pertes d’affilée. Un résultat positif ne dit rien de ce qu’il a coûté de nerfs.

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Que donne le retour à la moyenne après la bande de Bollinger basse dans ProBacktest ?

La plus forte perte des cinq : 67 274 $, soit 67,27 % du capital, avec 51,52 % de trades gagnants. L’idée : acheter quand la clôture passe sous la bande de Bollinger basse, et sortir à son retour vers la moyenne.

// Systeme 4 : retour vers la moyenne apres un passage sous la bande de Bollinger basse
DEFPARAM CumulateOrders = False
basse = BollingerDown[20](close)
moyenne = Average[20](close)
IF NOT LongOnMarket AND close CROSSES UNDER basse THEN
   BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND close >= moyenne THEN
   SELL AT MARKET
ENDIF
SET STOP pLOSS 60

Code testé dans ProRealTime Complète 13, compte démo, 12 novembre 2026.

Le manuel ProBuilder (page 53) place la bande basse deux écarts-types sous la moyenne mobile arithmétique de 20 bougies. L’écart-type mesure la dispersion des cours autour de leur moyenne : plus le marché s’agite, plus la bande s’éloigne.

La ligne 5 achète quand la clôture croise la bande basse à la baisse, sans position ouverte ; la ligne 8 revend dès que la clôture retrouve la moyenne. Le stop est à 60 points, soit 1 200 $.

Plus d’un trade sur deux gagne, et le système perd : 964,60 $ en moyenne par gagnant, 1 141,99 $ par perdant, soit -56,72 $ par trade sur 1 186 trades, dont 4 744 $ de frais. La plus grosse perte, 6 664 $, dépasse de loin le stop. En chemin, la courbe a perdu 87 229 $ depuis son sommet, soit 74,90 %, et finit à 32 726 $.

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Que donne le passage de la ligne du MACD par zéro dans ProBacktest ?

Une perte de 6 766 $ sur 1 689 trades, précédée d’une erreur de syntaxe instructive. L’idée : acheter quand la ligne du MACD passe au-dessus de zéro, vendre à découvert au-dessous, avec un stop de 50 points et un objectif de 100.

// Systeme 5 : passage de la ligne MACD au-dessus ou au-dessous de zero
DEFPARAM CumulateOrders = False
ligne = MACDline[12,26,9](close)
IF ligne CROSSES OVER 0 THEN
   BUY 1 CONTRACT AT MARKET
ENDIF
IF ligne CROSSES UNDER 0 THEN
   SELLSHORT 1 CONTRACT AT MARKET
ENDIF
SET STOP pLOSS 50
SET TARGET pPROFIT 100

Code testé dans ProRealTime Complète 13, compte démo, 12 novembre 2026.

La ligne du MACD est, d’après le manuel ProBuilder (page 14), la moyenne mobile exponentielle des clôtures sur 12 périodes moins celle sur 26 : au-dessus de zéro, la courte passe au-dessus de la longue.

La première version écrivait MACDline[12,26](close). L’éditeur l’a refusée : « ligne 3 : Une des expressions suivantes serait plus appropriée que « un crochet fermant » : une virgule ». Le glossaire du manuel écrit MACDLine[S,L,Si](price) : trois paramètres, notés S, L et Si, même quand on ne demande que la ligne. Le message signifiait donc : il manque un paramètre. Avec [12,26,9], les trois longueurs de l’exemple du manuel (page 14), le code passe.

SET TARGET pPROFIT 100 place une limite, c’est-à-dire un objectif, à 100 points du prix d’entrée (manuel, page 9), soit 2 000 $ ; le stop vaut 1 000 $. Le plus gros gain, 1 996 $, bute sur l’objectif ; la plus grosse perte, 6 279 $, passe très au-delà du stop.

Seuls 31,08 % des trades gagnent, pour 1 741,10 $ en moyenne, contre 791,10 $ par perdant. Faites le calcul avec ces deux moyennes : l’équilibre demandait environ 31,24 % de gagnants. Le ratio de 0,99 dit la même chose ; le drawdown maximal atteint 45 050 $.

Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Qu’apprennent ces cinq backtests ProRealTime sur la lecture d’un rapport ?

Qu’aucun chiffre ne se lit seul. Le système le plus rentable gagne 38,15 % de ses trades, le plus perdant 51,52 % : le pourcentage de gagnants compte les trades, il ne les pèse pas. La moyenne des gagnants et celle des perdants le font.

Le gain final ne dit pas le chemin. Les deux systèmes gagnants ont connu des drawdowns de 66,44 % et de 86,92 % : lisez le drawdown maximal avant le gain.

Les cinq ratios gains/pertes vont de 0,9 à 1,08. Des centaines de milliers de dollars de gains et de pertes bruts se compensent presque, et le résultat net tient dans un écart étroit où les frais et le spread pèsent lourd.

L’échantillon et le capital font partie du test. Sur onze trades, le premier système gagnait 54,55 % du temps ; sur 1 080, 38,15 %. Et 10 000 $ n’ont pas passé le mois de mars. Et un stop n’est pas un plafond : sur les trois systèmes qui en ont un, la plus grosse perte le dépasse.

Reste le verdict, sujet de la leçon 8.7 de la formation : savoir renoncer. Un système qui montre ces chiffres se retravaille ou s’abandonne ; il ne se trade pas sur la foi de sa courbe finale. Le guide de ProRealTime Complète range, dans sa partie ProBacktest, les fiches sur le rapport détaillé, les frais et le mode tick par tick.

Ouvrir un compte démo gratuit

Ces cinq systèmes sont des exemples d’écriture, pas des stratégies recommandées. Les performances passées, réelles ou simulées, ne préjugent pas des performances futures. Le trading automatique exécute une stratégie sans la rendre gagnante et n’écarte pas le risque de perte. Les futures et les CFD à risque limité exposent à des pertes rapides ; les futures peuvent faire perdre plus que le dépôt. Les CFD à risque limité sont des instruments complexes, qui présentent un risque élevé de perte rapide en capital en raison de l’effet de levier.

Questions fréquentes sur les exemples de code ProBacktest

Ces cinq systèmes ProBacktest sont-ils des stratégies gagnantes ?

Non, ce sont des exemples d’écriture. Trois ont perdu sur le test du 12 novembre 2026, les deux autres ont connu des drawdowns de 66,44 % et de 86,92 %. Les performances passées, réelles ou simulées, ne préjugent pas des performances futures.

Pourquoi ProRealTime refuse-t-il MACDline[12,26](close) ?

Parce que MACDline demande trois paramètres : MACDLine[S,L,Si](price), selon le glossaire du manuel. L’éditeur réclame alors une virgule à la place du crochet fermant. MACDline[12,26,9](close) est accepté.

Pourquoi écrire DEFPARAM CumulateOrders = False en tête d’un système ProBacktest ?

Pour qu’il n’ajoute pas une position à une position ouverte : d’après le manuel ProBacktest (page 18), le cumul est actif par défaut dans un code écrit par programmation.

Quels frais ProBacktest applique-t-il par défaut dans ProRealTime Complète 13 ?

Aucun, sur le compte observé le 12 novembre 2026 : 0 $ par ordre et un spread de 2 points désactivé, pour 10 000 $ de capital. Ces tests ont été lancés avec 2 $ par ordre, 0,5 point de spread et 100 000 $.

Plus de 50 % de trades gagnants garantit-il un backtest gagnant ?

Non. Le retour à la moyenne de Bollinger gagne 51,52 % de ses trades et perd 67 274 $, parce que sa perte moyenne, 1 141,99 $, dépasse son gain moyen, 964,60 $.

Sources de référence utilisées

3

Codes tapés et exécutés dans ProRealTime Complète, version 13, sur un compte démo, le 12 novembre 2026 ; résultats relevés à l’écran le même jour.

Pour aller plus loin

L’auteur

Benoist Rousseau

Trader indépendant · Membre du CME et du CBOT

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 parcours
À lire ensuite
Trader, ça s’apprend
2 étapes pour progresser
1ProRealTime —
La 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
2Mon École de Trading —
Quand vous serez prêt Pour aller plus loin

Formations, séminaires, webinaire et coaching privé. Je vous accompagne personnellement.

Découvrir l’École
Excellentsur Trustpilot · 590+ avis

0 commentaire

La discussion se poursuit sur le forum andlil.com.
Laisser un commentaire

Votre nom et votre commentaire seront publiés après relecture ; votre adresse e-mail ne le sera jamais. Votre adresse IP est conservée un an, comme la loi l’exige. Pour en savoir plus ou exercer vos droits : charte de confidentialité. Le formulaire est protégé contre les robots par Cloudflare Turnstile.

Newsletter · chaque soir

Recevez mon débrief, sans filtre.

3 000lecteurs, déjà.

S’inscrire

  • 3 min chaque soir
  • Gratuit
  • Désinscription en 1 clic