Première approche sur le multi timeframe avec ProRealTime
Forums › ProRealTime forum Français › Support ProOrder › Première approche sur le multi timeframe avec ProRealTime
- This topic has 87 replies, 9 voices, and was last updated 6 months ago by robertogozzi.
-
-
07/05/2018 at 8:00 AM #75255
Bonjour à tous, dans cet article je vais vous présenter la nouvelle fonctionnalité tant attendue par beaucoup et depuis plusieurs années, le support « multi timeframe » pour le trading automatique sous ProBacktest et ProOrder !
Qu’est-ce que le mode multi timeframe ?
Puisque certains d’entre vous n’aurons aucune idée de quoi il s’agit et pourquoi cela est si important et intéressant de part son utilisation, je vais vous expliquer succinctement comment et pourquoi utiliser différentes unités de temps et quel impact cela peut avoir sur vos stratégies de trading.
Unité de temps différentes pour déterminer des stratégies :
Lorsque vous bâtissez une stratégie de trading, il est courant d’utiliser des informations précieuses et distiller sur plusieurs unités de temps. Par exemple : imaginons que pour votre nouvelle stratégie de scalping sur le DAX en unité de temps 1 minute, vous ayez besoin de connaître la tendance du jour du marché, celle établit dans un graphique 5 minutes à l’aide de moyennes mobiles ou de tout autres indicateurs équivalents. Jusqu’à présent (et sans notre nouvel outil !) pour obtenir des données d’unité de temps supérieures, il fallait utiliser sa calculatrice et opérer des règles de 3 pour définir les hypothétiques périodes qui nous auraient donné des données approximatives sur les MA en 5 minutes. Ça n’est plus le cas aujourd’hui, désormais on peut appeler les données de n’importe quelle autre unité de temps et à la volée pour prendre nos décisions de trading.
Créons notre première stratégie en MTF !
Notre stratégie de trading sur le DAX pourrait donc se programmer comme ceci :
123456789101112131415161718defparam cumulateorders=false//5 minutes TF (get the trend of the 5 minutes chart)timeframe(5 minutes,updateonclose)MA20 = average[20]bulltrend = summation[3](MA20>MA20[1])=3//"default" timeframe (the timeframe you will launch the strategy on)timeframe(default)sto = Stochastic[14,3](close)avgsto = average[3](sto)buyc = sto crosses over avgsto and sto<20if buyc and bulltrend thenbuy at marketendifset target pprofit 3set stop ploss 15Nous avons donc dans notre stratégie 2 timeframe différents, celui en 5 minutes (déclaré en tête du code) et celui du timeframe « default ». Celui-ci définit le timeframe qui est utilisé pour lancer la stratégie sous ProBacktest ou ProOrder, dans notre exemple il s’agirait du timeframe 1 minute.
En séparant les unités de temps, on implique que chaque variable sera calculée dans le timeframe dans le bloc où elle se situe. Notre variable « MA20 » est donc calculé dans le TF 5 minutes, mais celle-ci peut être testé dans tout autre unité de temps comme c’est le cas ) à la ligne 13, dans le TF « default » dans la variable « bulltrend ».
Vous remarquerez que l’éditeur de syntaxe colorie d’une couleur différente chaque bloc d’unité de temps différente, déclaré à l’aide de l’instruction TIMEFRAME (la même instruction que pour ProScreener, mais avec une syntaxe différente que nous aborderons plus tard) et autre que la principale (le TF default).
La cadence de calcul et les mises à jour des variables (syntax)
La syntaxe de l’instruction TIMEFRAME est TIMEFRAME (UT,mode) qui permet de passer le code dans un timeframe différent de l’UT principale, ou TIMEFRAME(default) pour retourner dans l’UT principale. “mode” est facultatif (barre courante par défaut)
Exemple:
- TIMEFRAME(weekly, UpdateOnClose)
- TIMEFRAME(30 minutes, default)
- TIMEFRAME(5 minutes)
List des timeframes disponibles : x second (s), x minute (s), x hour (s), hourly, x day (s), daily, x week (s), weekly, x month (s), monthly, yearly
Mode disponible:
- UpdateOnClose: on travaille uniquement en barres clôturées
- Default: Les variables définies dans l’UT sup prennent en compte chaque update de l’UT principale
Attention!
UpdateOnClose permet de ne lire le code et donc de renseigner les variables qu’une seule fois par barre, à sa fermeture. Il faut bien comprendre que sans l’utilisation de ce mode, les données des variables sont mise à jour à chaque nouvelle barre de l’unité de temps « default ».
Donc sans avoir déclaré ce mode dans notre code d’exemple, la variable MA20 du TF 5minutes auraient été renseigné avec le Close de la barre de 1 minute. Cela aura une importance énorme si vous voulez récupérer les bonnes données de vos indicateurs dans les timeframes supérieurs ! Pourquoi ? Tout simplement parce qu’en règle général, on attend toujours la clôture pour considérer une information juste et cela est d’autant plus important lorsque l’on considère prendre des décisions de trading basées sur des calculs d’indicateurs.
Différence entre UpdateOnClose et le mode « default »
On peut utiliser l’instruction GRAPH pour visualiser nos différentes variables se calculant dans les TF différents :
En mode « UpdateOnClose », notre variable MA20 (en rouge), ne se recalcule qu’une seule fois toutes les 5 minutes.
En mode « default », les variables de l’unité de temps 5 minutes se calcule à chaque update du timeframe default, on remarque donc que les ordres sont différents, puisqu’il ne s’agit plus alors de la même stratégie !!
Ce qu’il faut retenir de cette particularité :
- En mode “updateonclose”, les portions de codes du TIMEFRAME sont évaluées au changement d’index du TIMEFRAME, et la variable est donc historisée naturellement dans l’UT supérieure.
- En mode « default », le code entier est évalué à chaque changement d’index de l’UT principale. Cependant, l’index des variables dans les TIMEFRAME supérieurs n’est incrémenté que lors du changement d’index de leur UT, tandis que l’état courant [0] des variables est réinitialisé à sa valeur au close du dernier chandelier aggrégé (soit [1]) avant évaluation du code du TIMEFRAME.
Interaction avec les ordres
Ce que beaucoup d’entre vous attendent de cette nouvelle fonctionnalité, c’est la capacité à interagir avec les ordres, sans attendre que la barre de l’unité de temps de notre stratégie soit terminée et donc que le code soit lu.
En effet, le mode multitimeframe ne change rien au comportement de ProBacktest/ProOrder. Le code n’est toujours lu qu’une seule fois par barre et à sa fermeture. Sauf que désormais on peut utiliser sa stratégie 15 minutes et interagir avec ses ordres toutes les minutes par exemple :
Exemple de stratégie :
- Les ordres sont issus d’un croisement avec le SuperTrend en 15 minutes en données clôturées (ligne bleue)
- Le niveau de stoploss est calculé avec les 20 derniers plus bas en 5 minutes en temps réel car il n’utilise pas le mode UpdateOnClose (ligne rouge)
- Le stoploss est modifié toutes les minutes si nécessaire.
La ligne noire représente le Close de la bougie 1 minute.
Comme vous pouvez le constater, cela ouvre un large champ de nouvelles possibilités et d’exploration pour les stratégies de trading automatique, comme par exemple :
- Utiliser les informations d’autres unités de temps pour vous conforter dans vos prises de décisions de trading
- Modifier vos stoploss et takeprofit à la volée, à l’intérieur de vos stratégies
- Entrée ou sortir avant la fermeture du marché dans une stratégie daily
- Sortir partiellement vos positions à l’intérieur des chandeliers
- Ouvrir de nouvelles positions à l’intérieur des barres si le marché vous donne raison
- etc.
Bref, il vous faudra un peu désapprendre tout ce que vous pensiez auparavant, il n’y a désormais quasiment plus aucune limite, il n’y a que plus que votre imagination qui vous limitera dans vos développements !
Trading manuel avec ProOrder !
Une autre capacité de cette nouvelle fonctionnalité est de pouvoir GRAPHER les indicateurs et ainsi de bénéficier du multi timeframe dans son trading manuel. En effet, l’affichage d’indicateurs d’autres unités de temps n’est toujours pas possible dans le graphique des prix, donc pourquoi ne pas utiliser ce que ProBacktest nous offre ?
Imaginons que dans votre trading quotidien, vous utilisiez les moyennes mobiles 20 et 50 en timeframe 5 minutes. Mais vous ayez besoin des Bandes de Bollinger 15 minutes et de la tendance Daily avec une SMA20. Déclarons ces variables dans une stratégie de trading :
1234567891011121314151617181920212223242526defparam cumulateorders=false//daily SMAtimeframe(daily)smad20 = average[20]timeframe(15 minutes,updateonclose)bollup = BollingerUp[20](close)bolldn = BollingerDown[20](close)//5 minutes SMAtimeframe(default)sma20 = average[20]sma50 = average[50]//dummy order conditionif sma20=-100 thenbuy at marketendifgraph close as "price"graph smad20 coloured(0,0,255)graph bollup coloured(100,100,100)graph bolldn coloured(100,100,100)graph sma20 coloured(0,255,0)graph sma50 coloured(255,0,0)Ce qui nous donne sur notre écran :
Après avoir lancé le backtest, le graphique se mettra à jour automatiquement et vous aurez alors un support MTF également pour votre trading manuel !
Bien sûr, ce n’est qu’un détournement de la fonctionnalité pour nous permettre de l’utiliser dans notre trading manuel, vous n’aurez pas de chandeliers, ni toutes les fonctionnalités graphiques que propose le langage ProBuilder, mais je pense que cela intéressera beaucoup de traders!
Multi timeframe, une nouvelle approche pour le trading automatique avec ProRealTime
Je suis très excité par les prochaines semaines et toutes les nouvelles idées qui émergeront de nos membres. Cette nouvelle fonctionnalité pour le trading automatisé nous permettra d’explorer de nouvelles stratégies comme jamais auparavant avec ProRealTime.
5 users thanked author for this post.
07/05/2018 at 8:05 AM #75258Je vous informe que la programmation en mode MultiTimeframe avec ProBackest est disponible avec un compte PRT software depuis hier ! Un nouveau jour est arrivé ! 🙂
Il est temps de tester cette fonctionnalité tant attendue et donner des retours ! Bien que cette version soit très stable, si vous avez trouvé un problème ou avez des questions, n’hésitez pas à les poster ci-dessous. Merci.
Plus très longtemps à attendre pour pouvoir l’essayer en trading automatique live avec IG ou un compte PRT sponsored (quelques semaines me dit-on) . En attendant, on peut élaborer et tester ses stratégies avec ProBacktest !
07/10/2018 at 9:54 AM #75707Bonjour Nicolas,
le multitimeframe sur PRT a l’air d’être effectivement très prometteur…
ayant un compte PRT sponsored , peux tu me confirmer que j’ai deja accès en backtest à cette fonction.
Je viens d’essayer de programmer un bout de code mais j’ai un message d’erreur lors de la validation.
Merci
07/10/2018 at 10:16 AM #75708Non, pas encore dispo avec un compte PRT sponsored. Ce sera accessible une fois la phase de Beta terminé, comme c’est le cas avec toutes les nouveautés. PRT test d’abord “chez lui”, avant de le rendre accessible chez les autres courtiers.
1 user thanked author for this post.
07/10/2018 at 4:31 PM #75744Update: je pense que le MTF sera dispo vers Mercredi prochain pour les comptes IG et PRT Sponsored pour les comptes DEMOS uniquement dans un premier temps. La migration en comptes réels se ferait ensuite, comme d’habitude pour les gros updates, pays par pays.
1 user thanked author for this post.
07/10/2018 at 8:31 PM #75752merci pour ton retour et ton suivi.
07/12/2018 at 4:32 PM #7588307/16/2018 at 9:00 AM #7607107/29/2018 at 9:37 AM #76990Bonjour, c’est une bonne nouvelle. Enfin Prorealtime peut faire du multi timeframe comme mt4, mt5 etc… Bravo aux développeurs, je souhaite que ces fonctionnalités permette à cette merveilleuse plateforme d’aller encore plus haut sur le marché internationnal. Cocorico !!!! Les limitations proorder étaient son point faible, dès que cela passera en réel, ce sera rattrappé.
Avons-nous une date approximative de mise en production sur les comptes réels ? Merci Nicolas pour ton site.
Bonnes vacances à toutes et à tous.
08/01/2018 at 8:49 AM #7723708/01/2018 at 10:02 AM #77263Enfin Prorealtime peut faire du multi timeframe comme mt4
Sauf que ça n’est pas vraiment le cas dans MT4, pour les backtests. Si vous utilisez la période courante pour un indicateur de timeframe supérieur, vous obtiendrez le cours de clôture qu’il aura dans le futur… cela provoque des désynchronisations avec le temps réel. ça n’est pas le cas avec ProBacktest, car on peut choisir soit le Close de la période précédente, soit le vrai temps réel.
Sous MT4, les backtests sont, par défaut, réalisés avec des ticks simulés entre les données OHLC. Avec ProBacktest, on a une précision bien plus profonde avec les véritables ticks.
Est-il possible d’utiliser le multitimeframe avec une variable pour les périodes ?
Non ça n’est pas possible.
08/01/2018 at 11:58 AM #77291Bonjour,
Merci pour votre réponse concernant la période variable du multitimeframe.
Une deuxième question :
j’ai un programme qui, en s’exécutant, doit me donner (mise à part les ordres d’achats) un résultat. Pour l’instant, j’utilise la fonction graph pour visualiser ce résultat. Est-il possible d’avoir un résultat affiché autrement ? (par exemple un nombre qui s’affiche directement sur l’écran)
Merci
08/06/2018 at 2:26 PM #7764308/07/2018 at 9:16 AM #77692Bonjour, je suis également hyper intéressé par le MTF car c’etait très limitant pour obtenir des stratégies automatiques performantes.
Est-il possible ou envisageable une MAJ pour rendre compatible proorder en ticks ? En effet, je trade beaucoup avec ce type de graph.
Merci
Nicolas
08/07/2018 at 9:56 AM #77697Est-il possible ou envisageable une MAJ pour rendre compatible proorder en ticks ?
Pas prévu à ce jour, mais nous sommes nombreux à le réclamer ! J’espère que ça sera dans les cartons pour les updates après la version 11 prévue en fin d’année.
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on