Bonjour à tous
Tout d’abord merci d’avance pour votre aide.
Voici le code de la moyenne de Hull
hullma = Weightedaverage[round(SQRT(periode))]( 2*Weightedaverage[round(periode/2)](close)-Weightedaverage[periode](close))
return hullma
Jusque la rien de nouveau.
Maintenant l’idée est simple :
Je cherche à coder quand est ce que la moyenne de hull repasse au dessus de son précédent dernier plus haut et si possible l’inverse quand est ce que la moyenne de hull repasse au dessous de son précédent dernier plus bas.
Je verrais bien çà avec un indicateur sous le graphique en histogramme avec une barre verte dans le 1er cas et une barre rouge dans le 2eme cas.
J’ai mis un exemple de graph pour que ca soit plus parlant.
Cdlt
Oraclus
>> Pour la clarté des messages sur les forums de ProRealCode, merci d’utiliser le bouton “insert PRT code” pour séparer la partie texte de la partie code, merci ! << 🙂
L’idée c’est d’enregistrer la valeur de la moyenne de Hull quand celle ci passe change de couleur. Puis si le Close CROSSES OVER ou CROSSES UNDER cette valeur, afficher un signal, type histogramme ou autre.
Bonjour Nicolas
sauf si je me suis mal exprimé, je ne cherche pas le changement de couleur, je cherche a détecter quand la moyenne de hull dépasse son dernier plus haut.
cdlt
Le dernier plus haut ou bas est en effet le prix le plus haut ou bas atteint quand la moyenne n’était pas de la même couleur. Donc il faut bien détecter un changement de couleur (ou plutôt si la moyenne monte ou descend) pour enregistrer en temps réel le plus haut ou bas atteint et c’est ce niveau qu’il faudra croiser pour afficher ton signal de cassure.
Bonjour Nicolas,
Je comprends pas trop mais du coup comment on le code?
Merci
Bien, je vais essayer de résumé ça simplement en postant le code commenté…
Voilà le code en question, j’ai placé des flèches pour visualiser les breakouts (dépassement) des plus hauts et bas formés par les moyennes de Hull (matérialisés en lignes pointillés).
period = 20
hullma = Weightedaverage[round(SQRT(period))]( 2*Weightedaverage[round(period/2)](close)-Weightedaverage[period](close))
bottom = hullma>hullma[1] and hullma[1]<hullma[2]
top = hullma<hullma[1] and hullma[1]>hullma[2]
//plus bas HullMA
if bottom then
ll = lowest[max(1,barindex-llbar)](hullma)
llbar = barindex
r=0
g=255
endif
//plus haut HullMA
if top then
hh = highest[max(1,barindex-hhbar)](hullma)
hhbar = barindex
r=255
g=0
endif
signal=0
//croise à la baisse le plus bas
if hullMA crosses under ll then
signal=-1
drawarrowdown(barindex,hullma+averagetruerange[14]/2) coloured(r,g,0)
endif
//croise à la hausse le plus haut
if hullMA crosses over hh then
signal=1
drawarrowup(barindex,hullma-averagetruerange[14]/2) coloured(r,g,0)
endif
return hullma coloured(r,g,0), hh style(dottedline), ll style(dottedline), signal style(histogram)
Si tu veux les signaux en histogramme sous le graphique, il faut modifier la dernière ligne du code par :
return signal coloured(r,g,0) style(histogram)
La période de la MM de Hull se règle en tête de code avec la variable “period”.
Merci pour ton retour Nicolas , c’est presque çà , la on détecte le plus bas ou le plus haut , moi ce que je cherche c’est le dernier plus haut de la moyenne de hull ou plutot le précédent dernier plus haut et non le dernier plus haut que la moyenne de hull à eu sur X periodes.
Si on reprend l’exemple l’histogramme fonctionne bien sur l’exemple break out du 16 juin mais pas du 07/04.
C’est pourtant bien ce qui est codé, attention à bien utiliser la même période