Forum

Codage de détection...
 
Notifications
Retirer tout

Codage de détection des gaps

(@steph)
Reputable Member
Inscription: Il y a 12 ans
Posts: 299
Début du sujet  

{
Nom : "S_Détection des gaps

Dans la biblio PRT, il y a un code nommé : "Gap Detestion". AMHA, totalement inadapté. C'est donc une nouvelle version que je vous propose ici.

En attendant, et pour mémoire, voici le e code original, tel qu'on peut l'obtenir dans la biblio PRT :

NB : Qui ne fonctionne pas en l'état. Pour qu'il "tourne", il faut suprimer la variable "threshold" et ajouter la ligne de code suivante :

once threshold = 0.009999999776482582

IF Open > Close[1] OR Open < Close[1] THEN
IF ABS((Open - Close[1])/Close[1]) > threshold THEN
gapdetected = SGN(Open - Close[1])
ELSE
gapdetected = 0
ENDIF
ELSE
gapdetected = 0
ENDIF

RETURN gapdetected

Si j'ai bien compris ce code original, il calcule les gaps entre l'open du jour et la cloture de la veille au lieu de les calculer par rapport au plus bas ou au plus haut de la veille .

Donc, je corrige le code...

Deuxièmement, pour une raison qui m'échappe, l'auteur calcule la valeur absolue du mouvement qu'il compare à "threshold" (je suppose qu'il s'agit de la plus petite valeur reconue par le système). J'ai l'impression qu'il s'agit d'un jeu de mathématicien (ou d'informaticien), qui s'est amusé à tester les limites du logiciel... A moins que ce soit dans un but pédagogique afin de découvrir les fonctions de ProBuïlder... Dans les deux cas, la détection des gaps n'est qu'un prétexte à la démonstration !

Donc, je corrige le code...

Pour rendre le code plus interressant du point de vue chartiste, je prends toutes les valeurs de gap ">0" à la décimale près. De plus, au lieu de ne renvoyer que le signe "+/-", je renvoie le nombre de points du gap ainsi que les extemes. Ce qui permet, non seulement d'en visuliser la force, mais également d'avoir un repère de comparaison.

Et en prime (pourquoi se priver !), j'ajoute les moyennes...

LE CODE PRT selon STEPH ///////////////////////////////////////////////////////////////
}
once H = 0
once sH = 0
once L = 0
once sL = 0
if barindex > 0 then
IF Open > high[1] then
IF (Open - high[1]) > 0THEN
gap = (Open - high[1])
GHM = max(GHM, gap)
sH = sH + gap
H = H + 1
mH = sH / H
ELSE
gap = 0
ENDIF
elsif Open < low[1] THEN
IF (low[1] - open) > 0 THEN
gap = (low[1] - open) * -1
GBM = min(GBM, gap)
sL = sL + gap
L = L + 1
mL = sL / L
ELSE
gap = 0
ENDIF
ELSE
gap = 0
ENDIF
endif
RETURN GHM as "Gap haussier max", mH as "Moyenne des hausses", gap as "Gap", mL as "Moyenne des baisses", GBM as "Gap baissier max"
{
Configuration et commentaires

Il faut configurer "gap" en histogramme et pour améliorer le confort visuel, comme sur le graph ci-joint, on peut rendre les extrêmes "invisibles".

Et pour le reste : "Débrouillez-vous !"
}


   
Citation
(@steph)
Reputable Member
Inscription: Il y a 12 ans
Posts: 299
Début du sujet  

Salut à tous,

En utilisant le code de détection des gaps ce we, j'ai constaté qu'il ne fonctionnait pas en intraday... Donc, voici une nouvelle version qui, elle, fonctionne aussi en intraday.

J'ai profité de l'occasion pour suprimer les moyennes dont l'intérêt m'a semblé superflu. Si vous constatez d'autres bugs, n'hésitez pas à les signaler en laissant un message...

@+

// Nom : "S_Détection des gaps (v2)"

IF dOpen(0) > dhigh(1) then
gap = (dOpen(0) - dhigh(1))
elsif dOpen(0) < dlow(1) THEN
gap = (dlow(1) - dopen(0)) * -1
ELSE
gap = 0
ENDIF
RETURN Gap as "Gap", 0 coloured(0,0,255)


   
RépondreCitation
(@bobbi56)
New Member
Inscription: Il y a 4 ans
Posts: 1
 

Bonjour Steph !

Ton post date de 2011 je sais... Mais j'aimerai savoir si il est possible de te joindre quelque par émail ou autre ?

Je travail sur l'analyse depuis plusieurs années, je souhaiterai te faire pars d'une petite trouvaille pour peut-être améliorer ce code concernant les gaps...

Merci d'avance


   
RépondreCitation
Share: