Bonjour,
pourquoi avec le même indicateur sur 2 UT différentes (5min et 15 min) je n’ai pas le m^me résultat.
pouvez vous m’aider pour corriger ce code.
merci d’avance.
cadre jaune : flux baissier rouge en 15 min et pas en 5min (partiellement).
timeframe (60minutes)
//bollinger
bbup1h=BollingerUp[20](close)
bbdn1h=BollingerDown[20](close)
//average
mm71h=average[7](close)
//macd
MMrapide1h = EXPONENTIALAVERAGE[12](CLOSE)
MMlente1h = EXPONENTIALAVERAGE[26](CLOSE)
e1h = MMrapide1h - MMlente1h//macd
f1h = EXPONENTIALAVERAGE[9](e1h)//signal
g1h=e1h-f1h // différence macd signal en hystogramme
gr1h=g1h<0 and g1h[1]>g1h
gv1h=g1h>0 and g1h[1]<g1h
gbr1h=g1h<0 and g1h[1]<g1h
gbv1h=g1h>0 and g1h[1]>g1h
//flux haussier
if e1h>f1h and bbup1h>bbup1h[1] and mm71h>mm71h[1] then
cond11h=1
cond21h=0
else
cond11h=0
endif
//flux baissier
if e1h<f1h and bbdn1h[1]>bbdn1h and mm71h[1]>mm71h then
cond21h=1
cond11h=0
else
cond21h=0
endif
timeframe(15minutes)
//bollinger
bbup=BollingerUp[20](close)
bbdn=BollingerDown[20](close)
//average
mm=close[7]
////flux haussier
if cond11h and bbup>bbup[1] and close>mm then
cond=1
else
cond=0
endif
//flux baissier
if cond21h and bbdn[1]>bbdn and close<mm then
cond1=1
else
cond1=0
endif
//affichage fond écran
if cond then
backgroundcolor (204,255,204)//vert
endif
if cond1 then
backgroundcolor (255,204,204)//rouge
endif
return
Puisqu’en utilisant l’instruction TIMEFRAME, tu testes pour chaque bougie inférieure les valeurs du timeframe supérieur, en temps réel (car tu n’utilises pas UPDATEONCLOSE, qui permet de tester des valeurs de bougies clôturées).
Donc durant ces 2 bougies blanches 5-min où il n’y a pas de couleur rouge, les tests du timeframe 60-minutes n’était réunies. Hors en timeframe 15-minutes, elles l’étaient à leur clôture.
Exemple en TF 5-minutes:
bougie1 bougie2 bougie 3
VRAI FAUX VRAI
la bougie 2 ne fera pas de couleur, hors en 15-minutes oui, puisqu’à la fin de ces 3×5 minutes (une bougie 15-minutes), le test est vrai, donc couleur.
J’espère avoir été clair.
Bonjour Nicolas,
Je ne comprends rien. les 2 premières bougies 15 (cadre jaune) sont rouges en 5 minutes rien.
je ne suis pas très doué en programmation, j’essaie de me former. Comment puis je corriger l’indicateur pour avoir le signal identique dans toute les ut ?
comment on utilise updateonclose ?
Dans une bougie de 15 minutes, il y a 3 bougies de 5 minutes, n’est ce pas ?
Comme tu utilises: timeframe(15minutes)
tu obtiens les calculs en temps réel de la bougie 15-minutes, à chaque seconde qui passe les valeurs changent, si le prix change, logique.
- à la fin de la première bougie 5-minutes, les conditions du 15-minutes sont réunies pour colorier en rouge: je colorie en rouge
- à la fin de la deuxième bougie 5-minutes, les conditions du 15-minutes ne sont pas réunies pour colorier en rouge: je ne colorie pas en rouge
- à la fin de la troisème bougie 5-minutes, les conditions du 15-minutes sont réunies pour colorier en rouge: je colorie en rouge
Oh! mais la fin de cette troisième bougie correspond aussi à la fin de la bougie 15-minutes, donc celle-ci aussi sera colorié en rouge.
Bref, tu colorie en temps réel ce qui se passe en 15 minutes.
Si tu veux utiliser des valeurs clôturées de la dernière bougie 15-minutes (et donc la précédente pas celle en cours!), tu ajoutes UPDATEONCLOSE: timeframe(15minutes,updateonclose)
nouveau problème, je reviens sur le graphique pour corriger l’indicateur et je constate que le résultat de mon indicateur flux n’est plus identique (sans changer la formule et le résultat est bon).
je modifie avec updateonclose et seule la dernière bougie 5 min est couleur flux.
Donc vraiment je ne comprends encore moins comment un résultat peut changer sans modifier le calcul
J’ai pas bien compris le “nouveau problème”, mais j’aimerai avant tout que tu me dises si tu as bien saisi mon explication ? C’est un pré requis pour passer à l’étape suivant pour t’aider, merci.
j’ai compris ton explication. a la clôture de la bougie 5 min si le 15 min est rouge alors rouge sinon pas rouge. et justement si tu regardes mon premier cadre jaune à la cloture 15min le signal et rouge et pas en 5 min. aujourd’hui je reviens sur le m^me graphique au m^me moment et là tous est rouge.
c’est toujours le m^me indicateur à la m^me pèriode le 13 /12 et le résultat n’est plus le m^me, Mon problème de couleur est résolu sans rien changer dans l’indicateur. D’ou mon intitulé “un nouveau problème”
Ton problème vient potentiellement de la quantité d’unités affichée sur l’écran, en effet, 50 bougies 5-minutes ne représente qu’un peu plus de 4 heures, soit pas suffisamment pour calculer une moyenne mobile de 20 bougies en H1 par exemple, et pas non plus pour du M15. Je te conseille d’augmenter la quantité de bougies de ton graphique pour permettre des calculs complets et obtenir des résultats plus précis.