Plus haut et plus bas sur une plage horaire de la journée precedente

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #207796 quote
    r0d0lphe
    Participant
    Average

    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

    #207832 quote
    JC_Bywan
    Moderator
    Master

    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)

    r0d0lphe thanked this post
    #207845 quote
    r0d0lphe
    Participant
    Average

    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

    #207846 quote
    JC_Bywan
    Moderator
    Master

    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
    r0d0lphe thanked this post
    #207847 quote
    r0d0lphe
    Participant
    Average

    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

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Plus haut et plus bas sur une plage horaire de la journée precedente


Support ProBuilder

New Reply
Author
author-avatar
r0d0lphe @r0d0lphe Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by r0d0lphe
3 years ago.

Topic Details
Forum: Support ProBuilder
Language: French
Started: 01/21/2023
Status: Active
Attachments: No files
Logo Logo
Loading...