z0omParticipant
Average
Bonjour,
Nouveau sur le forum, je me remets à vous car j’ai du mal à manipuler l’historique des bougies HA.
En tendance haussière (Close > mm100), à chaque fois que je croise la mm20, j’aimerais compter le nombre de bougies HA, rouges et vertes sur les x dernières bougies. Egalement en tendance baissière. J’ai fait une ébauche que voici :
mm20 = Average[20](close)
mm100 = Average[100](close)
res = 0
m = 0 // compteur de bougies vertes
n = 0 // compteur de bougies rouges
p = 10 // nombre de bougies à étudier
IF (Close > mm100) THEN
IF (Close CROSSES OVER mm20) THEN
FOR i = 1 TO p DO
// ??????????????? code HA ???????????????
IF (HAclose > HAopen) THEN
m = m + 1
ELSIF (HAclose < HAopen) THEN
n = n + 1
ENDIF
NEXT
ENDIF
ELSE
// l'inverse pour la tendance baissière
ENDIF
RETURN m AS "NbBougiesVertes", n AS "NbBougiesRouges"
Là où il y avait // ??????????????? code HA ???????????????, j’ai essayé mais sans succès.
Merci par avance pour votre aide.
Bonjour Sebastien
J’aurais une question mais qui n’a rien à voir avec ta demande.
Est ce que tu connais un code sur pro realtime qui permet de visualiser les changement de couleur de bougie de Chaikin en oscillateur ?
Cordialement
Michael
Bonjour,
>> Merci de renseigner votre pays dans votre page de profil (passer la souris sur votre avatar en haut à droite, puis “settings”, puis “location”) <<
z0omParticipant
Average
@Noobywan : C’est fait
@michaelben : Voici
ONCE OuvertureHA = (Open + Close + High + Low) / 4
ONCE ClotureHA = (Open + Close) / 2
OuvertureHA = (OuvertureHA + ClotureHA) / 2
ClotureHA = (Open + Close + High + Low) / 4
IF ClotureHA > OuvertureHA THEN
res = 1
ELSIF ClotureHA < OuvertureHA THEN
res = -1
ELSE
res = 0
ENDIF
RETURN res
Je n’ai pas testé le code en question, mais en prenant les tiens, on aura quelque chose qui ressemble à ceci:
mm20 = Average[20](close)
mm100 = Average[100](close)
res = 0
m = 0 // compteur de bougies vertes
n = 0 // compteur de bougies rouges
p = 10 // nombre de bougies à étudier
HAopen = (HAopen + HAclose) / 2
HAclose = (Open + Close + High + Low) / 4
IF (Close > mm100) THEN
IF (Close CROSSES OVER mm20) THEN
FOR i = 1 TO p DO
// ??????????????? code HA ???????????????
IF (HAclose[i] > HAopen[i]) THEN
m = m + 1
ELSIF (HAclose[i] < HAopen[i]) THEN
n = n + 1
ENDIF
NEXT
ENDIF
ELSE
// l'inverse pour la tendance baissière
ENDIF
RETURN m AS "NbBougiesVertes", n AS "NbBougiesRouges"
Si les variables sont bien déclarées (HAopen et HAclose), alors on peut y faire référence dans ta boucle avec l’offset en arrière entre crochet: [i] (puisque i est l’incrément dans ta boucle).
z0omParticipant
Average
C’est parfait, merci Nicolas !
z0omParticipant
Average
Par contre, même si ça marche, j’ai du mal à comprendre cette ligne :
HAopen = (HAopen + HAclose) / 2
Sachant qu’on affecte à HAopen en utilisant cette même variable qui n’a été instanciée avant :s
C’est vrai, c’est pourquoi elle sera vraiment valide à partir de la deuxième barre. Communément on affecte HAopen à Open, à la première barre:
if barindex<2 then
haopen = open
endif