Bonjour,
Je souhaiterais afficher des barres verticales à certaines heures de la journée …
Par exemple, je souhaite afficher une barre verticale, tous les jours, à 11h30.
Évidemment, un indicateur me rendrait la tâche plus aisée. J’avoue que comme la fonction d’affichage de barre prend barindex, je ne sais pas trop comment récupérer la différence de time entre le moment actuel et 11H30, puis faire une différence et enfin faire un barindex+cette différence.
Je vous remercie par avance.
Et voici :
if time = 113000 then
DRAWVLINE(barindex)
endif
return
Bonjour.
Merci mais ce n’est pas ma demande. Je souhaite afficher une barre à 11h30 même s’il est 9h du matin, pas juste quand l’heure se présente.
D’où ma volonté de vouloir calculer la différence entre le time actuel, le time futur et faire un barindex+cette différence.
Philippe
Bonjour,
l’indicateur vous affiche bien une barre verticale à 11h30 du matin peu importe l’heure actuelle.
Bonjour,
Si le but est de tracer la ligne verticale “d’avance” à 11h30 chaque jour, certes on pourrait selon le timeframe je cite “calculer la différence entre le time actuel, le time futur et faire un barindex+cette différence“, mais je suggère une autre piste évitant le calcul de la différence, grâce au mot-clé datetobarindex, combiné avec une variable concaténant jour et heure voulue dans le futur du graphe :
if opendate<>opendate[1] then
montiming=opendate*10000+1130
DRAWVLINE(DateToBarIndex(montiming))
endif
return
Ok merci. Ca fait à peu près le job.
J’ai modifié le code par :
if gettimeframe<=1800 then
if opendate<>opendate[1] then
montiming=opendate*10000+1130
DRAWVLINE(DateToBarIndex(montiming))
endif
ENDIF
return
pour voir les barres affichées en 30mn maximum.
Par contre, les barres restent affichées dans le passé.
Comment je pourrais ne les avoir que pour le jour en cours ?
Merci par avance.
if gettimeframe<=1800 then
if opendate<>opendate[1] then
montiming=opendate*10000+1130
DRAWVLINE(DateToBarIndex(montiming))
endif
ENDIF
Return
Pour l’afficher uniquement pour le jour en cours, au lieu de tous les jours, cela implique 2 changements:
- d’une part pour rendre les tracés temporaires dans le code, il faut rajouter un defparam drawonlastbaronly= true
- d’autre part on peut alors se dispenser de vérifier le changement de jour que permettait if opendate<>opendate[1] puisqu’on va effacer puis retracer la ligne voulue à chaque “dernière bougie en cours” du code (drawonlastbaronly) au lieu de juste une fois dans la journée
defparam DRAWONLASTBARONLY = true
montiming=opendate*10000+1130
DRAWVLINE(DateToBarIndex(montiming))
return
En y incorporant ton rajoût en gettimeframe si tu travailles avec une seule fenêtre où tu changes les UT, plutôt qu’avec un espace à plusieurs fenêtres chacune restant fixée sur son UT sans besoin de vérifier le gettimeframe, cela donnerait:
defparam DRAWONLASTBARONLY = true
if gettimeframe<=1800 then
montiming=opendate*10000+1130
DRAWVLINE(DateToBarIndex(montiming))
endif
return
Merci infiniment. Cela fonctionne à merveille.