Massimi e Minimi della notte

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #181460 quote
    robertodocc
    Participant
    Average

    Buonasera

    ho provato a scrivere codice, copiando alcuni post del forume, ma non sono riuscito a combinare nulla

    Sto cercando di tracciare due segmenti che siano lunghi lo spazio relativo alla giornata, nella fascia oraria 0-7.

    Ovvero l’indicatore mi dovrebbe indicare il massimo e il minimo raggiunto nella fascia oraria 00:00-07:59

    Mi aiutereste a capire come si fa?

    Grazie molte per la disponibilità

    #181461 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    IF (OpenTime = 000000) OR ((OpenTime > 000000) AND (OpenTime < OpenTime[1])) THEN
       HH = high
       LL = low
    ENDIF
    IF OpenTime < 080000 THEN
       HH = max(HH,high)
       LL = min(LL,low)
    ENDIF
    RETURN HH AS "Massimo",LL AS "Minimo"
    robertodocc thanked this post
    #181462 quote
    robertodocc
    Participant
    Average

    Grazie Roberto, più veloce della luce!!!

    Altre due domande, se possibile: Come fare  per far sì che le linee me le tracci solo per la data odierna, senza l’effetto “scaletta”, cioè che la linea si alza ogni volta che il prezzo fa un nuovo massimo, ma mi rimanda una sola linea orizzontale che mi segni il massimo assoluto?

    E, seconda domanda, come posso aggiungere anche i massimi e mini della intera giornata di ieri?

    Poi non chiedo più nulla, prometto…..

    Grazie mille

    #181473 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM DrawOnLastBarOnly = TRUE
    IF (OpenTime = 000000) OR ((OpenTime > 000000) AND (OpenTime < OpenTime[1])) THEN
       Barra = BarIndex
       PHH   = HH2
       PLL   = LL2
       HH1   = high
       LL1   = low
       HH2   = high
       LL2   = low
    ENDIF
    IF OpenTime < 080000 THEN
       HH1   = max(HH1,high)
       LL1   = min(LL1,low)
    ENDIF
    HH2      = max(HH2,high)
    LL2      = min(LL2,low)
    DrawSegment(Barra,PHH,BarIndex,PHH) coloured(0,0,255,255) style(DottedLine,2)//Punti per giorno preced.
    DrawSegment(Barra,PLL,BarIndex,PLL) coloured(255,0,0,255) style(DottedLine,2)//Punti per giorno preced.
    DrawSegment(Barra,HH1,BarIndex,HH1) coloured(0,0,255,255) style(Line,2)      //Linea per oggi
    DrawSegment(Barra,LL1,BarIndex,LL1) coloured(255,0,0,255) style(Line,2)      //Linea per oggi
    RETURN
    robertodocc thanked this post
    #181495 quote
    robertodocc
    Participant
    Average

    Grazie Roberto, spettacolare la tua tempestività.

    #181496 quote
    robertodocc
    Participant
    Average

    Provato, fa esattamente quello che volevo. Ora ci aggiungo una etichetta e zona colore ed è perfetto

    Grazie ancora

    #181499 quote
    robertodocc
    Participant
    Average

    Scusa Roberto, come mai quando vado ad aggiungere zone di colore, i due livelli non li “sente”, ovvero non mi disegna area di colore? Dove sbaglio?

    #181501 quote
    robertogozzi
    Moderator
    Master

    Perché non sono dati restituiti con RETURN, quindi per le proprietò non esistono.

    Ho usato i comandi grafici per non avere l’effetto “scaletta”.

    Se vuoi usare le zone di colore occorre avere la “scaletta”. Oppure utilizzi altri comandi grafici per colorare certe zone che t’interessano.

    #181503 quote
    robertodocc
    Participant
    Average

    tipo drawrectangle? Se si, ci provo….da solo, se poi non riesco, riparto all’attacco di una nuova richiesta….Sorry

    Grazie

    #181509 quote
    robertodocc
    Participant
    Average

    Ho provato con drawrectangle ma non è quello che pensavo…

    A quali comandi grafici ti riferisci per colorare l’area in questione?

    Grazie

    R

    #181510 quote
    robertogozzi
    Moderator
    Master

    Quale area?

    #181518 quote
    robertodocc
    Participant
    Average

    Quella tra massimo e minimo del giorno precedente e quella della notte del giorno stesso

    #181531 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM DrawOnLastBarOnly = TRUE
    ONCE rh = 193   //Red          (rosso)
    ONCE gh = 255   //Green        (verde)
    ONCE bh = 193   //Blue         (blu')
    ONCE th = 4    //Transparency (trasparenza: 0=invisibile  255=massima visibilità)
    //
    ONCE rl = 255   //Red          (rosso)
    ONCE gl = 231   //Green        (verde)
    ONCE bl = 186   //Blue         (blu')
    ONCE tl = th    //Transparency (trasparenza: 0=invisibile  255=massima visibilità)
    //
    ONCE bf = 20    //20  barre da visualizzare nel futuro
    //
    IF (OpenTime = 000000) OR ((OpenTime > 000000) AND (OpenTime < OpenTime[1])) THEN
       Barra = BarIndex
       PHH   = HH2
       PLL   = LL2
       HH1   = high
       LL1   = low
       HH2   = high
       LL2   = low
    ENDIF
    IF OpenTime < 080000 THEN
       HH1   = max(HH1,high)
       LL1   = min(LL1,low)
    ENDIF
    HH2      = max(HH2,high)
    LL2      = min(LL2,low)
    DrawSegment(Barra,PHH,BarIndex+bf,PHH) coloured(0,0,255,255) style(DottedLine,2)//Punti per giorno preced.
    DrawSegment(Barra,PLL,BarIndex+bf,PLL) coloured(255,0,0,255) style(DottedLine,2)//Punti per giorno preced.
    DrawSegment(Barra,HH1,BarIndex+bf,HH1) coloured(0,0,255,255) style(Line,2)      //Linea per oggi
    DrawSegment(Barra,LL1,BarIndex+bf,LL1) coloured(255,0,0,255) style(Line,2)      //Linea per oggi
    FOR i = (BarIndex+bf) DOWNTO (Barra - 1)
       DrawRectangle(Barra,PHH,i,HH1) coloured(rh,gh,bh,th) bordercolor(0,0,0,0)
       DrawRectangle(Barra,PLL,i,LL1) coloured(rl,gl,bl,tl) bordercolor(0,0,0,0)
    NEXT
    RETURN

    Ho aggiunto la variabile bf (Barre Future) per stampare un certo numero di barre nel futuro (è possibile dalla versione 11). Se non t’interessa metteci 0 invece di 20 (o di altro numero, non so quale limite ci sia).

    Per cambiare i colori, qui trovi un elenco abbastanza grande con i codici RGB http://cloford.com/resources/colours/500col.htm.

    robertodocc thanked this post
    x-7.jpg x-7.jpg MioIndicatore.itf
    #181544 quote
    robertodocc
    Participant
    Average

    Grazie come sempre, perfetto. Ho cambiato solo le coordinate dei rettangoli perchè le aree che intendevo erano differenti

    ti allego il mio codice definitivo.

    L’unica cosa che non capisco è perchè non mi disegna il minimo di ieri se metto il time frame 3 minuti, mentre funziona perfettamente con tutti gli altri.

    PS: come facevo a sapere che esiste una possibilità di descrivere i bordi dei rettangoli? dove trovo la documentazione completa sui comandi e le parole di prorealcode?

    PPS: ho provato a inserire il codice come vorrebbe il protocollo ma non mi compare il “insert PRT Code” nel tool di compilazione del msg. Allego qui sotto il codice

    —————————————————————-

    DEFPARAM DrawOnLastBarOnly = TRUE
    ONCE rh = 193 //Red (rosso)
    ONCE gh = 255 //Green (verde)
    ONCE bh = 193 //Blue (blu')
    ONCE th = 5 //Transparency (trasparenza: 0=invisibile 255=massima visibilità)
    //
    ONCE rl = 255 //Red (rosso)
    ONCE gl = 231 //Green (verde)
    ONCE bl = 186 //Blue (blu')
    ONCE tl = th+2 //Transparency (trasparenza: 0=invisibile 255=massima visibilità)
    //
    ONCE bf = 20 //20 barre da visualizzare nel futuro
    //
    IF (OpenTime = 000000) OR ((OpenTime > 000000) AND (OpenTime < OpenTime[1])) THEN
    Barra = BarIndex
    PHH = HH2
    PLL = LL2
    HH1 = high
    LL1 = low
    HH2 = high
    LL2 = low
    ENDIF
    IF OpenTime < 080000 THEN
    HH1 = max(HH1,high)
    LL1 = min(LL1,low)
    ENDIF
    HH2 = max(HH2,high)
    LL2 = min(LL2,low)
    //DrawSegment(Barra,PHH,BarIndex+bf,PHH) coloured(0,0,255,255) style(DottedLine,2)//Punti per giorno preced.
    //DrawSegment(Barra,PLL,BarIndex+bf,PLL) coloured(255,0,0,255) style(DottedLine,2)//Punti per giorno preced.
    //DrawSegment(Barra,HH1,BarIndex+bf,HH1) coloured(0,0,255,255) style(Line,2) //Linea per oggi
    //DrawSegment(Barra,LL1,BarIndex+bf,LL1) coloured(255,0,0,255) style(Line,2) //Linea per oggi
    DrawSegment(Barra,PHH,BarIndex,PHH) coloured(0,0,255,255)style(DottedLine,4)//MAX giorno preced.
    DRAWTEXT("Max IERI",Barindex-3,PHH+1,Dialog,Bold,25)coloured(0,0,255,255)
    DrawSegment(Barra,PLL,BarIndex,PLL) coloured(255,0,0,255) style(DottedLine,4)//MIN giorno preced.
    DRAWTEXT("Min IERI",Barindex-3,PLL-1,Dialog,Bold,25)coloured(255,0,0,255)
    DrawSegment(Barra,HH1,BarIndex,HH1) coloured(0,0,0,255) style(Dottedline,3)      //max NOTTE oggi
    DRAWTEXT("max notte",BarIndex-3,HH1+2,Dialog,Italic,20)coloured(0,0,0,255)
    DrawSegment(Barra,LL1,BarIndex,LL1) coloured(0,0,0,255) style(Dottedline,3)      //min NOTTE oggi
    DRAWTEXT("min notte",BarIndex-3,LL1-2,Dialog,Italic,20)coloured(0,0,0,255)
    FOR i = (BarIndex+bf) DOWNTO (Barra - 1)
    DrawRectangle(Barra,PHH,i,PLL) coloured(rh,gh,bh,th) bordercolor(0,0,0,0)
    DrawRectangle(Barra,HH1,i,LL1) coloured(rl,gl,bl,tl) bordercolor(0,0,0,0)
    NEXT
    RETURN
    timeframe-5-minuti.png timeframe-5-minuti.png
    #181546 quote
    robertodocc
    Participant
    Average

    Questo è il timeframe 3 minuti….

    timeframe-3-minuti.png timeframe-3-minuti.png
Viewing 15 posts - 1 through 15 (of 20 total)
  • You must be logged in to reply to this topic.

Massimi e Minimi della notte


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 19 replies,
has 3 voices, and was last updated by robertodocc
4 years, 3 months ago.

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