Mesurer l’Ecart entre la Moyenne clôtures à la Hausse et celle à la baisse
Forums › ProRealTime forum Français › Support ProBuilder › Mesurer l’Ecart entre la Moyenne clôtures à la Hausse et celle à la baisse
- This topic has 10 replies, 2 voices, and was last updated 2 years ago by
christophe11560.
-
-
07/05/2022 at 3:03 PM #196798
Bonjour à tous,
Je n’arrive pas à codifier cet indicateur. Merci de bien vouloir m’aider.Je souhaiterais mesurer l’écart entre:
– la valeur absolue de la moyenne des clôtures à la baisse avec la valeur absolue de la moyenne des clôtures à la hausse précédentes ou inversement
– la valeur absolue de la moyenne des clôtures à la hausse avec la valeur absolue de la moyenne des clôtures à la baisse précédentes
La mesure se fait entre une baisse et une hausse successive comme le dessin ou inversement entre une hausse et une baisse successive.
Je vous joins en PJ une image de ce que j’entend par moyenne des clôtures à la hausse ou la baisse.Si l’on note:
MCB = moyenne des clôtures à la baisse
MCH = moyenne des clôtures à la hausseje souhaiterais pouvoir calculer les Ecarts suivant:
Up et Dn pour identifier l’ordre des enchaînements.* ECARTup=100*abs(MCH-MCB)/MCB dans le cas où une baisse précède une hausse
* ECARTdn=100*abs(MCH-MCB)/MCB dans le cas où une hausse précède une baissemerci à vous
07/05/2022 at 3:18 PM #19680207/05/2022 at 4:58 PM #196810Je ne pense pas.
On doit faire la moyenne d’une avancée puis celle d’un recul ou inversement successif et les comparer.
C’est l’écriture de cette avancée et de ce recul que l’on doit comparer qui me pose problème.L’indicateur se termine comme suit:
if EcartUp<10% then
Indicateur =1
si EcartDn<10% then
Indicateur =-1
else
Indicateur=0
endif07/05/2022 at 5:25 PM #196811Nicolas,
Mon code de départ est celui-là mais ne fonctionne pas. J’ai le sentiment que dans les 2 formules EcartUp et Ecartdn, les données A et B ne sont pas reconnu comme étant une avancée complète et un recul complet.
code initial1234567891011121314151617181920212223242526272829303132333435363738countup=0priceup=0countdn=0pricedn=0ECARTmaxPercent=5if close-close[1] >0 then // avancéecountup=countup[1]+1 //nb bougiepriceup=priceup[1]+abs(close-close[1]) // gain cumulée sur une avancée de cloture à la haussea=a[1]+priceup/countup // moyenne des clôture de l'avancéeb=0else //reculcountdn=countdn[1]+1//nb bougiepricedn=pricedn[1]+abs(close-close[1])// perte cumulée sur un recul de cloture à la baissea=0b=a[1]+pricedn/countdn // moyenne des clôture du reculendifECARTup=100*abs(A-B[1])/B[1] // (avancée[0] - recul précedent[1] ) / recul précedent[1]ECARTdn=100*abs(B-A[1])/A[1] // (recul[0] - avancée précédente[1]) / avancée précédente[1]if ECARTup<ECARTmaxPercent thenindicateur=1r=0g=255B=0elsif ECARTdn<ECARTmaxPercent thenindicateur=1r=255g=0B=0elseindicateur=0endifreturn indicateur coloured(r,g,b) style (histogram,1)07/05/2022 at 5:39 PM #196813Autant pour moi lire ce code qui ne donne pas les résultats demandés
ANNULE ET REMPLACE LE PRECEDENT:code initial v2 corrigé1234567891011121314151617181920212223242526272829303132333435363738countup=0priceup=0countdn=0pricedn=0ECARTmaxPercent=5if close-close[1] >0 then // avancéecountup=countup[1]+1 //nb bougiepriceup=priceup[1]+abs(close-close[1]) // gain cumulée sur une avancée de cloture à la haussea=+priceup/countup // moyenne des clôture de l'avancéeb=0else //reculcountdn=countdn[1]+1//nb bougiepricedn=pricedn[1]+abs(close-close[1])// perte cumulée sur un recul de cloture à la baissea=0b=pricedn/countdn // moyenne des clôture du reculendifECARTup=100*abs(A-B[1])/B[1] // (avancée[0] - recul précedent[1] ) / recul précedent[1]ECARTdn=100*abs(B-A[1])/A[1] // (recul[0] - avancée précédente[1]) / avancée précédente[1]if ECARTup<ECARTmaxPercent thenindicateur=1r=0g=255B=0elsif ECARTdn<ECARTmaxPercent thenindicateur=1r=255g=0B=0elseindicateur=0endifreturn indicateur coloured(r,g,b) style (histogram,1)07/06/2022 at 10:44 AM #196875La moyenne s’effectue sur une période non ? Par exemple sur les 20 dernières bougies on observe la moyenne des avancées et des reculs. Hors tu remets à zéro tes compteurs et la somme des variations à chaque bougie, difficile de comprendre 🙂
07/06/2022 at 11:48 AM #196879Justement, non ce n’est pas ce que je souhaite. La moyenne ne doit pas s’effectuer sur une période fixe, mais comme suit:
Dans mon code je comptabilise,
Lorsque close>close[1] :
– le nombre de clôture à la hausse consécutive
– l’écart de prix entre chaque clôture consécutive
– la moyenne étant la somme de ces écarts / nb de clôtures consécutives07/06/2022 at 11:50 AM #196880Lorsque close est < à close[1]: Même principe mais avec des clôture consécutive plus basse
07/06/2022 at 12:41 PM #19688207/06/2022 at 12:49 PM #196883Voilà pour la variation haussière:
1234567891011121314151617181920212223/*Justement, non ce n’est pas ce que je souhaite. La moyenne ne doit pas s’effectuer sur une période fixe, mais comme suit:Dans mon code je comptabilise,Lorsque close>close[1] :- le nombre de clôture à la hausse consécutive- l’écart de prix entre chaque clôture consécutive- la moyenne étant la somme de ces écarts / nb de clôtures consécutives*/vert = close>close[1]if vert thencountv=countv+1sumv=sumv+abs(close-close[1])endifif not vert thencountv=0sumv=0endifavgv=sumv/countvreturn avgv1 user thanked author for this post.
07/06/2022 at 10:22 PM #196928merci c’est bon pour moi
-
AuthorPosts