DISEGNARE INDICATORE SOLO NELLE ULTIME CANDELE

Forums ProRealTime forum Italiano Supporto ProBuilder DISEGNARE INDICATORE SOLO NELLE ULTIME CANDELE

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

    Buongiorno Roberto

    Ho creato un indicatore che “disegna” sul grafico una freccia e un testo, ma vorrei che lo facesse solo per le ultime dieci candele, per evitare di appesantire graficamente nei TF più alti. Quale è l’istruzione da dare?

    Grazie

    #192397

    Le istruzioni grafiche stampano ad OGNI barra.

    Con DEFPARAM DRAWONLASTBARONLY=TRUE stamperà sempre ad ogni barra, ma NON gli oggetti delle barre precedenti.

    Quindi, nel tuo caso, occorre usare degli array (o vettori) per memorizzare sempre gli ultimi 10 dati e, usando DEFPARAM DRAWONLASTBARONLY=TRUE, ristamparli tutti e 10 ad ogni barra.

    Quindi se vuoi stampare una freccia devi salvare in 3 diversi array:

    • il numero della barra (BarIndex) dove stampare
    • il tipo di freccia (se non è sempre uguale)
    • il livello di prezzo dove va stampata.

    Qui trovi le istruzioni ed esempi su come usarli https://www.prorealcode.com/topic/array-variables-availability-in-prorealtime/.

     

    1 user thanked author for this post.
    #192407

    Grazie, anche se non riesco a farlo….troppo difficile per me

    R

    #192410

    Se mi dici esattamente cosa vuoi stampare (e in base a quando decidere se stamparlo o meno), posso fartelo.

     

    1 user thanked author for this post.
    #192411

    Visto che sei così disponibile…..ti allego il codice dell’indicatore che vorrei funzionasse solo per le ultime dieci candele

    Grazie


    ROSSA= close < open VERDE= close > open
    TecSpikeGiu= verde[1] and rossa [0] and High > high[1] and (open <= Close [1] + delta or open >= Close [1] - delta) //DELTA = DIFF TRA CLOSE PRECEDENTE E OPEN ATTUALE
    TecSpikeSu= rossa[1] and verde [0] and low < low[1] and (open >= (Close [1] + delta) or open <= (Close [1] - delta))
    If TecSpikeGiu then
    IngressoShort = Open-1
    Stopp=High+2
    Ri = (Stopp)-(IngressoShort)
    Tgt = IngressoShort-abs(Ri*RRT)//RRT= RISCK REWARD TARGET
    drawtext ("®Short",barindex,HIGH +(5*PIPSIZE),SansSerif,Bold,20)coloured (200,0,0,1000)
    drawtext ("Sell",barindex,open-1,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext ("S-t-o-p",barindex,HIGH+2 ,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext (Ri,barindex,HIGH-1 ,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext ("T-g-t",barindex,Tgt, SansSerif,Standard,15)coloured (0,0,0,1000)
    SIGNAL = -2
    elsif TecSpikeSu then
    IngressoLong = Open+1
    Stopp=Low-2
    Ri = (IngressoLong)-(Stopp)
    Tgt =IngressoLong+abs(Ri*RRT)
    drawtext ("®Long",barindex,LOW - (5*PIPSIZE),SansSerif,Bold,20)coloured (0,100,0,1000)
    drawtext ("Buy",barindex,open+1,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext ("S-t-o-p",barindex,low-2 ,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext (Ri,barindex,Low+1,SansSerif,Standard,15)coloured (0,0,0,1000)
    drawtext ("T-g-t",barindex,Tgt, SansSerif,Standard,15)coloured (0,0,0,1000)
    SIGNAL = +2
    ELSE
    SIGNAL = 0
    endif
    return

    #192413

    dimenticavo….ci sono due variabili

    delta[0]

    RRT[2]

     

    #192433

    Eccolo:

    alle due variabili (righe 15 e 16) ho messo dei dati a caso, metti tu i valori corretti.

    L’ultimo parametro di COLOURED è opzionale ed indica la trasparenza desiderata, può andare da 0=invisibile, fino a 255=massima visibilità. Prima c’era 1000, l’ho sostituito con 255. Non segnalava errore, però non so quale trasparenza usasse (forse faceva 1000/255, oppure 1000 MOD 55, o chissà cosa).

     

    1 user thanked author for this post.
    #192448

    Grazie Roberto

    C’è qualcosa che però non funziona, mi parte l’indicatore solo quando scatta sull’ultima candela la condizione.

    Ho fatto alcune modifiche ma ancora non mi va. Provo a correggere sennò richiedo nuovamente assistenza

     

    #192455

    Buongiorno Roberto,

    non capisco perché del comportamento dell’indicatore, forse è un probleme di annidamento di strutture.

    Dovrebbe segnare solo se le ultime candele hanno verso opposto (la prima verde e l9ultima rossa o viceversa, invece una volta che parte l’indicatore, se l’ultima candele inverte il segno, questo rimane sempre attivo. E si modifica solo quando si passa alla candela dopo.

    in sostanza, il trigger dell’azione non dovrebbe essere il passaggio alla candela dopo ma il passare da verde a rossa e viceversa.

    #192461

    A me sembra funzioni esattamente come prima, ho confontato la versione originale che hai postato e la mia e vedo che gli ultimi 10 segnali sono assolutamente identici (sul DAX a 5 minuti).

     

    #192511

    Se lo vedi funzionare in realtime non sono uguali. La condizione della diversità di ultima candela rispetto alla penultima fa scattare o no l’indicatore nella versione originale, mentre in quest’ultima no, ovvero l’indicatore resta anche se l’ultima candela inverte, diventando dello stesso segno della penultima. Si sblocca alla chiusura candela, con la nuova .

     

    #192512

    Ho capito, è dovuto al fatto che ad ogni candela ristampa gli ultimi 10 valori.

    E stampa sempre solo sull’ultima candela.

     

    1 user thanked author for this post.
    #192517

    Sarebbe altrettanto funzionale se stampasse in modo “definitivo” gli ultimi 9 (dal penultimo a ritroso) e in modo dinamico l’ultimo, sempre che ricorra la condizione trigger fondamentale, ovvero che la candela sia di segno opposto alla precedente

    #192537

    Avevo fatto un errore di scrittura io ed inoltre l’uso degli array per salvare gli ultimi 10 valori in realtà era molto più complicato a causa del fatto che durante una stessa barra, l’indicatore viene eseguito più volte.

    Questa è la versione corretta che ti aggiorna il grafico solo alla CHIUSURA della candela:

    Per potere vedere anche la candela in corso, devi aggiungere al grafico ANCHE l’indicatore originale (con gli stessi parametri per le variabili, ovviamente), aggiungendo come PRIMA riga questa:

     

    1 user thanked author for this post.
    #192606

    Ora funziona perfettamente! In associazione con l’altro è perfetto

    GRAZIEEE

     

    1 user thanked author for this post.
Viewing 15 posts - 1 through 15 (of 15 total)

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