Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
12 février 2008 2 12 /02 /février /2008 19:18

Divergences : un cas concret, deuxième partie.

 

Première étape : le programme de divergence sur le stochastic.

------------------------------------------------------------------------------

 

J'ai un programme simple de détection des divergences haussières sur le stochastic.  Voici le problème que j'ai à résoudre :

 

hk50.gif

 

Normalement, le point bas sur les cours se fait alors que le stochastic est sous son signal.  Mais parfois, il se fait alors que le stochastic a déjà croisé à la hausse (exemple 3 et 1).  Il peut se faire également juste avant que le stochastic ne croise son signal à la baisse (exemple 2).

 

Je vous donne pour info, le programme actuel, pour vous montrer le cheminement (je dois maintenant l'améliorer pour tenir compte du problème rencontré) :

 

x=Stochastic[14,3](close)
y=average[5](x)
if x<y then
    lo=min(lo,x)
    lowco=min(lowco,low)
endif
if x CROSSES OVER y  then
    sto2=sto1
    sto1=lo
    lo=100
    p2=p1
    p1=lowco
    lowco=100000
else
endif
if p1<p2 and sto1 > sto2 and x crosses over y and x>x[1]  then
    sign=10
else
    sign=0
endif
return sign

 

Edit 9/12 à 19h23 :

 

Bon voici à quoi j'arrive sur le programme stochastic, si je trouve des anomalies, je modifierais........

 

x=Stochastic[14,3](close)
y=average[5](x)
if x<y then
    lo=min(lo,x)
    lowco=min(lowco,min(low,low[1]))
endif
if x CROSSES OVER y  then
    sto2=sto1
    sto1=lo
    lo=100
    p3=p1
    p2=min(p1,lowco1)
    p1=min(lowest[3](low),lowco)
    if p2=p1 then
        p2=min(p3,p4)
    endif
    lowco=100000
    lowco1=100000
endif
if x>y then
    p4=lowco1
    lowco1=min(lowco1,low)
endif

if p1<p2 and sto1 > sto2 and x crosses over y and x>x[1]  then
    sign=10
else
    sign=0
endif
return sign

 

Je prends en compte le low juste avant le croisement à la baisse (exemple 2),   le low de la bougie du croisement à la hausse (exemple 1), et le low après le croisement à la hausse si celui-ci n'est pas égale au low avant le croisement à la baisse.  (j'espère que vous suivez ?)

 

On peut filtrer l'alerte de divergence en testant la différence entre le stochastic de la barre actuelle et celui de la barre précedente (pour l'instant, je teste seulement x>x[1]).  On peut aussi exiger que le signal du stochastic soit à la hausse (croisement a+ ?) ou encore regarder le R/R avec la position par rapport aux bandes de Bollinger ou bien enfin tester le high de la bougie d'alerte.  Tout ça à mettre en place lors du backtest.........

 

Seconde étape : le programme de divergence potentielle sur le MACD.

--------------------------------------------------------------------------------------

 

 Voici le premier jet du programme de détection de divergences potentielles, le cours marque un plus bas et non le MACD.  Le code retourne également les divergences validées :

 

m=MACDline[9,19,6](close)
s=exponentialaverage[6](m)
if m<s then
    lo1=min(lo1,m)
    lowco=min(lowco,low)
endif
if m>s then
    lowco1=min(lowco1,low)
endif
if m CROSSES OVER s  then
    a=lo1
    lo1=100
    c=min(lowco,lowco1)
    lowco=100000
    lowco1=100000
    a1=a0
    a0=a
    c1=c0
    c0=c
endif
if m crosses over s and a0>a1 and c0<c1 then
    sign=1
else
    sign=0
endif
minmac=lowest[4](m)
minco=lowest[5](low)
if m<s and minco<c0 and minmac>a0 then
    pre=.5
else
    pre=0
endif

return sign,pre

 

Avec une vue de l'indicateur, l'historigramme noir retourne la divergence possible et la barre blanche signale la validation de la divergence (le MACD croise son signal) :

 

hk51.gif

 

-----------------------------------------------------------

 

Il vous suffit de combiner les 2 programmes : (divergence potentielle MACD or divergence validée MACD) and divergence stochastic.  Voici des exemples d'applications : en 1 un faux signal, en 2 la divergence stochastic est simultanée avec celle du MACD, et en 3 et 4, la divergence stochastic précède celle du MACD.

 

hk52.gif

 hk53.gif

A première vue, il y a peu de reversalday.  Je ferai néanmoins un article sur le sujet.  N'oubliez pas qu'il existe une file commentaires ici, j'attends vos remarques.

Partager cet article
Repost0

commentaires