dessiner indicateur “suivant”
Forums › ProRealTime forum Français › Support ProBuilder › dessiner indicateur “suivant”
- This topic has 21 replies, 3 voices, and was last updated 10 months ago by Pierreco1991.
-
-
12/18/2023 at 2:21 PM #225386
Bonjour JC,
Merci, merci merci ! C’est vraiment TOP !
Pour ce qui est du “deltacours”, est-ce que tu me conseilles quelque chose de particulier ?J’ai commencé quelques tests avec STD (à la place de l’ATR), sur une période courte, ça semble pas mal.. Est-ce qu’il y aurait un autre indicateur pertinent à tester ?
En restant avec la configuration de base (ATR), et en essayant avec une BB de très grande période (200 ecart type 2.5) j’ai un truc bizzare sur j+1. Est-ce normal ? Est-ce aussi le cas sur les plus petites périodes (mais non visible) et accentué sur les grosse périodes ?
Encore merci pour le boulot, j’aurais jamais été capable de le faire, je vais m’approprier le code et essayer de le tweak.
Merci
12/18/2023 at 4:35 PM #225391J’ai oublié de remplacer 20 par P dans les 2 lignes 12-13… pas d’impact quand P=20 mais effectivement gros impact si P=200…
Tant qu’on y est, si tu vas t’en servir avec des P aussi grands, alors je te rajoute un if islastbarupdate, car le code étant en drawonlastbaronly=true on n’a pas besoin de calculer les projections périmées depuis les barres précédentes. Peu d’impact sur le temps de calcul si P=20, mais avec un P=200 combiné à un pourcentage non négligeable de projections les calculs de boucles prennent vite plus de temps inutilement sur l’historique. Voici donc une version qui fonctionnera mieux et beaucoup plus vite pour du P=200:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354DEFPARAM DRAWONLASTBARONLY = TRUEATR= AverageTrueRange[14](Close)P= 200 // période P dans le calcul des bandes de bollingercoeff= 2.5 // coefficient multiplicateur de l'écart-type dans le calcul des bandes de bollingerPourcentProj= 0.25// 0.25 pour 25%, entre 0 pour 0% et 1 pour 100%, pourcentage à appliquer à la période P pour projection dans le futurNproj= floor(P*PourcentProj)// nombre entier d'occurrences en prenant l'arrondi inférieur du pourcentage PourcentProj appliqué à la période Pdeltacours= ATR// écart entre chaque occurrence de close future simulée$coursplus[0]= close$coursmoins[0]= close$avgplus[0]= average[P](close)$avgmoins[0]= average[P](close)$BBHplus[0]= average[P](close)+coeff*STD[P](close)$BBHmoins[0]= average[P](close)+coeff*STD[P](close)$BBBplus[0]= average[P](close)-coeff*STD[P](close)$BBBmoins[0]= average[P](close)-coeff*STD[P](close)if islastbarupdate thenfor i=1 to Nproj$coursplus[i]=$coursplus[0]+deltacours*i$coursmoins[i]=$coursmoins[0]-deltacours*i//DRAWSEGMENT(barindex+i-1, $coursplus[i-1], barindex+i, $coursplus[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)//DRAWSEGMENT(barindex+i-1, $coursmoins[i-1], barindex+i, $coursmoins[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)$avgplus[i]=$avgplus[i-1]+($coursplus[i]-close[P-i])/P$avgmoins[i]=$avgmoins[i-1]+($coursmoins[i]-close[P-i])/PDRAWSEGMENT(barindex+i-1, $avgplus[i-1], barindex+i, $avgplus[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)DRAWSEGMENT(barindex+i-1, $avgmoins[i-1], barindex+i, $avgmoins[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)totplus=0totmoins=0for N = 0 to P-i-1// les P-i occurrences de la (P-i-1)èmee bougie précédente à l'actuelle [0]totplus = totplus + square(close[N]-$avgplus[i])totmoins = totmoins + square(close[N]-$avgmoins[i])nextfor j=1 to i// les i occurrence de P-i+1 à Ptotplus = totplus + square($coursplus[j]-$avgplus[i])totmoins = totmoins + square($coursplus[j]-$avgmoins[i])next$stdevplus[i] = sqrt(totplus/P)$stdevmoins[i] = sqrt(totmoins/P)$BBHplus[i]=$avgplus[i]+coeff*$stdevplus[i]$BBBplus[i]=$avgplus[i]-coeff*$stdevplus[i]$BBHmoins[i]=$avgmoins[i]+coeff*$stdevmoins[i]$BBBmoins[i]=$avgmoins[i]-coeff*$stdevmoins[i]DRAWSEGMENT(barindex+i-1, $BBHplus[i-1], barindex+i, $BBHplus[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)DRAWSEGMENT(barindex+i-1, $BBBplus[i-1], barindex+i, $BBBplus[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)DRAWSEGMENT(barindex+i-1, $BBHmoins[i-1], barindex+i, $BBHmoins[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)DRAWSEGMENT(barindex+i-1, $BBBmoins[i-1], barindex+i, $BBBmoins[i]) COLOURED(128,128,128) STYLE(DOTTEDLINE4,1)nextendifRETURN12/18/2023 at 5:01 PM #22539212/20/2023 at 6:02 PM #225555Hello
Je me permets de rajouter ma contribution en partant du prix
L’origine du calcul est la variation du prix => puis la MM20 => Puis les BBJe me suis arrêté à J+1, mais je reprendrai ce code pour tenter le j+2 ce qui ouvre la porte à J+n. Je pense que le code n’est pas optimisé mais quand j’aurais la bonne (ou que l’on me propose) architecture il y’aura plus qu’a
Pour donner plus d’explication, je suis parti dans l’idée d’utiliser les tableaux pour mieux gérer les indexation de jour . L’idée serait de prendre toujours l’extrême qui va dans le bon sens. C ‘est a dire que pour le moouvement UP (Orange), on recherche toujours le +2Sigma et contraire sur le mouvement DOWN (Jaune)
Bonne soirée
12/29/2023 at 2:42 PM #225810Hello
J’ai repris mon idée avec la variation du prix et le modèle de JC_Bywan (Merci car j’étais bloqué avec les boucles)
Les variables sont à configurer sur la fenêtre de prix.A toute
12/29/2023 at 2:54 PM #225812erratum sur le code
Voici la bonne version . l’ancienne avez le coef des BB en dur dans le code12/29/2023 at 4:00 PM #225815En validant l’indicateur, j’ai vu une erreur sur la ligne 38
Origine : totmoins = totmoins + square($coursplus[j]-$avgmoins[i])
Patch : totmoins = totmoins + square($coursmoins[j]-$avgmoins[i]) // Remplacement $coursplus par $coursmoins
Voici donc l’indic remis à jour de mon coté
-
AuthorPosts
Find exclusive trading pro-tools on