Valeur du CLOSE différente selon UT

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

    Bonjour,

    J’ai codé un indicateur qui me trace une ligne selon l’open et la close du marché US (153000 et 220000) selon l’UT.
    Le code fonctionne bien pour l’open mais pour la valeur du close j’ai des valeurs différentes selon l’UT utilisée, si je vérifie sur le graphique, effectivement
    les valeurs du close des bougies UT15 / UT5 / UT2 / UT 15s par exemple pour le temps à 220000 sont différentes (alors que c’est ok pour l’open).
    Comment remédier à cela ? Quel est la vraie valeur du close à 220000 ?
    Merci pour vos idées !

    Defparam DRAWONLASTBARONLY = false

    voffset = 3

    TF = gettimeframe

    If TF = 300 then // 5 minutes

    if time[1] = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = Date/10000
    endif

    if time[1] = CloseMArket then
    BarvalueCLOSEMARKET = Barindex
    PRIXCLOSE = close
    DateClose = Date/10000
    endif

    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 288 // 288 bougies de 5 minutes dans une 24H

    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured(“RED”) STYLE(line,3)
    DRAWTEXT( “#DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#”, BarvalueCLOSEMARKETX-12, PRIXCLOSE+voffset ) coloured(“RED”)

    BarvalueX = Barvalue + 80

    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured(“GREEN”) STYLE(line,3)
    DRAWTEXT( “#DateOpen# OPEN 15h30 #PrixOpen#”, barvalueX-12, PrixOpen+voffset) coloured(“green”)

    Endif // TF = 300

    If TF = 900 then // 15 minutes

    if time[1] = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = Date/10000
    endif

    if time[1] = CloseMArket then
    BarvalueCLOSEMARKET = Barindex
    PRIXCLOSE = close
    DateClose = Date/10000
    endif

    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 96

    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured(“RED”) STYLE(line,3)
    DRAWTEXT( “#DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#”, BarvalueCLOSEMARKETX-12, PRIXCLOSE+voffset+2 ) coloured(“RED”)

    BarvalueX = Barvalue + 26

    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured(“GREEN”) STYLE(line,3)
    DRAWTEXT( “#DateOpen# OPEN 15h30 #PrixOpen#”, barvalueX-12, PrixOpen+voffset+2) coloured(“green”)

    Endif // TF = 120

    If TF = 120 then // 2 minutes

    if time[1] = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = Date/10000
    endif

    if time[1] = CloseMArket then
    BarvalueCLOSEMARKET = Barindex
    PRIXCLOSE = close
    DateClose = Date/10000
    endif

    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 720

    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured(“RED”) STYLE(line,3)
    DRAWTEXT( “#DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#”, BarvalueCLOSEMARKETX-32, PRIXCLOSE+voffset+2 ) coloured(“RED”)

    BarvalueX = Barvalue + 195

    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured(“GREEN”) STYLE(line,3)
    DRAWTEXT( “#DateOpen# OPEN 15h30 #PrixOpen#”, barvalueX-32, PrixOpen+voffset+2) coloured(“green”)

    Endif // TF = 15

    If TF = 15 then // 2 minutes

    if time[1] = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = Date/10000
    endif

    if time[1] = CloseMArket then
    BarvalueCLOSEMARKET = Barindex
    PRIXCLOSE = close
    DateClose = Date/10000
    endif

    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 5735

    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured(“RED”) STYLE(line,3)
    DRAWTEXT( “#DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#”, BarvalueCLOSEMARKETX-152, PRIXCLOSE+voffset+2 ) coloured(“RED”)

    BarvalueX = Barvalue + 1611

    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured(“GREEN”) STYLE(line,3)
    DRAWTEXT( “#DateOpen# OPEN 15h30 #PrixOpen#”, barvalueX-132, PrixOpen+voffset+2) coloured(“green”)

    Endif // TF = 15
    return

    #239099 quote
    robertogozzi
    Moderator
    Master

    Certaines variables sont manquantes, postez le fichier ITF s’il vous plaît.

    #239100 quote
    Yvan63
    Participant
    Senior

    Désolé,

    Le voici

    #239103 quote
    Yvan63
    Participant
    Senior

    il y a une erreur dans un commentaire mais vous aurez compris que la dernière UT est le 15 secondes et non le 2 minutes

    #239104 quote
    robertogozzi
    Moderator
    Master

    Que voulez-vous tirer de cette expression, l’année ?

    DateOpen = Date/10000   //or DateClose
    #239105 quote
    Yvan63
    Participant
    Senior

    oui mais surtout la date que j’affiche sur la droite tracée

    #239129 quote
    robertogozzi
    Moderator
    Master

    Non, ce n’est pas une date (voir photo ci-jointe), seule l’année convient, le reste est en décimales. Pourquoi en avez-vous besoin ?

    Je l’ai modifié pour voir correctement la date.
    Maintenant, il me semble que le cours de clôture (CLOSE) du bar qui ferme à l’heure indiquée fonctionne également bien :

    Defparam DRAWONLASTBARONLY = false
    
    voffset = 3
    
    TF = gettimeframe
    
    If TF = 300 then // 5 minutes
    
    if opentime = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = ceil(Date/10000,0)
    mm       = month
    dd       = Day
    endif
    
    if opentime = CloseMArket then
    BarvalueCLOSEMARKET = Barindex[1]
    PRIXCLOSE = close[1]
    DateClose = ceil(openDate[1]/10000,0)
    mm        = openmonth[1]
    dd        = openDay[1]
    endif
    
    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 288 // 288 bougies de 5 minutes dans une 24H
    
    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured("RED") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#", BarvalueCLOSEMARKETX-12, PRIXCLOSE+voffset  ) coloured("RED")
    
    BarvalueX = Barvalue + 80
    
    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured("GREEN") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateOpen# OPEN 15h30 #PrixOpen#", barvalueX-12, PrixOpen+voffset) coloured("green")
    
    Endif // TF = 300
    
    If TF = 900 then // 15 minutes
    
    if opentime = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = ceil(Date/10000,0)
    mm       = month
    dd       = Day
    endif
    
    if opentime = CloseMArket then
    BarvalueCLOSEMARKET = Barindex[1]
    PRIXCLOSE = close[1]
    DateClose = ceil(openDate[1]/10000,0)
    mm        = openmonth[1]
    dd        = openDay[1]
    endif
    
    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 96
    
    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured("RED") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#", BarvalueCLOSEMARKETX-12, PRIXCLOSE+voffset+2  ) coloured("RED")
    
    BarvalueX = Barvalue + 26
    
    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured("GREEN") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateOpen# OPEN 15h30 #PrixOpen#", barvalueX-12, PrixOpen+voffset+2) coloured("green")
    
    Endif // TF = 120
    
    If TF = 120 then // 2 minutes
    
    if opentime = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = ceil(Date/10000,0)
    mm       = openmonth
    dd       = openDay
    endif
    
    if opentime = CloseMArket then
    BarvalueCLOSEMARKET = Barindex[1]
    PRIXCLOSE = close[1]
    DateClose = ceil(openDate[1]/10000,0)
    mm        = openmonth[1]
    dd        = openDay[1]
    endif
    
    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 720
    
    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured("RED") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#", BarvalueCLOSEMARKETX-32, PRIXCLOSE+voffset+2  ) coloured("RED")
    
    BarvalueX = Barvalue + 195
    
    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured("GREEN") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateOpen# OPEN 15h30 #PrixOpen#", barvalueX-32, PrixOpen+voffset+2) coloured("green")
    
    Endif // TF = 15
    
    If TF = 15 then // 15 seconds    (2 minutes ???)
    
    if opentime = OpenMarket then
    PrixOpen = Open
    Barvalue = BarIndex
    DateOpen = ceil(Date/10000,0)
    mm       = month
    dd       = Day
    endif
    
    if opentime = CloseMArket then
    BarvalueCLOSEMARKET = Barindex[1]
    PRIXCLOSE = close[1]
    DateClose = ceil(OpenDate[1]/10000,0)
    mm        = openmonth[1]
    dd        = openDay[1]
    endif
    
    BarvalueCLOSEMARKETX = BarvalueCLOSEMARKET + 5735
    
    DRAWsegment(BarvalueCLOSEMARKET, PRIXCLOSE, BarvalueCLOSEMARKETX, PRIXCLOSE) coloured("RED") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateClose# CLOSE 22h00(J-1) #PRIXCLOSE#", BarvalueCLOSEMARKETX-152, PRIXCLOSE+voffset+2  ) coloured("RED")
    
    BarvalueX = Barvalue + 1611
    
    DRAWsegment(Barvalue, PrixOpen, barvalueX, PrixOpen) coloured("GREEN") STYLE(line,3)
    DRAWTEXT( "#dd##mm##DateOpen# OPEN 15h30 #PrixOpen#", barvalueX-132, PrixOpen+voffset+2) coloured("green")
    
    Endif // TF = 15
    return
    Yvan63 and Iván González thanked this post
    #239159 quote
    Yvan63
    Participant
    Senior

    [Non, ce n’est pas une date (voir photo ci-jointe), seule l’année convient, le reste est en décimales. Pourquoi en avez-vous besoin ?]

    J’en ai besoin pour repérer facilement que c’est le close de la journée précédente et pas autre chose (parmi les autres lignes du jour)

    Merci pour les corrections, toutes les valeurs de CLOSE sont à présent identiques quelques soit l’unité de temps et les dates plus conformes.
    Par contre pourquoi est-ce systématiquement les avant dernières bougies qui sont sélectionnées et pas les dernières, le close est à 22:00:00 ?
    Sur les captures que je joins à ce message vous verrez que la bougie de CLOSE de l’UT15 est celle de 21:45:00 et pas celle de 22:00:00 ?
    Pareil pour l’UT5 qui est celle de 21:55:00 pas celle de 22:00:00 et aussi sur l’UT2 ?
    Je constate également un bug d’affichage sur le numéro du jour de la date, c’est un mélange de 16 et 17.

    #239249 quote
    Yvan63
    Participant
    Senior

    Bonjour,

    J’ai compris mon erreur dans mon message du dessus, donc tout fonctionne correctement, merci !!

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

Valeur du CLOSE différente selon UT


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Yvan63 @yvan63 Participant
Summary

This topic contains 8 replies,
has 2 voices, and was last updated by Yvan63
1 year, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/16/2024
Status: Active
Attachments: 7 files
Logo Logo
Loading...