Hello Nicolas 😉 c’est toujours un soulagement de te lire car tu es un peu SuperCoder 😉
Oui ligne de cou = en fait la résistance qui sera cassée = la ligne qui passe par LC et LH (LeftCup LeftHandle) ;
D’où ma tentative d’avoir un BO (BreakOut) > LH
Merci de ton aide,
Chris
merci Roberma ; nous sommes impatients => quel est l’horizon du “sous peu”
Par ailleurs, le screener contiendra-t-il un breakout ? car je ne voudrais pas que cela démotive Nicolas de considérer ma demande ;
// Etape1
// Soit P1 le plus haut des x dernières bougies correspondant au point D
B5searchzone=23 //nombre de bougies récentes où D est recherché
P1Price = 0
for i = 0 to B5searchzone
if high[i] > P1Price then
P1Price = high[i]
B5=i //de droite à gauche
B5index = BarIndex[i] //B5 index de bougie où le plus haut a été trouvé
endif
next
// Etape 2
// En partant de B5 (le plus haut trouvé à l'étape précédente), trouver la bougie avec un plus haut égal ou inférieur à P1 et pour laquelle la bougie précédente (plus ancienne) a un plus haut supérieur à P1 ; soit B0 l'indice temps de cette bougie
for j=B5 to B5+172
If high[j] <= P1Price and high[j+1] > P1Price then
// B0index=barindex[j]
B0=j //de droite à gauche
break
endif
next
// Etape 3
// Soit P0 le plus bas entre B0 et B5
P0price = 999999
for k = B5 to B0
if low[k] < P0price then
P0price = low[k]
endif
next
// Etape 4
// Définir L1, L2, L3, L4 et B1, B2, B3, B4 de sorte que L1, L2, L3, L4 divise l'intervalle de prix entre P0 et P1 en cinq parties égales et B1, B2, B3, B4 divise l'intervalle de temps B0-B5 en cinq parties égales. Ceci définit un quadrillage à partir duquel définir des conditions
B0B5=abs(B0-B5)
boxheight = abs( P1price - P0price ) / 5
boxlength = round( (B0B5-0.5) / 5 )
reste=B0B5 MOD 5
// Noeuds du quadrillage
B4= B5 + boxlength
B4index=B5index-boxlength
B3=B4+boxlength
B3index= B4index-boxlength
B2=B3+boxlength
B2index=B3index-boxlength
B1=B2+boxlength+reste
B1index=B2index-boxlength-reste
L1= P0price + boxheight
L2 = P0price + 2 * boxheight
L3 = P0price + 3 * boxheight
// L4 = P0price + 4 * boxheight
// Etape 5
// Condition : pas de cloture dans les rectangles B1-B4 x L3-P1 (six) et B2-B3 x L2-L3
B1B4=B1-B4+1
B2B3=B2-B3+1
If barindex >= B1index then //and barindex < B4index then
test1step6 = summation[B1B4](close>L3)=0
endif
If barindex > B2index then //and barindex < B3index then
test2step6 = summation[B2B3](close>L2)=0
endif
// Etape 6
// Condition au moins un plus bas dans chaque rectangle violet B0-B1 et B4-B5 x L1 + 2/3 hauteur, ou dans chaque rectangle orange B1-B2 et B3-B4 x P0 + 2/3 hauteur
nbcandlowB0B1=0
For n1 = B1 to B0
If low[n1]< (L2-(boxheight/3)) then
nbcandlowB0B1 = nbcandlowB0B1+1
Endif
Next
nbcandlowB4B5=0
For n2 = B5 to B4
If low[n2]< (L2-(boxheight/3)) then
nbcandlowB4B5 = nbcandlowB4B5+1
Endif
next
nbcandlowB1B2=0
For n3 = B2 to B1
If low[n3]< (L1-(boxheight/3)) then
nbcandlowB1B2 = nbcandlowB1B2+1
Endif
next
NbcandlowB3B4=0
For n4 = B4 to B3
If low[n4]< (L1-(boxheight/3)) then
nbcandlowB3B4 = nbcandlowB3B4+1
Endif
next
Nbcandcyan = NbcandlowB1B2+ NbcandlowB3B4
Nbcandyellow = NbcandlowB0B1+ NbcandlowB4B5
teststep7 = Nbcandcyan>0 or Nbcandyellow>0
// Step 8
// Demand the handle of the cup be above the L2 level — that is, the price bars from B5 until the last bar of the chart must have lows higher than L2. Pas de plus bas inférieur à L2, de B5 à la dernière bougie
// If barindex > B5index then
// teststep8 = summation[B5](low>L2)=0
// endif
// Step 9
// Demand the period of the cup (time span between B0 and B5) to be no less than y bars. Add other conditions.
isCwH = ( B0B5 >= 23 ) AND test1step6 AND test2step6 AND teststep7 // AND teststep8
screener [isCwH]
Voici brut de décoffrage le code. Pas de conditions autres que graphiques pures.
Je teste – lorsque je trouve du temps – d’autres aspects décrits dans les articles de Haikulabs, tels les contraintes de volumes et de tailles des parties de figure.
Désolé, voici pour compléter, la figure avec les points repris dans le code.
mille mercis robertma ; le “sous peu” était donc très peu 😉
suis heureux de voir que je ne suis pas le seul sur le coup ; j’ai testé de mon coté et ça fonctionne ;
=> il faudrait ajouter effectivement des conditions sur E > L2 et définir F> D il me semble, pour éliminer les invalidations de figure ;
on continue 😉 après on pourra sophistiquer en rajoutant un indicateur qui identifie les plus hauts et plus bas pour faciliter la lecture
ce serait top également si vous pouviez partager vos routines ! mes performances m’affligent !!
Partagez votre routine pour identifier les meilleures opportunités
Encore merci
Déterrage de topic 🙂
Du coup le dernier code ne retournant pas/peu de valeur avec une tasse+anse, y a t il une nouvelle version de ce code ?
Je n’ai rien trouvé dans la librairie.
Merci d’avance pour vos retours 😉