Bonjour
J’essaie de programmer un indicateur avec cette condition :
indicator1 = BollingerDown[20](close)
c2a = (close CROSSES OVER indicator1)
cette condition s’applique sur la bougie en cours et sur la bougie précédente si :
indicator3 = BollingerDown[20](close)
c3a = (close[1] CROSSES OVER indicator3[1])
Voila ma question d’ultra débutant en programmation LOL, comment prendre en compte cette condition sur les bougies allant de 1 à 5 par exemple ?
Merci par avance
bonjour
ci j’ai bien compris ta question
a appliquer sur le prix
cordialement
indicator1 = BollingerDown[20](close)
c2a = (close CROSSES OVER indicator1)
indicator3 = BollingerDown[20](close)
For i=1 to 5 do
c3a = (close[i] CROSSES OVER indicator3[i])
next
if c2a and c3a then
DRAWARROWUP(barindex, low-4)
endif
return
Je n’ai pas bien compris la question non plus 🙂
Merci fifi, par contre hors de ta boucle, la condition c3a ne serait vrai que si la dernière itération l’était (donc la sur la 5ème uniquement), je ne sais pas si c’est voulu et souhaité selon la demande de Shark (que je n’ai pas compris je le rappelle 😆 )
Merci pour ta réponse c’est exactement ça. J’ai pas l’impression que cela fonctionne.
Voici le code, j’ai trouvé une solution en répétant les conditions mais il y a certainement plus simple notamment si besoin de remonter plus loin dans le temps
ACHAT = 0
VENTE = 0
indicator2 = BollingerDown[20](close)
c2a = (low < indicator2)
indicator3 = BollingerUp[20](close)
c2v = (high > indicator3)
indicator4 = BollingerDown[20](close)
c3a = (low[1] < indicator4[1])
indicator5 = BollingerUp[20](close)
c3v = (high[1] > indicator5[1])
indicator6 = BollingerDown[20](close)
c4a = (low[1] < indicator6[2])
indicator7 = BollingerUp[20](close)
c4v = (high[1] > indicator7[2])
indicator8 = BollingerDown[20](close)
c5a = (low[1] < indicator8[3])
indicator9 = BollingerUp[20](close)
c5v = (high[1] > indicator9[3])
IF c2a OR c3a OR c4a OR c5a THEN
ACHAT = 1
ENDIF
IF c2v OR c3v OR c4v OR c5v THEN
VENTE = -1
ENDIF
RETURN ACHAT as “ACHAT”, VENTE as “VENTE”
Merci pour ton retour Nicolas
Ai je été plus clair dans le précédent message ?
est ce correct d’écrire : IF c1 AND c2 AND (c3 OR c4 OR c5) AND c6 THEN ?
Pas vraiment plus clair.. d’ailleurs je ne connais pas c1 et c2 🙂
D’après ce que j’ai compris, tu souhaites savoir si l’une des bandes de Bollinger a été percé dans la barre courante et si oui vérifier si cela a aussi été le cas au moins une fois dans les 4 barres qui précédent ?
Bonjour,
Je me pose la même question. Mon cas est le suivant :
C1c = Close crosses over Tenkansen
C2c = close >highest[10]((high)[1])
C3c = Volume >800
C4c = Close[1] or close[2] or close[3] or close[4] or close[5] crosses over Kijunsen
C5c = close[1] or close[2] or close[3] < MM2
Condition3 = C1c and c2c and c3c and c4c and c5c
If condition3 then
DRAWARROWdown(barindex[0],high[0]+Averagetruerange[5]/1.5)coloured(255,0,0)
endif
C’est le C4c qui me pose soucis.
Le débutant que je suis aurait écrit
C4c = Close[1] or close[2] or close[3] or close[4] or close[5] crosses over Kijunsen
Deux questions :
Cette formule est-elle correcte ?
Et je reviens au message de l’auteur de ce post, effectivement ce n’est pas très pratique de taper les X bougies pour lesquelles on souhaite vérifier la condition. Quelle est la formule idéale ?
Je dis n’importe quoi (je ne la connait pas) mais une formule comme close[1-10] crosses over … (le 1-10 étant le nombre de bougies à vérifier sur lesquelles la conditions doits’appliquer une fois au moins sur une de ces bougies.
Merci 🙂
Ta condition c4 n’est pas bien formulé.
On cherche à tester une condition booléenne qui donne un résultat = 1 si elle est vérifiée ; donc on peut faire une somme de ces 4 dernières conditions et vérifier si c’est supérieure à 0.
C4c = summation[5](Close crosses over Kijunsen)[1] > 0