Bonjour
J’ai programmé un petit indicateur qui me marque l’amplitude des gaps d’ouverture selon une pourcentage défini
Je voudrais marque ces niveaux par deux points sur et sous le cours d’ouverture et uniquement à l’ouverture précise de 07H00
Et pas tout au long de la journée ou la veille comme sur mon graph ci-dessous
J’aimerai également que ce point ne soit pas pris en compte par mon axe afin de pouvoir mieux centrer mes chandeliers
Je ne sais pas si cela est possible mais merci d’avance de votre aide
va = DHigh(1) - Dlow(1)
va40 = Average[40](va)
amplitude = va40*0.6
If time = 070500 then
GUp = DClose(1) + amplitude
GDown = DClose(1) - amplitude
endif
Return GUp, GDown
Dans ce cas là, on utilisera une instruction graphique, ici un DRAWTEXT avec un caractère ASCII :
va = DHigh(1) - Dlow(1)
va40 = Average[40](va)
amplitude = va40*0.6
If time = 070500 then
GUp = DClose(1) + amplitude
GDown = DClose(1) - amplitude
drawtext("■",barindex,gup,dialog,bold,22) coloured(0,255,0)
drawtext("■",barindex,gdown,dialog,bold,22) coloured(255,0,0)
endif
Return
(non testé).
Je débute donc je n’ai pas du tout pensé à cette fonction drawtext mais je la note et je vais dorénavant la regarder de plus près
Merci Nicolas
Une petite demande supplémentaire si possible
Comment faire pour n’afficher ces carrés (drawtext) que le jour en cours , et pas les jours précédents ?
J’ai cherché avec today =
Mais je n’ai rien trouvé de concluant
Merci encore
Je me réponds car en cherchant sur le forum, j’ai trouvé et arrangé mon code à ma façon 😀
Et merci à Nicolas pour cette encyclopédie de codes qu’il essaime tout au long de ses discussions 😉
va = DHigh(1) - Dlow(1)
va40 = Average[40](va)
amplitude = va40*0.6
If date = today and time = 070500 then
GUp = DClose(1) + amplitude
GDown = DClose(1) - amplitude
drawtext("#GUp# ■",barindex,gup,dialog,bold,22) coloured(0,255,0)
drawtext("#GDown# ■",barindex,gdown,dialog,bold,22) coloured(255,0,0)
else
GUp = undefined
GDown = undefined
endif
Return
Valable pour un graph intraday 5minutes, sinon adapter l’horaire.
Bonjour à tous
J’ai encore besoin de votre aide 🙂
Dans mon indicateur ci-dessus , j’utilise DHigh(1), DLow(1)
Mais sur une cotation de 24 heures, j’aurais aimé prendre les valeurs High et Low de la session 07h00-21h00
Car pour une session comme celle de cette nuit, avec de grandes variations nocturnes, la différence dans le calcul est trop importante
J’ai essayé avec des “SessionTimeStart” ou encore des “intradaybarindex”, mais je suis trop débutant en codage et mes essais ne donnent rien 🙁
Quelqu’un pourrait-il m’aider ?
Merci d’avance 😉
Tu peux essayer avec ce code:
start=070000
end=210000
tc=time>=start and time<end
if tc then
if not tc[1] then
prevhh=hh
prevll=ll
hh=0
ll=close*100
endif
hh=max(hh,high)
ll=min(ll,low)
endif
va = prevhh-prevll//DHigh(1) - Dlow(1)
va40 = Average[40](va)
amplitude = va40*0.6
If date = today and time = 070500 then
GUp = DClose(1) + amplitude
GDown = DClose(1) - amplitude
drawtext("#GUp# ■",barindex,gup,dialog,bold,22) coloured(0,255,0)
drawtext("#GDown# ■",barindex,gdown,dialog,bold,22) coloured(255,0,0)
else
GUp = undefined
GDown = undefined
endif
Return
Je n’ai pas vérifié les valeurs, mais ça devrait le faire !
merci Nicolas
Je n’aurais effectivement jamais trouvé seul 🙁
On y presque effectivement avec une petite erreur de ma part
Il faudrait récupérer également la close de 21h pour le calcul de
GUp = DClose(1) + amplitude
GDown = DClose(1) - amplitude
Et petite question pour apprendre:
à quoi correspond le 100 dans ta formule ligne 9 ?
Je croix comprendre que c’est un choix aléatoire pour fixer un range de recherche du max et du min ?
Est-ce bien ça ?
merci encore 😉
C’est le reset du minimum, en multipliant par 100 je m’assure que le premier minimum trouvé sera bien inférieur 🙂
Pour le close de 21h00, test l’heure exacte et si elle est vrai alors enregistre le Close dans une variable que tu utiliseras à la place de Dclose(1).
Merci beaucoup Nicolas
Je vais essayer de m’en sortir avec tes indications 😉
J’ai donc réussi à retourner ma valeur correcte de close avec un petit bout de code et en l’utilisant à la place de Dclose(1)
if time = 210000 then
cc = close(0)
endif
Par contre, mon résultat global (GUp et GDown) est faux
J’ai donc affiché toutes les valeurs calculées afin de voir laquelle était fausse
Et j’ai trouvé.
C’est la moyenne retourner par le code ligne 16
va40 = Average[40](va)
Mais j’ai beau chercher et modifier dans tout les sens, je ne trouve pas où est l’erreur dans le calcul de cette moyenne
Nicolas, si tu as une suggestion, je suis preneur 😉
Le calcul de la moyenne se fait sur les 40 dernières barres et non les 40 dernières valeurs de va, et je suppose que c’est ce que tu veux faire.
Si oui il faudra faire une boucle pour trouver ces 40 dernières valeurs.
Bonsoir Nicolas
Exactement 😀
J’étais justement en train de travailler sur mon code.
Je vais donc maintenant chercher comment faire une boucle
Merci 😉
Trop compliqué pour moi ce codage de boucle 🙁
Je veux bien un peu d’aide si possible
Merci d’avance 😉