MAX e MIN vari TF

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #224799 quote
    Edisone
    Participant
    Average

    Salve avrei bisogno di un aiuto per una modifica al codice.

    Ho necessità di avere solo nel TF Daily anche il Min e Max della scorsa settimana

    Grazie mille

    DEFPARAM DrawOnLastBarOnly = True
    // MAX e MIN
    
    ONCE Futuro = 10      //stampa per 2 barre future
    ONCE PrevHH = 0
    ONCE PrevLL = 0
    ONCE HH     = 0
    ONCE LL     = 0
    TF = GetTimeFrame
    IF TF >= 86400 THEN 
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ELSIF IntraDayBarIndex = 0 THEN
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ENDIF
    
    HH = max(HH,high)
    LL = min(LL,low)
    DrawSegment(Barra-1,PrevHH,BarIndex + Futuro,PrevHH) coloured(0,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLL,BarIndex + Futuro,PrevLL) coloured(0,0,0,255) style(line,3)//(255,0,0,255)
    
    // SOLO SCRITTA SUL RISPETTIVO T.F.
    IF TF = 180 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 1800 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 86400 THEN //DAY
    DRAWTEXT("MAX D", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 604800 THEN
    DRAWTEXT("MAX W", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN W", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 2592000 THEN
    DRAWTEXT("MAX M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = (2592000*3) THEN
    DRAWTEXT("MAX 3M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN 3M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    
    RETURN
    
    #224851 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM DrawOnLastBarOnly = True
    // MAX e MIN
    
    ONCE Futuro = 10      //stampa per 2 barre future
    ONCE PrevHH = 0
    ONCE PrevLL = 0
    ONCE HH     = 0
    ONCE LL     = 0
    ONCE HHw    = 0
    ONCE LLw    = 0
    ONCE PrevHHw= 0
    ONCE PrevLLw= 0
    IF (OpenDayOfWeek = 1) AND (TF = 86400) THEN
    PrevHHw = HHw
    PrevLLw = LLw
    HHw     = high
    LLw     = low
    ENDIF
    TF = GetTimeFrame
    IF TF >= 86400 THEN
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ELSIF IntraDayBarIndex = 0 THEN
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ENDIF
    
    HH  = max(HH,high)
    LL  = min(LL,low)
    
    DrawSegment(Barra-1,PrevHH,BarIndex + Futuro,PrevHH) coloured(0,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLL,BarIndex + Futuro,PrevLL) coloured(0,0,0,255) style(line,3)//(255,0,0,255)
    
    // SOLO SCRITTA SUL RISPETTIVO T.F.
    IF TF = 180 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 1800 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 86400 THEN //DAY
    HHw = max(HHw,high)
    LLw = min(LLw,low)
    DRAWTEXT("MAX D", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    //
    DrawSegment(Barra-1,PrevHHw,BarIndex + Futuro,PrevHHw) coloured(255,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLLw,BarIndex + Futuro,PrevLLw) coloured(0,0,255,255) style(line,3)//(255,0,0,255)
    DRAWTEXT("         MAX W  prec", BarIndex + Futuro+2,PrevHHw,SansSerif,Standard,12) coloured(255,0,0,255)
    DRAWTEXT("         MIN W prec" , BarIndex + Futuro+2,PrevLLw,SansSerif,Standard,12) coloured(0,0,255,255)
    ENDIF
    IF TF = 604800 THEN
    DRAWTEXT("MAX W", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN W", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 2592000 THEN
    DRAWTEXT("MAX M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = (2592000*3) THEN
    DRAWTEXT("MAX 3M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN 3M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    
    RETURN
    #224855 quote
    Edisone
    Participant
    Average

    Grazie grazie mille, è possibile avere anche il max e min weekly nel t.f. 30 minuti ?

    Grazie ancora

    #224898 quote
    robertogozzi
    Moderator
    Master

    Mi sono accorto che nell’ultimo c’è un errore sul 30 minuti, ecco quello corretto:

    DEFPARAM DrawOnLastBarOnly = True
    // MAX e MIN
    
    ONCE Futuro = 10      //stampa per 2 barre future
    ONCE PrevHH = 0
    ONCE PrevLL = 0
    ONCE HH     = 0
    ONCE LL     = 0
    ONCE HHw    = 0
    ONCE LLw    = 0
    ONCE PrevHHw= 0
    ONCE PrevLLw= 0
    ONCE Wflag  = 0
    IF (OpenDayOfWeek = 1) AND ((TF = 86400) OR ((TF = 1800) AND (Wflag = 0))) THEN
    PrevHHw = HHw
    PrevLLw = LLw
    HHw     = high
    LLw     = low
    Wflag   = 1
    ENDIF
    IF OpenDayOfWeek > 1 THEN
    Wflag = 0
    ENDIF
    TF = GetTimeFrame
    IF TF >= 86400 THEN
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ELSIF IntraDayBarIndex = 0 THEN
    PrevHH = HH
    PrevLL = LL
    HH     = high
    LL     = low
    Barra  = BarIndex
    ENDIF
    
    HH  = max(HH,high)
    LL  = min(LL,low)
    HHw = max(HHw,high)
    LLw = min(LLw,low)
    
    DrawSegment(Barra-1,PrevHH,BarIndex + Futuro,PrevHH) coloured(0,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLL,BarIndex + Futuro,PrevLL) coloured(0,0,0,255) style(line,3)//(255,0,0,255)
    
    // SOLO SCRITTA SUL RISPETTIVO T.F.
    IF TF = 180 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 1800 THEN
    DRAWTEXT("MAX D", BarIndex + Futuro+3,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+3,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    //
    DrawSegment(Barra-1,PrevHHw,BarIndex + Futuro,PrevHHw) coloured(255,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLLw,BarIndex + Futuro,PrevLLw) coloured(0,0,255,255) style(line,3)//(255,0,0,255)
    DRAWTEXT("         MAX W  prec", BarIndex + Futuro+2,PrevHHw,SansSerif,Standard,12) coloured(255,0,0,255)
    DRAWTEXT("         MIN W prec" , BarIndex + Futuro+2,PrevLLw,SansSerif,Standard,12) coloured(0,0,255,255)
    ENDIF
    IF TF = 86400 THEN //DAY
    HHw = max(HHw,high)
    LLw = min(LLw,low)
    DRAWTEXT("MAX D", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN D", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    //
    DrawSegment(Barra-1,PrevHHw,BarIndex + Futuro,PrevHHw) coloured(255,0,0,255) style(line,3)//(0,0,255,255)
    DrawSegment(Barra-1,PrevLLw,BarIndex + Futuro,PrevLLw) coloured(0,0,255,255) style(line,3)//(255,0,0,255)
    DRAWTEXT("         MAX W  prec", BarIndex + Futuro+2,PrevHHw,SansSerif,Standard,12) coloured(255,0,0,255)
    DRAWTEXT("         MIN W prec" , BarIndex + Futuro+2,PrevLLw,SansSerif,Standard,12) coloured(0,0,255,255)
    ENDIF
    IF TF = 604800 THEN
    DRAWTEXT("MAX W", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN W", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = 2592000 THEN
    DRAWTEXT("MAX M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    IF TF = (2592000*3) THEN
    DRAWTEXT("MAX 3M", BarIndex + Futuro+2,PrevHH,SansSerif,Standard,12) coloured(0,0,0,255)
    DRAWTEXT("MIN 3M", BarIndex + Futuro+2,PrevLL,SansSerif,Standard,12) coloured(0,0,0,255)
    ENDIF
    
    RETURN
    #224899 quote
    Edisone
    Participant
    Average

    Grazie ma nel 30 minuti il max e min weekly non sono corretti.

    #225045 quote
    robertogozzi
    Moderator
    Master

    Per me va bene, come puoi vedere dalle foto allegate, una con evidenziato il Massimo precedente ed una con il Minimo precedente, sul Dax 30 minuti, i dati visualizzati combaciano con i dati della settimana precedente.

    Se riscontri ancora degli errori fammi sapere su quale strumento, così faccio una verifica.

    MaxPrec.jpg MaxPrec.jpg MinPrec.jpg MinPrec.jpg
    #225065 quote
    Edisone
    Participant
    Average

    Ti allego ad esempio foto di due future dove non funziona (in tratteggiato max e min effettivi).

    Screenshot-2023-12-08-185448.png Screenshot-2023-12-08-185448.png Screenshot-2023-12-08-190044.png Screenshot-2023-12-08-190044.png
Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.

MAX e MIN vari TF


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Edisone @edisone Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by Edisone
2 years, 3 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 12/04/2023
Status: Active
Attachments: 4 files
Logo Logo
Loading...