Trading automatique avec “Buy Sell Magical Trend”
Forums › ProRealTime forum Français › Support ProOrder › Trading automatique avec “Buy Sell Magical Trend”
- This topic has 71 replies, 17 voices, and was last updated 5 months ago by Dams3164.
-
-
06/07/2023 at 8:30 AM #215751
Autre version du filtre, pour référence, ou j’ai ajouté un poids supplémentaire basé sur la différence en points de chaque tendance, marquant ainsi un peu plus les périodes ou le marché bouge peu (filtre range).
Dans cette version, $pricediff est utilisé pour suivre le mouvement des prix pendant chaque tendance. Il est calculé comme la différence absolue entre le prix de clôture au début et à la fin de chaque tendance. Une deuxième pondération (weightPrice), est ensuite calculée pour chaque tendance avec: 1/$pricediff[i]. Cela donne un poids plus important aux tendances dont les mouvements de prix sont plus faibles, car 1/x est plus grand pour les petits x. Le poids total (totalWeight) est calculé en multipliant donc le poids de la durée par celui du prix. Ce poids total est ensuite appliqué à la durée de la tendance lors de l’addition des différences, et le total de tous les poids totaux est également calculé dans le poids total. On applique ensuite par au dessus une moyenne pondérée comme dans la version précédente.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162// --- settingsSignalPeriod = 12ArrowPeriod = 2xTrendDurationAverage = 10// --- end of settingsbbup = average[signalperiod]+std[signalperiod]*arrowperiodbbdn = average[signalperiod]-std[signalperiod]*arrowperiodif ts=0 thenif close crosses over bbup thents=bbdntrend=1startPrice = closeelsif close crosses under bbdn thents=bbuptrend=-1startPrice = closeendifendifif trend=1 thents=max(ts,bbdn)elsif trend=-1 thents=min(ts,bbup)endifif trend=1 and close crosses under ts thentrend=-1ts=bbupt=t+1 //trend count$bardiff[t]=barindex-lastbarindex //trend duration in bars$pricediff[t]=abs(close-startPrice) //price movementstartPrice=closelastbarindex=barindexendifif trend=-1 and close crosses over ts thentrend=1ts=bbdnt=t+1 //trend count$bardiff[t]=barindex-lastbarindex //trend duration in bars$pricediff[t]=abs(close-startPrice) //price movementstartPrice=closelastbarindex=barindexendif//weighted average of trend durationif t>xTrendDurationAverage thendiff=0totalWeight=0for i = t downto t-xTrendDurationAverage doweightDuration=xTrendDurationAverage-(t-i)weightPrice=1/$pricediff[i]weightTotal=weightDuration*weightPricediff=diff+weightTotal*$bardiff[i]totalWeight=totalWeight+weightTotalnexttrendavg=diff/totalWeightendifreturn trendavg as "weighted average of previous X trend duration"06/29/2023 at 4:30 PM #21699507/19/2023 at 3:31 PM #217879Bonjour Nicolas,
Tout d’abord, merci encore pour tes contributions.
En lisant le code dois je comprendre, que l’instruction sellshort permet aussi de fermer la position longue ouverte et que l’instruction Buy ferme la position courte?
07/19/2023 at 5:12 PM #217885Oui ci-dessus est une déclaration correcte.
Cependant, si vous obtenez des “choses étranges”, vous pouvez essayer / utiliser Sell et ExitShort pour voir si les “choses étranges” s’arrêtent.
1 user thanked author for this post.
07/20/2023 at 9:34 AM #217916SELLSHORT ouvre une position de vente à découvert et donc ferme une position d’achat. Un ordre inverse fermera automatiquement l’ordre en cours.
Comme le stipule GraHal, pour fermer une position d’achat on utilise l’instruction SELL (revente).
07/22/2023 at 10:21 AM #21800307/22/2023 at 1:57 PM #218005erreur Endif dans le code.
Soit ajouter un Endif à la fin du code, soit mettre // devant un endif à la fin du code.
Faites-nous savoir si l’une des solutions ci-dessus fonctionne ?Si vous publiez le .itf, je vais l’essayer sur ma plate-forme.
07/23/2023 at 4:27 PM #218042Publiez uniquement dans la langue du forum dans laquelle vous publiez. Par exemple, l’anglais uniquement dans les forums anglophones et le français uniquement dans les forums francophones.
Mertci 🙂
07/23/2023 at 5:33 PM #218045Salut tout le monde,
J’utilise le système en démo depuis quelques semaines et j’ai d’abord été surpris des mauvais résultats compte tenu du bon backtest. Alors aujourd’hui, il m’est apparu que je n’avais pas exécuté le backtest en mode tick-by-tick. Cela a entraîné un résultat bien pire. J’ai donc essayé de jouer avec les temps de trading par exemple et j’ai vu que les heures 12 et 13 n’étaient pas très bonnes. Ensuite, j’ai essayé d’implémenter le filtre Nicolas dans le post #215751 mais je n’arrive pas à le faire fonctionner (je suis assez nouveau dans le codage). Quelqu’un d’autre a-t-il essayé?
07/25/2023 at 1:36 PM #218128Je travaille dessus également. Cet indicateur est super.
En démo les résultats en H4 sont excellents sur le DJ et bons sur le DAX.
En M15 et H1 c’est plus mitigé. Pour le moment, ma conclusion est qu’il faut utiliser la stratégie pour prendre les positions automatiquement aux changements de trends puis l’arrêter pour gérer le trade manuellement, surtout sur les courtes TF.
D’ailleurs je hais les DXS qui limite le nombre de repositionnements des stops.
Je constate aussi que toutes les positions sont gagnantes à un moment donné. Il faut choisir entre sécuriser ses gains ou être prêt à perdre un peu de sous pour attraper les gros trades.
07/27/2023 at 3:39 PM #218222Ne pas oublier que cet indicateur c’est uniquement la cassure de la bande supérieure ou inférieure des Bollinger qui inverse la tendance. Peut être qu’utiliser plusieurs timeframes pour déterminer un sens plus générale (long terme) et trader les rebonds (court terme) est envisageable ?
1 user thanked author for this post.
08/09/2023 at 4:39 AM #21875608/09/2023 at 10:09 AM #21878008/09/2023 at 3:57 PM #218841Bonjour Nicolas,
je n’arrive pas a y intégrer la notion de “trading time” :
j’ai bien le code : TradingTime = time >= 150000 and time <= 160000
mais j’ai essayé de l’intégrer à plusieurs endroit mais ça ne fonctionne pas ???
merci de votre aide
08/10/2023 at 1:45 AM #218873 -
AuthorPosts
Find exclusive trading pro-tools on