Bonjour,
Je code actuellement un Screener dont le rôle est de me retourner les valeurs dont le dernier plus haut est supérieur au précédent plus haut.
Voici mon code
TIMEFRAME(4 Hours)
Test=ZigZag[1.4](close)
//Recherche du Premier Haut, je boucle jusqu'à trouver mon premier Haut
FOR Position=0 to 100
Condition1=Test[Position+3]<Test[Position+2] And Test[Position+1]<Test[Position+2]
IF Condition1 Then
FirstHigh=Test[Position+2]
Break
EndIf
NEXT
//Recherche du Second Haut, après avoir trouvé le dernier haut, je recherche le précédent
FOR Position2=Position + 1 to Position + 100
Condition2=Test[Position2+3]<Test[Position2+2] And Test[Position2+1]<Test[Position2+2]
IF Condition2 Then
SecondHigh=Test[Position2+2]
Break
EndIf
NEXT
SCREENER(SecondHigh>FirstHigh)
Le problème c’est que le screener me retourne un peu tout et n’importe quoi, des Plus hauts Plus bas que le précédent haut; quelques fois des Plus haut plus haut que le précédent Haut, bref, le résultat est me semble t’il un peu aléatoire.
Alors je me disais qu’il devait y avoir une erreur dans mon code, me je vois pas où.
Quelqu’un aurait t’il une idée ?
Merci par avance pour vos réponses.
Marc
Ps : L’image jointe est par exemple ce que j’obtient comme retour
Finalement j’ai trouvé d’où venait mon erreur. Il fallait inverser la condition dans le retour du screener : SCREENER(SecondHigh>FirstHigh) en SCREENER(FirstHigh>SecondHigh).
Désolé pour le dérangement et merci d’avoir jeté un oeil.
Marc
Bonjour merci pour ce code
pourriez vous ajouter SVP un signal qui détecte a 2 % du dernier plus haut svp
Non, c'est parce que la ligne 22 devrait se lire:
SCREENER[SecondHigh>FirstHigh]
avec des crochets au lieu de parenthèses.
Merci Roberto, erreur grotesque de ma part 🙁
TechFac, pourriez-vous préciser ce que vous entendez par 2%
Techfac, 2% …. du dernier plus haut ?
c’est a dire a 2 % du point le plus haut pour un achat (exemple dernier plus haut 10 euro donc a 9,8 euro(2%) le signal me détecte les actions a 2% du prix
Oui ca serait interessant ça,cela voudrait dire qu’on “s’apprete a casser le plus “? si j’ai bien compris
Le problème c’est que cet indicateur repeint c’est pour ça que je l’ai abandonné.
Mais voici le code qui retourne celles qui son inférieures ou égales à 4% du précédent haut
TIMEFRAME(4 Hours)
Test=ZigZag[1.4](close)
//Recherche du Premier Haut, je boucle jusqu'à trouver mon premier Haut
FOR Position=0 to 100
Condition1=Test[Position+3]<Test[Position+2] And Test[Position+1]<Test[Position+2]
IF Condition1 Then
FirstHigh=Test[Position+2]
Break
EndIf
NEXT
Distance=100/FirstHigh*(FirstHigh-Close[1])
Condition=Distance>=96
Screener[Condition](Distance as "Distance")
Petite erreur dans mon Code, le voilà corrigé.
Mais comme dit précédemment, le PlusHaut repeint.
TIMEFRAME(4 Hours)
Test=ZigZag[1.4](close)
//Recherche du Premier Haut, je boucle jusqu'à trouver mon premier Haut
FOR Position=0 to 100
Condition1=Test[Position+3]<Test[Position+2] And Test[Position+1]<Test[Position+2]
IF Condition1 Then
FirstHigh=Test[Position+2]
Break
EndIf
NEXT
Distance=100/FirstHigh*Close[1]
Condition=Distance>96 And Distance<100
Screener[Condition](Distance as "Distance")
Repeint? c’est a dire?
J’ai essayé d’utiliser ce screener mais j’ai l’impression qu’il ne retourne pas forcement des futur cassure de plus haut?
Merci