Range bars

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #51377 quote
    Hendrix
    Participant
    Senior

    Buongiorno,

    volevo sapere come posso evidenziare una barra ad es. di 5 unità o pips dove l’apertura e la chiusura sono sopra la metà (es. apertura a 22300 min 22298 max 22303 chiusura 22302).

    Volevo sapere se posso evidenziare le barre di un altro colore o con un triangolo sotto verde se rialzista rosso se ribassista.

    Grazie

    #51382 quote
    robertogozzi
    Moderator
    Master

    Nel tuo esempio sono 5 pips e la metà tra gli estremi è di 2.5 pips (metà) oltre il minimo, cioè 22300.5. Quindi tu vuoi eveidenziare quella candela la cui apertura E chiusura siano superiori a 22300.5, quindi da 22300.6 in poi. Quindi solo quelle rialziste?

    Roberto

    #51386 quote
    Hendrix
    Participant
    Senior

    Buongiorno Roberto,

    in realtà ribaltando il dato indicherò anche le ribassiste, per intenderci vorrei poter evidenziare o mettere un triangolo sotto la barra verde se rialzista rosso se ribassista dopo che si siano formate due barre FF ti allego un esempio.

     

    Grazie

    #51438 quote
    robertogozzi
    Moderator
    Master

    Questo è l’indicatore con le frecce Verdi/Rosse (allego anche il file ITF da importare, se lo preferisci al copia e incolla), verificane il funzionamento e fammi sapere.

    DEFPARAM CalculateOnLastBars = 500
    ONCE NumeroPips = 5       //Grandezza minima del range
    ONCE Offset     = 10      //Pips sotto il Minimo/Sopra il Massimo dove stampare FRECCE
    a = range * pipsize
    b = range / 2
    IF a >= NumeroPips THEN
       IF close > open THEN
          IF open > (low + b) THEN
              DRAWARROWUP(barindex,low - (offset * pipsize)) COLOURED(50,205,50)
          ENDIF
       ELSE
          IF open < (high - b) THEN
             DRAWARROWDOWN(barindex,high + (offset * pipsize)) COLOURED(255,0,0)
          ENDIF
       ENDIF
    ENDIF
    RETURN

    Potrai variare i valori numerici secondo le tue necessità.

    Per metterlo sul prezzo e non sotto, devi fare i 3 passaggi di cui all’immagine allegata:

    1. cliccare sulla parte Superiore Sinistra del grafico dove c’è scritto PREZZO con accanto la chiave inglese
    2. cliccare col mouse sulla voce PRESSO
    3. cliccare su AGGIUNGI INDICATORE  poi, nel menù a tendina, selezionare l’indicatore.

    Roberto

    #51441 quote
    Hendrix
    Participant
    Senior

    Grazie Roberto,

    ma come vedi dall’allegato con range bars da 5 unità non funziona (vedi allegato) , inquanto dovrebbe evidenziare due barre o più consecutive la cui apertura e chiusura siano superiori o uguali a (max-min/2).

    Nell’immagine ad esempio dovrebbero essere indicate le prime tre bars e le ultime due (con triangolo rialzista).

     

    Grazie

    #51444 quote
    Hendrix
    Participant
    Senior

    L’importante sarebbe indicare le barre dopo che due consecutivi e quindi anche le successive che hanno apertura e chiusura sopra max-min/2.

     

    Grazie

    #51445 quote
    robertogozzi
    Moderator
    Master

    Ho provato a cambiare il codice così, provandolo dul DAX e su GBP/USD a 1 minuto:

    DEFPARAM CalculateOnLastBars = 500
    ONCE NumeroPips = 10 / pipsize   //Grandezza minima del range
    ONCE Offset     = 10             //Pips sotto il Minimo/Sopra il Massimo dove stampare FRECCE
    a = range / 2
    IF Range >= NumeroPips THEN
       IF close > open THEN
          IF open > (low + a) THEN
             DRAWARROWUP(barindex,low - (offset / pipsize)) COLOURED(50,205,50)
          ENDIF
       ELSE
          IF open < (high - a) THEN
             DRAWARROWDOWN(barindex,high + (offset / pipsize)) COLOURED(255,0,0)
          ENDIF
       ENDIF
    ENDIF
    RETURN

    ma il risultato non cambia, effettivamente ci sono dei problemi nel riconoscimento del RANGE.

    Non riesco proprio a capire, spero possa darci una mano Nicolas.

    #51583 quote
    Nicolas
    Keymaster
    Master

    Cercate di modificare il calcolo di Numeropips come questo:

    Numeropips= 10 * pointsize

    #51593 quote
    robertogozzi
    Moderator
    Master

    Nicolas, ho provato ma non cambia niente.

    Risco ad ottenere risultati migliori (ma comunque con vari errori di RANGE) con il TF di 1 ora, ma con TF inferiori sono più i risultati sbagliati di quelli corretti. Ho provato sul DAX ed Eur/Usd.

    #51608 quote
    Nicolas
    Keymaster
    Master

    Mi dispiace, ma sono un po ‘perduta nella traduzione qui, non so cosa sia esattamente il problema 🙂 Tutto sembra funzionare correttamente, a parte io ho capito bene, che @Hendrix vuole solo dare segnale se le condizioni accade 2 volte consecutive?

    #51650 quote
    Hendrix
    Participant
    Senior

    Si Nicolas se ci sono due o più range bars con la condizione sopra descritta.

     

    Grazie

    #51719 quote
    robertogozzi
    Moderator
    Master

    Quello che vorrei Nicolas, è che la riga 5 venisse eseguita quando la condizione è vera, cioè quando il RANGE > 10 pips.

    Invece non succede così, purtroppo IF…THEN viene eseguito anche quando il RANGE < 10 pips!

    Nella mia foto allegata la candela viene indicata dalla freccia anche se il RANGE = 3.7 pips!

    #51824 quote
    Nicolas
    Keymaster
    Master

    Non ho questo problema con la correzione di codice che ho proposto nel mio ultimo post. Mi dispiace vorrei aiutare qui 🙂

    #51831 quote
    robertogozzi
    Moderator
    Master

    Nicolas, questo è il codice, variato come da te suggerito , ma come vedi dalla foto allegata (DAX, TF 5 minuti), oggi alle 15:15 la barra aveva un RANGE di 7.3 pips, quindi meno di 10, però la freccia è stata visualizzata, quindi la condizione della riga 5 è risultata vera, perché?

    DEFPARAM CalculateOnLastBars = 500
    ONCE NumeroPips = 10 * pipsize   //Grandezza minima del range
    ONCE Offset     = 10             //Pips sotto il Minimo/Sopra il Massimo dove stampare FRECCE
    a = range / 2
    IF Range >= NumeroPips THEN
       IF close > open THEN
          IF open > (low + a) THEN
             DRAWARROWUP(barindex,low - (offset / pipsize)) COLOURED(50,205,50)
          ENDIF
       ELSE
          IF open < (high - a) THEN
             DRAWARROWDOWN(barindex,high + (offset / pipsize)) COLOURED(255,0,0)
          ENDIF
       ENDIF
    ENDIF
    RETURN
    #52040 quote
    Nicolas
    Keymaster
    Master

    Il problema è dovuto a “ONCE” quando viene utilizzato con “CalculateOnLastBars”, eliminando una di queste 2 istruzioni per risolvere il problema (o addirittura i 2), ma non dovrebbe essere un problema comunque. Mi riferisco a questo bug a prorealtime oggi.

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

Range bars


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Hendrix @hendrix Participant
Summary

This topic contains 16 replies,
has 3 voices, and was last updated by Hendrix
8 years, 2 months ago.

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