TIMEFRAME ProBuilder : plusieurs unités de temps sur ProRealTime

Pour faire travailler un même code ProBuilder sur plusieurs unités de temps, ProRealTime fournit une instruction : TIMEFRAME(X UnitéDeTemps, Mode). Elle appelle une unité de temps supérieure à celle du graphique, et qui en est un multiple. Elle a deux modes de calcul : DEFAULT, qui recalcule à chaque nouveau prix reçu, et UPDATEONCLOSE, qui ne calcule qu’à la clôture du chandelier de l’unité supérieure. Le manuel officiel (version 6.1.0 du 1er décembre 2025) la décrit pages 41 à 43.

À quoi sert l’instruction TIMEFRAME de ProBuilder ?
Elle sert à calculer une partie du code dans une autre unité de temps que celle du graphique. L’unité de temps est la durée que représente chaque bougie : cinq minutes, une heure, un jour. ProBuilder est le langage de programmation de ProRealTime ; une instruction est un ordre que l’on y écrit.
Le manuel range TIMEFRAME parmi les « instructions multi-périodes » et précise qu’elles valent pour les backtests, les indicateurs et les ProScreeners. Sans elle, un code ne voit que les bougies du graphique où il est posé. Avec elle, il lit la tendance de l’heure et le détail des cinq minutes dans le même programme.
Comment s’écrit TIMEFRAME dans un code ProBuilder ?
Elle s’écrit TIMEFRAME(X UnitéDeTemps, Mode) : X est le nombre, UnitéDeTemps le type de période, et Mode le mode de calcul, qui est facultatif. L’exemple du manuel est TIMEFRAME(1 Hour). Tout ce qui suit cette ligne est calculé dans l’unité indiquée, jusqu’à la prochaine ligne TIMEFRAME.
| Période | Mots acceptés | Exemple du manuel |
|---|---|---|
| Tick | Tick / Ticks | TIMEFRAME(1 Tick) |
| Seconde | sec / Second / Seconds | TIMEFRAME(10 Seconds) |
| Minute | mn / Minute / Minutes | TIMEFRAME(5 Minutes) |
| Heure | Hour / Hours | TIMEFRAME(1 Hour) |
| Jour | Day / Days | TIMEFRAME(5 Days) |
| Semaine | Week / Weeks | TIMEFRAME(1 Week) |
| Mois | Month / Months | TIMEFRAME(2 Months) |
| Année | Year / Years | TIMEFRAME(1 Year) |
Le langage sait aussi dire où il se trouve : GetTimeFrame, d’après le glossaire du manuel, renvoie la période actuelle du code, en secondes.
Quelles unités de temps peut-on appeler avec TIMEFRAME dans ProBuilder ?
Uniquement des unités de temps supérieures à celle du graphique, et qui en sont un multiple. Ce sont les deux règles du manuel, et il les illustre ainsi : sur un graphique 10 minutes, on peut appeler 20 minutes, 1 heure ou 1 jour ; on ne peut appeler ni 5 minutes, qui est plus petit, ni 17 minutes, qui n’est pas un multiple de 10.
On regarde donc toujours vers le haut : pour mêler l’heure et les cinq minutes, le code se pose sur le graphique cinq minutes, et c’est l’heure que l’on appelle.
Comment revenir à l’unité de temps du graphique après TIMEFRAME ?
Avec TIMEFRAME(DEFAULT), qui ramène le code à l’unité de temps de base du graphique. Le manuel ajoute que l’on peut aussi indiquer directement cette unité, et que l’éditeur colore le fond des blocs de code placés dans une unité supérieure, pour que l’on voie d’un coup d’œil ce qui se calcule où.
TIMEFRAME(1 Hour)
MidPriceDefault=(Open+Close)/2
TIMEFRAME(DEFAULT)
Return MidPriceDefault as "Prix Moyen mode Default", Average[20](Close)
Variante minimale d’après le manuel ProBuilder : exemple de la page 42, retour par TIMEFRAME(DEFAULT) de la page 41, moyenne de la page 17. Code non exécuté dans la plateforme.
Les deux premières lignes calculent, sur l’heure, le milieu entre l’ouverture et la clôture. La troisième revient au graphique. La dernière affiche ce prix moyen horaire à côté d’une moyenne mobile à 20 barres, calculée, elle, sur les bougies du graphique. La variable née dans l’heure se lit sans difficulté ailleurs : le manuel indique que les variables peuvent être utilisées dans toutes les unités de temps d’un même code. Il pose en revanche un interdit : une variable calculée dans une unité de temps ne peut pas être écrasée par un calcul fait dans une autre.
Quelle différence entre les modes DEFAULT et UPDATEONCLOSE de TIMEFRAME ?
En mode DEFAULT, les calculs de l’unité supérieure sont refaits à chaque nouveau prix reçu dans l’unité de base du graphique ; en mode UPDATEONCLOSE, ils ne sont faits qu’à la clôture du chandelier de l’unité supérieure. DEFAULT est le mode retenu quand on n’écrit pas de second paramètre.
Le mot DEFAULT a donc deux emplois, et il faut les distinguer. Seul entre les parenthèses, il désigne l’unité de temps du graphique. En seconde position, après une unité, il désigne le mode de calcul à chaque prix. Le manuel montre la différence entre les deux modes avec ce code.
// calcul d'un prix moyen entre l’ouverture et la clôture dans les deux modes disponibles.
TIMEFRAME(1 Hour)
MidPriceDefault=(Open+Close)/2
TIMEFRAME(1 Hour, UPDATEONCLOSE)
MidPriceUpdateOnClose=(Open+Close)/2
Return MidPriceDefault as "Prix Moyen mode Default" COLOURED ("DarkSeaGreen"), MidPriceUpdateOnClose as "Prix Moyen mode UpdateOnClose" COLOURED ("DarkRed")
Exemple repris du manuel ProBuilder, page 42 (le commentaire et la dernière instruction, coupés par la mise en page du PDF, sont remis chacun sur une ligne). Code non exécuté dans la plateforme.
Les deux blocs font le même calcul, le milieu entre l’ouverture et la clôture de la bougie d’une heure ; seul le mode change. Le manuel commente le résultat sur un graphique 5 minutes : la première valeur se met à jour à chaque chandelier 5 minutes, alors que la seconde est mise à jour à chaque chandelier d’une heure clôturé.
Voilà le piège, et il est tout entier dans cette phrase. En mode DEFAULT, la valeur horaire que vous lisez à 10 h 25 est celle d’une heure qui n’est pas finie : elle est recalculée à chaque prix, et peut encore changer jusqu’à 11 heures. En mode UPDATEONCLOSE, vous ne voyez que des heures terminées. Aucune des deux n’est fausse ; il faut seulement savoir laquelle on a écrite.
Quelles règles suivre avec TIMEFRAME dans un backtest, un système automatique ou un ProScreener ?
Deux règles s’ajoutent, d’après la page 43 du manuel. Pour le backtest, qui est le test d’une stratégie sur les cours passés, comme pour le trading automatique, un code compte au plus dix instructions TIMEFRAME intraday, c’est-à-dire d’une unité inférieure au journalier. Pour le ProScreener, l’outil de scan de marché, seul le mode DEFAULT est disponible, de sorte qu’il est inutile de le préciser, et seule une liste prédéfinie d’unités de temps est admise.
Cette liste figure dans le manuel ProScreener et compte seize unités : 1, 2, 3, 5, 10, 15 et 30 minutes, 1, 2, 3 et 4 heures, puis Daily, Weekly, Monthly, Quarterly et Yearly.
Des résultats passés, réels ou simulés par un backtest, 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.
Dans quelle version de ProRealTime peut-on utiliser TIMEFRAME dans un indicateur ?
Dans la Complète et dans la Premium : le comparatif officiel des offres, relevé le 12 novembre 2026, y coche la ligne « Créer et importer des indicateurs personnalisés » ; pas dans la version Web. Dans la version 13, l’éditeur s’ouvre par le menu « Graphiques », entrée « Éditeur de code ProBuilder » (Ctrl+Maj+P). Le code du manuel s’essaie sans enjeu sur un compte de démonstration, devant un graphique 5 minutes.
Questions fréquentes sur TIMEFRAME dans ProBuilder
À quoi sert TIMEFRAME dans ProBuilder ?
À calculer une partie d’un code dans une unité de temps supérieure à celle du graphique, par exemple l’heure sur un graphique 5 minutes.
Peut-on appeler une unité de temps plus petite que celle du graphique avec TIMEFRAME ?
Non. Le manuel n’autorise que des unités supérieures à celle du graphique, et qui en sont un multiple : sur un graphique 10 minutes, ni 5 minutes ni 17 minutes.
Quelle est la différence entre DEFAULT et UPDATEONCLOSE dans TIMEFRAME ?
DEFAULT refait les calculs de l’unité supérieure à chaque nouveau prix reçu dans l’unité du graphique. UPDATEONCLOSE ne les fait qu’à la clôture du chandelier de l’unité supérieure.
Quel mode TIMEFRAME s’applique si l’on n’en écrit aucun ?
Le mode DEFAULT : c’est celui qui est utilisé lorsque le second paramètre n’est pas indiqué.
Combien d’instructions TIMEFRAME un backtest ProRealTime accepte-t-il ?
Dix instructions TIMEFRAME intraday (unité inférieure au journalier) au plus, pour le backtest comme pour le trading automatique, d’après le manuel ProBuilder version 6.1.0.
Sources de référence utilisées
3
- ProRealTime, manuel de programmation ProBuilder : version 6.1.0 du 1er décembre 2025, pages 17 et 41 à 43, glossaire, lu le 12 novembre 2026.
- ProRealTime, manuel de programmation ProScreener : version 6.1.0 du 1er décembre 2025, page 10, liste des unités de temps, lue le 12 novembre 2026.
- ProRealTime, Comparez nos offres : ligne « Créer et importer des indicateurs personnalisés », relevée le 12 novembre 2026.
Le nom de l’entrée de menu et son raccourci ont été relevés à l’écran dans ProRealTime Complète, version 13, le 12 novembre 2026.
Pour aller plus loin
- Ouvrir un compte démo ProRealTime : pour essayer vos premiers codes sans engager un euro.
- Ouvrir un compte ProRealTime : les trois courtiers comparés, pour le jour où il vous faut un compte réel.
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


