Bonjour a tous,
Je recherche a identifier le plus haut et le plus bas sur un intervalle horaire de la journée précédente. Par exemple entre 15h30 et 16h30
Pour ensuite calculer le nombre de points entre ces 2 valeurs
J’arrive à faire sur la journée précédente complète ou sur une plage horaire de la journée actuelle mais pas sur une plage horaire de la journée précédente.
J’ai recherché sur le forum sans succès
Merci d’avance
Bjr,
c’est vrai que ça fait longtemps qu’on l’a pas refait et que c’est peut -être un peu enfoui dans le forum, mais régulièrement on a recodé des variantes de ce genre de requête selon ses spécificités, on a plusieurs fois fait des “initial balance” par exemple, ou double plage horaire dans la journée, extrapolable à 3 et récupérables le lendemain.
Si tu sais faire pour une plage horaire de la journée, alors au changement de jour tu mets en mémoire tes valeurs dans d’autres variables pour qu’elles soient dispo le lendemain; Si tu veux fournir ton code actuel avec plage horaire de la journée actuelle, je te le rajoute, sinon si tu veux l’ajouter seul ça devrait donner quelque chose comme ça:
Ton code qui définit monplushaut=… et monplusbas=… auquel tu retires ta ligne return actuelle et tu rajoutes à la place:
if opendate[1]<>opendate then
plushautplagehier = monplushaut
plusbasplagehier = monplusbas
endif
return plushautplagehier , plusbasplagehier
(ou la différence entre plushautplagehier et plusbasplagehier si tu veux seulement la différence et pas les bornes)
Merci beaucoup pour ta réponse Bryan
Mon code (simplifié, il y a beaucoup de barres) a cette tête :
defparam drawonlastbaronly = true
// Plus haut de la journée précédente
HP=DHigh(1)
// Plus bas de la journée précédente
LP=DLow(1)
// Écart journée précédente
EP=HP-LP
// Plus haut de la journée actuelle
HA=DHigh(0)
// Plus bas de la journée actuelle
LA=DLow(0)
//Formules haussières
H10=LA+EP
DrawHLine (H10) Coloured(255,165,0) STYLE(LINE,2)
DRAWTEXT("H1",barindex,H10+3,SansSerif,Bold,16)Coloured(255,165,0)
//Formules baissières
B10= HA-EP
DrawHLine (B10) Coloured(255,0,255) STYLE(LINE,2)
DRAWTEXT("B1",barindex,B10+3,SansSerif,Bold,16)Coloured(255,0,255)
Return
Plutot que prendre les haut et bas de la journée précédente complète, je cherche à limiter entre 15h30 et 22H00
Ca doit donner quelque chose comme ca pour la journée en cours :
start = 153000
end = 220000
tc = time>start and time<=end
if tc then
if not tc[1] then
HP=high
LP=low
endif
HP=max(high,HP)
LP=min(low,LP)
endif
EP=HP-LP
Mais je ne comprend pas comment faire pour la journée précédente et l’insérer dans mon code
Ok, partant de HP, LP, EP, on peut créer pour la journée précédente HPhier, LPhier, EPhier en rajoutant quelques lignes à la suite des tiennes:
start = 153000
end = 220000
tc = time>start and time<=end
if tc then
if not tc[1] then
HP=high
LP=low
endif
HP=max(high,HP)
LP=min(low,LP)
endif
EP=HP-LP
if opendate[1]<>opendate then
HPhier = HP
LPhier = LP
EPhier = EP
endif
Super merci. Ca a l’air de marcher : restriction des plages horaires du jour et du jour précédent à 15h30-22h00
Je vérifierai semaine prochaine.
Je met le code si ca peut servir à quelqu’un sachant qu’il est facile de modifier la plage horaire et rajouter des barres avec les formules que l’on veut
defparam drawonlastbaronly = true
// Couleurs H
couleurHR=255
couleurHG=165
couleurHB=0
//Couleurs B
couleurBR=255
couleurBG=0
couleurBB=255
// Plage horaire TC, haut et bas jour : HA et LA, haut et bas jour précédent : HP et LP
start = 153000
end = 220000
TC = time>start and time<=end
if TC then
if not TC[1] then
HA=high
LA=low
endif
HA=max(high,HA)
LA=min(low,LA)
endif
EA=HA-LA
if opendate[1]<>opendate then
HP = HA
LP = LA
EP = EA
endif
//Formules haussières
H10=LA+EP
DrawHLine (H10) Coloured(couleurHR,couleurHG,couleurHB) STYLE(LINE,2)
DRAWTEXT("H1",barindex,H10+3,SansSerif,Bold,16)Coloured(couleurHR,couleurHG,couleurHB)
//Formules baissières
B10= HA-EP
DrawHLine (B10) Coloured(couleurBR,couleurBG,couleurBB) STYLE(LINE,2)
DRAWTEXT("B1",barindex,B10+3,SansSerif,Bold,16)Coloured(couleurBR,couleurBG,couleurBB)
Return
Vais juste avoir un pb pour le lundi …
Merci encore Bryan