Disegnare Box e confronto con ATR

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #237059 quote
    Gianpy
    Participant
    New

    Buonasera a tutti.

    Premetto che non ho alcuna esperienza di coding, ma avrei bisogno di creare un indicatore (del quale mi manca solo un pezzo, in realtà) che sia applicato su un grafico 30 min.

    Ho trovato sul forum questo codice che mi è stato molto utile per disegnare sul prezzo un box:

     

     

    starttime = 050000
    endtime = 090000
    
    if intradaybarindex=0 then
     hh = 0
     ll = 0
     alreadydrawn = 0
    endif
    
    if time=starttime then
     startbar=barindex
    endif
    
    if time=endtime then
     endbar=barindex
    endif
    
    if time>=starttime and time<=endtime then
     if high>hh then
      hh = high
     endif
     if low<ll or ll=0 then
      ll = low
     endif
    endif
    
    if time>endtime and alreadydrawn=0 then
     drawrectangle(startbar,hh,endbar,ll)
     alreadydrawn=1
    endif
    
    RETURN

    Ora due domande:
    1) In questo modo il box viene creato correttamente, ma mi piacerebbe che disegnasse solo nella giornata di oggi (e non anche nel passato). Ho inserito (come trovato in altri post), la prima riga DEFPARAM DrawOnLastBarOnly = True
    Purtroppo, così facendo, non disegna affatto.

    2) Come posso confrontare il range del box con il valore di ATR Daily di ieri?

    Grazie in anticipo

    #237081 quote
    Iván González
    Moderator
    Master

    Ciao,
    Per risolvere le tue domande:
    1) Disegnare il box solo per la giornata attuale: Puoi assicurarti che il box venga disegnato solo per la sessione di oggi utilizzando la variabile date per verificare se la barra corrente è all’interno dell’intervallo di oggi. Ecco una versione aggiornata del codice che funziona per disegnare il box solo per la sessione odierna:

    starttime = 050000
    endtime = 090000
    currentDay = date // Ottieni la data odierna
    
    if intradaybarindex=0 then
        hh = 0
        ll = 0
        alreadydrawn = 0
    endif
    
    if time=starttime then
        startbar=barindex
    endif
    
    if time=endtime then
        endbar=barindex
    endif
    
    // Disegna solo se è oggi
    if time>=starttime and time<=endtime and date = currentDay then
        if high>hh then
            hh = high
        endif
        if low<ll or ll=0 then
            ll = low
        endif
    endif
    
    if time>endtime and alreadydrawn=0 and today = currentDay then
        drawrectangle(startbar,hh,endbar,ll)
        alreadydrawn=1
    endif
    RETURN
    

    2) Confrontare il range del box con l’ATR del giorno precedente: Per calcolare e confrontare il range del box con l’ATR del giorno precedente, puoi usare il codice seguente. L’ATR viene calcolato e memorizzato per essere confrontato con il range del box.

    atr = AverageTrueRange[14](close)
    atrYesterday = atr[1]  // ATR giornaliero del giorno precedente
    
    rangeBox = hh - ll // Range del box
    
    // Confronta il range del box con l'ATR di ieri
    if rangeBox > atrYesterday then
        // Codice se il range del box è maggiore
    else
        // Codice se l'ATR è maggiore
    endif
    RETURN
    
    #237091 quote
    Gianpy
    Participant
    New

    Grazie mille Ivan!!

    Il codice per l’ATR è perfetto!

    Invece, per quanto riguarda la disegnazione solo per il giorno corrente, non so perché, ma pare non funzionare. Continua a disegnare anche nei giorni precedenti.

    Per carita, non è un grosso problema, era solo per creare meno confusione.

     

    Comunque grazie di cuore!

    #237123 quote
    Iván González
    Moderator
    Master

    Non capisco… Guarda il grafico allegato

    #237221 quote
    Gianpy
    Participant
    New

    Ti chiedo scusa Ivan, devo aver combinato qualcosa mentre modificavo ulteriormente. Ho ripreso in mano il tuo codice pulito: funziona tutto alla perfezione.

    Grazie e scusa ancora!

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

Disegnare Box e confronto con ATR


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Gianpy @gianpy Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by Gianpy
1 year, 5 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 09/03/2024
Status: Active
Attachments: 1 files
Logo Logo
Loading...