Bonjour,
Je vous propose des codes développés par Smallcaps90 et adaptés par mes soins à ProRealTime.
Ils concernent la moyenne mobile de HULL et l’indicateur qui en découle, HULL PIC CREUX.
On peut trouver tous les développements et explication sur la source originale ici :
Forum Graphe AT Pro, page 79
http://www.pro-at.com/forums-bourse/bourse-79-6593.html
Pour ceux qui sont intéressés, je vous conseille fortement d’aller y faire un tour, les explications sont plus détaillées.
On remarquera que la MM de Hull est très réactive. Elle s’affiche sur les prix.
Après un certain nombre de backtests sur les actions de la cote française, la variable P (période de calcul de la HULL) est réglée à 15. Il me semble que c’est là que l’on a le moins de faux signaux.
A propos de l’indicateur HULL PIC CREUX, les flèches bleues donnent les sommets, donc les signaux de vente ou de short quand la dérivé première est supérieure à 0. Les flèches rouge donnent donc les creux et les signaux d’achat quand la dérivée est inférieure à 0.
On remarque que la les flèches arrivent avec une barre de retard par rapport au sommet réel, le temps que le sommet soit confirmé évidement.
J’ai aussi remarqué lors des backtest que les signaux renvoyés par l’indicateur HULL PIC CREUX sont plus pertinents quand on attend une bougie verte après la flèche rouge. Ce qui parait assez logique d’ailleurs. Lors de la création du backtest, il suffit d’insérer cette condition.
Le code :
REM Moyenne Mobile de HULL
REM Crée par SmallCaps90 - Forum PRO-AT.COM
REM Adapté par Arnaudbzh
REM variable P=15 par défaut
REM Moyenne Mobile de HULL
demiP = round(P/2)
temp = 2*WeightedAverage[demiP](close) - WeightedAverage[P](close)
racineP = round(SQRT(P))
MMHULL = WeightedAverage[racineP](temp)
REM Fin Moyenne Mobile de HULL
RETURN MMHULL as "Moyenne Mobile de HULL"
Pour l’indicateur HULL PICS CREUX, j’ai codé à l’indique tous les paramètres, même si tous ne sont pas utilisé, ou n’ont pas donné lieu à de plus amples explorations.
J’affiche donc uniquement les paramètres suivant :
- fleche bleu (en histogramme)
- fleche rouge (en histogramme)
- derivé première de Hull
- zero
Les autres données ont le style « invisible » dans la boite des propriétés de l’indicateur.
REM HULL PICS CREUX
REM Crée par SmallCaps90 - Forum PRO-AT.COM
REM Adapté par Arnaudbzh
REM variable P=15 par défaut
REM Moyenne Mobile de HULL
demiP = round(P/2)
temp = 2*WeightedAverage[demiP](close) - WeightedAverage[P](close)
racineP = round(SQRT(P))
MMHULL = WeightedAverage[racineP](temp)
REM Fin Moyenne Mobile de HULL
REM Dérivée première de la HULL
DERPREM = MMHULL - MMHULL[1]
REM Fin Dérivée première de la HULL
REM Dérivée seconde de la HULL
DERSEC = MMHULL - 2 * MMHULL[1] + MMHULL[2]
REM Fin Dérivée seconde de la HULL
REM PICS au dessus de la ligne 0
IF DERPREM[2] < DERPREM[1] and DERPREM[1] > DERPREM and DERPREM[1] > 0 THEN
FlecheBleue = DERPREM[1]
ELSE
FlecheBleue = 0
ENDIF
REM Fin PICS au dessus de la ligne 0
REM CREUX au dessous de la ligne 0
IF DERPREM[2] > DERPREM[1] and DERPREM[1] < DERPREM and DERPREM[1] < 0 THEN
FlecheRouge = DERPREM[1]
ELSE
FlecheRouge = 0
ENDIF
REM Fin CREUX au dessous de la ligne 0
REM Moyenne de HULL de la dérivée première
DPdemiP = round(P/2)
DPtemp = 2*WeightedAverage[DPdemiP](DERPREM) - WeightedAverage[P](DERPREM)
DPracineP = round(SQRT(P))
MHULLDERPREM = WeightedAverage[DPracineP](DPtemp)
REM Fin Moyenne de HULL de la dérivée première
REM Moyenne de HULL de la dérivée seconde
DSdemiP = round(P/2)
DStemp = 2*WeightedAverage[DSdemiP](DERPREM) - WeightedAverage[P](DERPREM)
DSracineP = round(SQRT(P))
MHULLDERSEC = WeightedAverage[DSracineP](DStemp)
REM Fin Moyenne de HULL de la dérivée seconde
RETURN FlecheBleue COLOURED(0,0,255) as "Fleche Bleue" , FlecheRouge COLOURED(255,0,0) as "Fleche Rouge", DERPREM COLOURED(0,0,255) as "Derivee Premiere HULL" , DERSEC COLOURED(255,0,0) as "Derivee Seconde HULL" , MHULLDERPREM COLOURED(0,0,255) as "Moyenne HULL Derivee Premiere" , MHULLDERSEC COLOURED(255,0,0) as "Moyenne HULL Derivee Seconde" , 0 COLOURED(0,0,0) as "Zero"
Je vous souhaite à tous une très bonne journée
Arnaud
Je vous propose des codes développés par Smallcaps90 et adaptés par mes soins à ProRealTime.
Ils concernent la moyenne mobile de HULL et l’indicateur qui en découle, HULL PIC CREUX.
On peut trouver tous les développements et explication sur la source originale ici :
Forum Graphe AT Pro, page 79
http://www.pro-at.com/forums-bourse/bourse-79-6593.html
Pour ceux qui sont intéressés, je vous conseille fortement d’aller y faire un tour, les explications sont plus détaillées.
On remarquera que la MM de Hull est très réactive. Elle s’affiche sur les prix.
Après un certain nombre de backtests sur les actions de la cote française, la variable P (période de calcul de la HULL) est réglée à 15. Il me semble que c’est là que l’on a le moins de faux signaux.
A propos de l’indicateur HULL PIC CREUX, les flèches bleues donnent les sommets, donc les signaux de vente ou de short quand la dérivé première est supérieure à 0. Les flèches rouge donnent donc les creux et les signaux d’achat quand la dérivée est inférieure à 0.
On remarque que la les flèches arrivent avec une barre de retard par rapport au sommet réel, le temps que le sommet soit confirmé évidement.
J’ai aussi remarqué lors des backtest que les signaux renvoyés par l’indicateur HULL PIC CREUX sont plus pertinents quand on attend une bougie verte après la flèche rouge. Ce qui parait assez logique d’ailleurs. Lors de la création du backtest, il suffit d’insérer cette condition.
Le code :
REM Moyenne Mobile de HULL
REM Crée par SmallCaps90 - Forum PRO-AT.COM
REM Adapté par Arnaudbzh
REM variable P=15 par défaut
REM Moyenne Mobile de HULL
demiP = round(P/2)
temp = 2*WeightedAverage[demiP](close) - WeightedAverage[P](close)
racineP = round(SQRT(P))
MMHULL = WeightedAverage[racineP](temp)
REM Fin Moyenne Mobile de HULL
RETURN MMHULL as "Moyenne Mobile de HULL"
Pour l’indicateur HULL PICS CREUX, j’ai codé à l’indique tous les paramètres, même si tous ne sont pas utilisé, ou n’ont pas donné lieu à de plus amples explorations.
J’affiche donc uniquement les paramètres suivant :
- fleche bleu (en histogramme)
- fleche rouge (en histogramme)
- derivé première de Hull
- zero
Les autres données ont le style « invisible » dans la boite des propriétés de l’indicateur.
REM HULL PICS CREUX
REM Crée par SmallCaps90 - Forum PRO-AT.COM
REM Adapté par Arnaudbzh
REM variable P=15 par défaut
REM Moyenne Mobile de HULL
demiP = round(P/2)
temp = 2*WeightedAverage[demiP](close) - WeightedAverage[P](close)
racineP = round(SQRT(P))
MMHULL = WeightedAverage[racineP](temp)
REM Fin Moyenne Mobile de HULL
REM Dérivée première de la HULL
DERPREM = MMHULL - MMHULL[1]
REM Fin Dérivée première de la HULL
REM Dérivée seconde de la HULL
DERSEC = MMHULL - 2 * MMHULL[1] + MMHULL[2]
REM Fin Dérivée seconde de la HULL
REM PICS au dessus de la ligne 0
IF DERPREM[2] < DERPREM[1] and DERPREM[1] > DERPREM and DERPREM[1] > 0 THEN
FlecheBleue = DERPREM[1]
ELSE
FlecheBleue = 0
ENDIF
REM Fin PICS au dessus de la ligne 0
REM CREUX au dessous de la ligne 0
IF DERPREM[2] > DERPREM[1] and DERPREM[1] < DERPREM and DERPREM[1] < 0 THEN
FlecheRouge = DERPREM[1]
ELSE
FlecheRouge = 0
ENDIF
REM Fin CREUX au dessous de la ligne 0
REM Moyenne de HULL de la dérivée première
DPdemiP = round(P/2)
DPtemp = 2*WeightedAverage[DPdemiP](DERPREM) - WeightedAverage[P](DERPREM)
DPracineP = round(SQRT(P))
MHULLDERPREM = WeightedAverage[DPracineP](DPtemp)
REM Fin Moyenne de HULL de la dérivée première
REM Moyenne de HULL de la dérivée seconde
DSdemiP = round(P/2)
DStemp = 2*WeightedAverage[DSdemiP](DERPREM) - WeightedAverage[P](DERPREM)
DSracineP = round(SQRT(P))
MHULLDERSEC = WeightedAverage[DSracineP](DStemp)
REM Fin Moyenne de HULL de la dérivée seconde
RETURN FlecheBleue COLOURED(0,0,255) as "Fleche Bleue" , FlecheRouge COLOURED(255,0,0) as "Fleche Rouge", DERPREM COLOURED(0,0,255) as "Derivee Premiere HULL" , DERSEC COLOURED(255,0,0) as "Derivee Seconde HULL" , MHULLDERPREM COLOURED(0,0,255) as "Moyenne HULL Derivee Premiere" , MHULLDERSEC COLOURED(255,0,0) as "Moyenne HULL Derivee Seconde" , 0 COLOURED(0,0,0) as "Zero"
Je vous souhaite à tous une très bonne journée
Arnaud
Commentaire