Problème de minuit ….

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #226088 quote
    Yvan63
    Participant
    Senior

    Bonjour,

    Je souhaiterais affiché un rectangle(en UT 2 minutes uniquement) qui engloberait une certaine période, par exemple de minuit à 08h00, ou autre période suivant les valeurs souhaitées.
    Le code fonctionne tous les jours de la semaine sauf à partir du vendredi où le “minuit” de départ est commun à celui du lundi.
    J’ai bien remarqué que le lundi démarrait à 000200 et non à 000000, voir même 000400 parfois, quand bien même je prendrais ceci en considération je n’arrive pas à régler le problème.

    J’ai tenté de différencier les jours, idem.

    Sur la capture jointe on voit bien les deux rectangles de vendredi / lundi qui ont le même barindex “minuit”

    Auriez-vous une solution ?

    Merci pour votre aide.

     

     

    // Affiche un rectangle sur une période bornée par deux horaires 
    
    HeureFin = 080000
    HeureDebut = 000000
    Intensite=50
    
    
    IF time = HeureDebut then
    
    Bindexminuit = barindex
    
    Endif
    
    
    If time = HeureFin Then
    
    period = barindex-Bindexminuit
    IndexHeureFin = barindex
    
    hh = highest[period](high)
    ll = lowest[period](low)
    
    x1 = Bindexminuit
    x2 = IndexHeureFin
    
    
    DRAWRECTANGLE(x1,hh,x2,ll) coloured("SKYBLUE") bordercolor("BLUE") style(line,1)
    
    ENDIF
    
    
    RETURN
    #226091 quote
    fifi743
    Participant
    Master

    et comme ceci

    IF intradaybarindex=0 then
    Bindexminuit = barindex
    Endif
    Yvan63 thanked this post
    #226092 quote
    larouedegann
    Participant
    Master

    Voilà ci-dessous le code édité par jc bywan que j’avais demandé pour une utilisation en ticks.

    Celui-ci fonctionne dans n’importe quel timeframe et en ticks également.

    L’heure début n’est pas être indiqué car le début est l’ouverture du marché ,seule l’heure de fin est obligatoire (pour moi 07h00);

    de même le texte peut être enlevé par une //

    if intradaybarindex<intradaybarindex[1] then
    barredebut=barindex
    endif
    
    IF opentime[1]<070000 and opentime>=070000 THEN
    hh = highest[barindex-barredebut+1](high)
    ll = lowest[barindex-barredebut+1](low)
    mm = (hh+ll)/2
    DRAWRECTANGLE(barredebut,hh,barindex,ll)coloured (128,64,0,200)bordercolor(128,64,0)
    DRAWSEGMENT(barindex,hh,barindex+70,hh) coloured (0,0,0)STYLE(line,3)
    DRAWSEGMENT(barindex,ll,barindex+70,ll) coloured (0,0,0)STYLE(line,3)
    DRAWSEGMENT(barredebut,mm,barindex+70,mm) coloured ("cyan")STYLE (line,3)
    DRAWTEXT("Haut asiatique",barindex+80,hh ,SansSerif,Bold,10)coloured(0,0,0)
    DRAWTEXT("Bas asiatique",barindex+80,ll,SansSerif,Bold,10)coloured(0,0,0)
    DRAWTEXT("Middle asiatique",barindex+80,mm,SansSerif,Bold,10)coloured(0,0,0)
    ENDIF
    RETURN
    Yvan63 thanked this post
    #226114 quote
    Yvan63
    Participant
    Senior

    Merci, ça fonctionne bien(uniquement pour minuit) mais je ne peux pas personnaliser l’heure de début (même si je l’imbrique après intradaybarindex)  ?

    #226115 quote
    Yvan63
    Participant
    Senior

    Merci pour cette solution qui fonctionne bien.
    Cependant je n’arrive pas à commencer le rectangle à une heure donnée …
    Je ne comprends pas pourquoi l’instruction if time = x pour le début de la période n’est pas prise en compte ? (voir mon premier message).

    #226119 quote
    JC_Bywan
    Moderator
    Master

    Bonsoir,

    tu as 2 obstacles à franchir dans le même problème, le premier: si tu prends une égalité fixe pour des timings (lignes 8 et 15), cela ne marchera que si la bougie correspondante n’est pas vide, ce qui peut arriver sur un actif pas très liquide ou en cotation cfd nocturne sur petite ut.

    Supposons ici que ton actif est suffisamment liquide pour se permettre de garder tes égalités fixes plutôt que de formuler le code de manière plus complexe gérant tous les cas de vides, et penchons-nous uniquement sur le 2e obstacle: tu sembles utiliser “time” pour l’heure qu’il est alors que c’est l’heure de clôture d’une bougie. Or, le vendredi si ton actif finit à 23h par exemple, tu n’auras pas de bougie qui termine à minuit (ni vendredi ni dimanche) pour la considérer comme nouveau “début” Bindexminuit, donc le dernier “début” Bindexminuit en mémoire (de la nuit de jeudi à vendredi) ne sera pas remplacé, et ton rectangle du lundi s’en servira comme point de départ. Tu peux donc considérer l’instruction “opentime” plutôt  que “time”, opentime étant l’heure de début d’une bougie, pour remplacer la ligne 8 dans ton code par:

    if opentime = HeureDebut then

    si ton actif a bien une bougie qui commence à “HeureDebut” personnalisable dans la nuit de dimanche à lundi (cf risque du premier problème mentionné, pas de bougie vide), alors ton rectangle du lundi démarrera comme souhaité sur un nouveau Bindexminuit dans la nuit de dimanche à lundi.

    Yvan63 thanked this post
    #226137 quote
    Yvan63
    Participant
    Senior

    Merci pour l’explication, en précisant un intervalle de 2 minutes avec l’instruction opentime j’arrive à la solution suivante qui permet de personnaliser l’heure de début.
    👍

    // Affiche un rectangle sur une période bornée par deux horaires
    
    HeureFin = 080000
    HeureDebut = 000000
    Intensite=50
    
    
    IF opentime > HeureDebut and opentime <= HeureDebut + 200 then // 200 = 2 minutes
    
    Bindexminuit = barindex
    
    endif
    
    If time = HeureFin Then
    
    period = barindex-Bindexminuit
    IndexHeureFin = barindex
    
    hh = highest[period](high)
    ll = lowest[period](low)
    
    x1 = Bindexminuit
    x2 = IndexHeureFin
    
    
    DRAWRECTANGLE(x1,hh,x2,ll) coloured("lightBLUE") bordercolor("BLUE") style(line,1)
    
    ENDIF
    
    RETURN
Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.

Problème de minuit ….


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Yvan63 @yvan63 Participant
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 01/07/2024
Status: Active
Attachments: 2 files
Logo Logo
Loading...