Indicatore Filtro Orario

Forums ProRealTime forum Italiano Supporto ProBuilder Indicatore Filtro Orario

Viewing 15 posts - 1 through 15 (of 25 total)
  • #237544

    Buonasera,

    ho iniziato a impostare il codice per un indicatore che mi colora il background del grafico a seconda del momento della giornata.

    Funziona, però mi piacerebbe che disegnasse solo nella giornata di oggi.

    Qualcuno mi può aiutare? Grazie in anticipo!

     

    #237545

    No, non è possibile annullare i giorni precedenti.

    Esiste DEFPARAM DrawOnLastBarOnly che può essere settato su TRUE o FALSE, ma riguarda solo gli oggetti stampati con le varia istruzioni DRAW.

     

    #237548

    Potresti anche fare qualcosa di simile a quello che ho fatto in quest'altro post: https://www.prorealcode.com/topic/affihcer-seulement-sur-periode-choisi/#post-237414 Si tratta di disegnare un rettangolo. Puoi far passare il rettangolo da 0 a un numero molto alto imitando l'istruzione backgroundcolor

    2 users thanked author for this post.
    #237567

    Grazie Ivan!! Non ci avevo pensato.

    Ho provato a modificare in questo modo (inserisco solo una parte di codice, per semplificare):

     

    Tuttavia, se lascio backgroundcolor, in effetti disegna correttamente. Con il rettangolo non mi disegna niente (sicuramente sbaglio qualcosa io).

    Tra l’altro mi è venuta in mente un’altra cosa… io avrei bisogno che disegnasse in tempo reale. Così com’è lo fa o attende la fine del tempo prefissato in alto?

    Mi spiego meglio… se questo filtro deve disegnare fra mezzanotte e le 8 del mattino, lui aspetta che siano le 08.01? Perché, se sono le 3.00, a me piacerebbe trovarmi la candela corrente su sfondo verde, così come anche le precedenti, fino a mezzanotte.

    Per questo ho modificato l’istuzione “if time<=endBI1 then endbarBI1=barindex endif” in “if time<=endBI1 then endbarBI1=barindex endif”. Non so se ho fatto giusto ma, anche così, con backgroundcolor pare disegnare correttamente.

    Spero di essermi spiegato in maniera esaustiva.

    E chiedo ancora scusa per la confusione che creo, ma davvero a livello programmazione sono imbarazzante.

    #237621

    Ho modificato così:

     

    Funziona. Anche se esteticamente non è bellissimo per via dei bordi e anche a causa del fatto che, in corrispondenza della prima candela, chiaramente il rettangolo si riduce a una linea verticale (metto immagine).

    Mi rimane da capire se disegna in tempo reale, ma lo verificherò oggi.

    L’altro problema è che, inserendo la prima riga per fare disegnare solo oggi, pare non disegnare affatto.

    #237666

    Prova a commentare la riga 16, mettendo all’inizio le doppie barre:

     

    #237706

    Quella è proprio la riga che ho aggiunto per farlo funzionare quasi (e sottolineo quasi, ovviamente) correttamente. Se la tolgo, torno esattamente alla situazione di prima.

    #237720

    Non capisco bene cosa vuoi disegnare, tutto il rettangolo alle 00:30 alle 08:00, oppure una sola barra per volta?

     

    #237741

    Hai assolutamente ragione, Roberto. Provo a spiegarmi meglio.

    Di base sì, mi piacerebbe che disegnasse un rettangolo alla volta, fra le 00.00 e le 08.00, in tempo reale.

    Ora… mi rendo conto che a mezzanotte magari non può che fare una linea verticale verde (ma va bene così). Poi, a mezzanotte e mezza, mi piacerebbe che facesse un rettangolo fra le candele di mezzanotte e mezzanotte e mezza. Poi un altro fra le 00.30 e le 01.00 e così via 08.00.

    Spero di essermi riuscito a spiegare meglio, questa volta.

    #237761

    Questo fa quello che chiedi, che venga usata la riga DEFPARAM DrawOnLastBarOnly=true oppure no:

     

    1 user thanked author for this post.
    #237764

    Grazie mille, Roberto!

    In effetti, credo che tu ti sia avvicinato parecchio. Tuttavia, restituisce ancora degli errori.

    Ti invio due screenshot. In quello che si chiama “FO con prima riga” ho incluso il parametro per disegnare solo oggi. Come vedi non disegna i rettangoli di oggi, però ne fa uno enorme nel passato.

    Il secondo, quello che ho nominato “FO senza prima riga”, non ha il parametro e disegna, in effetti, correttamente i rettangoli di oggi. Tuttavia, disegna anche un rettangolo enorme nel passato. Se guardi l’inizio dello screenshot, noterai che è il grosso rettangolo è più scuro perché ce ne sono due sovrapposti. E più vai indietro nel tempo più, chiaramente, diventa scuro.

    #237769

    Riepilogo quello che ho compreso:

    • voui che dalle ore 00:00 stampi ogni 30 minuti un rettangolo che va dalla barra del primo minuto fino alla barra del 30esimo minuto (dal minuto 0 al minuto 29 e poi dal minuto 30 al minuto 59)
    • vuoi che ogni rettangolo resti visibile fino alle 08:00

    Dopo le 08:00 che deve succedere,tutto sparisce oppure il rettangolo tra le 00:00 e le 08:00 deve restare?

    Ogni rettangolo dei 30 minuti deve avere il bordo visibile oppure no?

     

    #237774

    Hai interpretato perfettamente Roberto, ti chiedo ancora scusa.

    Il rettangolo dopo le 08.00 può restare visibile e niente bordi. 🙂

    #237782

    Quindi se usi DEFPARAM DrawOnLastBarOnly=true, vedrai i singoli rettangoli mentre si formano e, dopo le 8, un unico rettangolo grande senza.

    Se non usi DEFPARAM DrawOnLastBarOnly=true, vedrai s singoli rettangoli, che vengono mantenuti sempre, anche per i giorni passati.

     

    1 user thanked author for this post.
    #237785

    Ok, Roberto. Grazie mille.

    Il problema è che, togliendo la prima riga, non solo rimangono i quadrati che servono ma, come ti dicevo, ne viene disegnato anche uno grosso, successivo alle 08.00 che arriva fino a mezzanotte. Se guardi l’immagine che ti ho allegato te ne accorgi.

Viewing 15 posts - 1 through 15 (of 25 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login