Bonjour,
Voici un code qui me donne une erreur avec l’instruction HIGHEST dans une boucle for to next (un paramètre de type entier positif est attendu).
trigger = CALL "MM50 Trigger V2"
MM50 = Average[50](close)
ccindex50 = CCI[50](close)
//ccindex20 = CCI[20](close)
bas = MM50 - Delta
haut = MM50 + Delta
bas3 = MM50 - (3*Delta)
haut3 = MM50 + (3*Delta)
c1 = (trigger = 1)
c2 = (ccindex50 >= 85)
c3 = (trigger = -1)
c4 = (ccindex50 <= -85)
c5 = (close > haut OR close > MM50)AND (close < haut3)
c6 = (close < bas OR close < MM50) AND (close > bas3)
c7 = (ccindex50[1] < ccindex50[0])
c8 = (ccindex50[1] > ccindex50[0])
i = 0
volat = 1
for i = 5 to 50
if (highest[MM50[i]](close)) - (lowest [MM50[i]](close)) < (3*Delta) then
volat = 0
break
endif
next
// Signal achat
if c1 AND (c2 OR c7) AND c5 AND (volat = 0)then
//backgroundcolor(151,223,198)
backgroundcolor (9, 82, 40)
endif
// Signal vente
if c3 AND (c4 OR c8) AND c6 AND (volat = 0)then
//backgroundcolor(252,93,93)
backgroundcolor(231, 62, 1)
endif
return
Je cale. Pouvez-vous m’aider?
Merci d’avance!
La valeur/variable entre crochet dans une instruction Highest ou Lowest est une période, pourquoi y injecter la valeur d’une moyenne mobile ?
Bonjour Nicolas,
Parce que je n’y connais pas grand chose… 🙂
En fait mon idée, c’est prendre les valeurs extrêmes de la MM50 (plus haut et plus bas) entre la 5ème et la 50 ème bougie avant la bougie actuelle et de retenir la différence. Ensuite de déterminer si cette différence est supérieure ou inférieure à une valeur donnée. Ici (3*Delta), Delta étant une variable que je peux modifier.
Merci d’avance pour la réponse et le partage de connaissance.
Bonne journée.
Pas besoin de boucle dans ce cas, si on prend le plus haut et le plus bas de 45 périodes de la MM50 et cela 5 bougies en arrières, on obtient logiquement ce que tu souhaites :
MM50 = Average[50](close)
hh=highest[45](mm50)[5]
ll=lowest[45](mm50)[5]
diff=hh-ll
return diff
A vérifier et à incorporer dans ton code d’indicateur.
Merci beaucoup. Je vais tester ça.