Conteggio barre dalla condizione True

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • Claudio61
    Senior Member

    • May 2011
    • 3017

    #1

    Conteggio barre dalla condizione True

    Ciao a tutti.

    ho cercato una funzione che mi calcoli da quante barre è scattato il True di una certa condizione ma non ho trovato come fare. Ho provato con Latif ma lui azzera il conteggio quando il True si replica su più barre consecutive: se ho SET SU = C > D e mi restituisce True per 4 barre consecutive lui mi dà 0. Cosa sbaglio o cosa posso usare?

    Grazie
  • Francario Massimiliano
    Administrator
    • Jul 2008
    • 1033

    #2
    Salve,

    Originariamente Scritto da Claudio61
    Ciao a tutti.

    ho cercato una funzione che mi calcoli da quante barre è scattato il True di una certa condizione ma non ho trovato come fare. Ho provato con Latif ma lui azzera il conteggio quando il True si replica su più barre consecutive: se ho SET SU = C > D e mi restituisce True per 4 barre consecutive lui mi dà 0. Cosa sbaglio o cosa posso usare?

    Grazie
    per identificare un unico punto dove la condizione diventa vera si possono usare le funzioni CROSSOVER e CROSSUNDER.
    In questo caso, la condizione sarebbe:

    Codice:
    SET SU = CROSSOVER(C, D)
    Max Francario
    Manuale di beeTrader
    Manuale di Fiuto Beta

    Comment

    • Claudio61
      Senior Member

      • May 2011
      • 3017

      #3
      Originariamente Scritto da Francario Massimiliano
      Salve,



      per identificare un unico punto dove la condizione diventa vera si possono usare le funzioni CROSSOVER e CROSSUNDER.
      In questo caso, la condizione sarebbe:

      Codice:
      SET SU = CROSSOVER(C, D)
      Max Francario
      Grazie MAX .... ma a questo punto per avere il numero di barre che sono passate dal Crossover che funzione devo usare?

      Comment

      • Cagalli Tiziano
        Senior Member
        • Dec 2007
        • 11252

        #4
        Originariamente Scritto da Claudio61
        Grazie MAX .... ma a questo punto per avere il numero di barre che sono passate dal Crossover che funzione devo usare?
        Basta che usi LastIf, esattamente come facevi prima, solo che adesso non ti rimane a zero per diverse barre.
        Quindi:

        SET SU = CROSSOVER(C, D)
        SET Barre = LASTIF(SU)
        ..se corri dietro a due lepri, non ne prendi nemmeno una.

        Comment

        • Claudio61
          Senior Member

          • May 2011
          • 3017

          #5
          Originariamente Scritto da Cagalli Tiziano
          Basta che usi LastIf, esattamente come facevi prima, solo che adesso non ti rimane a zero per diverse barre.
          Quindi:

          SET SU = CROSSOVER(C, D)
          SET Barre = LASTIF(SU)
          Grazie Tiziano

          provato, perfetto.

          Comment

          • Cagalli Tiziano
            Senior Member
            • Dec 2007
            • 11252

            #6
            Originariamente Scritto da Claudio61
            Grazie Tiziano

            provato, perfetto.
            ..se corri dietro a due lepri, non ne prendi nemmeno una.

            Comment

            • Claudio61
              Senior Member

              • May 2011
              • 3017

              #7
              Ehhhh Tiziano/Max ... non penserete che abbia finito.....

              è possibile sommare 1 o 2 barre a quanto ti restituisce LASTIF ?
              Codice:
              SET NUM_BAR_SU = LASTIF(SUBIS > 0)
              SET NUM_BAR_DW = LASTIF(DWBIS > 0)
              inoltre ...... come faccio ad invertire il Colorize sulle colonne?
              Ho provato con COLORIZE_DESCENTING/ASCEDING
              Codice:
              SET PLOTCOLOR4 = COLORIZE(PLOT4, 1, 10, COLORIZE_DESCENDING, NAN)
              SET PLOTCOLOR5 = COLORIZE(PLOT5, 1, 40, COLORIZE_ASCENDING, NAN)
              ma ecco il risultato. Dove sbaglio?

              Click image for larger version

Name:	Istantanea_2015-09-14_140643.png
Views:	1
Size:	93.3 KB
ID:	158357


              Grazie

              Comment

              • Denis Moretto
                Administrator
                • Dec 2007
                • 3568

                #8
                Originariamente Scritto da Claudio61
                Ehhhh Tiziano/Max ... non penserete che abbia finito.....

                è possibile sommare 1 o 2 barre a quanto ti restituisce LASTIF ?
                Codice:
                SET NUM_BAR_SU = LASTIF(SUBIS > 0)
                SET NUM_BAR_DW = LASTIF(DWBIS > 0)
                ti basta aggiungere semplicemente "+1" o "+2" alla riga

                inoltre ...... come faccio ad invertire il Colorize sulle colonne?
                Ho provato con COLORIZE_DESCENTING/ASCEDING
                Codice:
                SET PLOTCOLOR4 = COLORIZE(PLOT4, 1, 10, COLORIZE_DESCENDING, NAN)
                SET PLOTCOLOR5 = COLORIZE(PLOT5, 1, 40, COLORIZE_ASCENDING, NAN)
                ma ecco il risultato. Dove sbaglio?

                Grazie
                qui sembra esserci un piccolo bug sul decrescending...Max lo verifica entro sera.

                Comment

                • Claudio61
                  Senior Member

                  • May 2011
                  • 3017

                  #9
                  Originariamente Scritto da Denis Moretto
                  ti basta aggiungere semplicemente "+1" o "+2" alla riga
                  .
                  Grazie Denis ...

                  Dove? dopo la parentesi di chiusura
                  Codice:
                  SET NUM_BAR_SU = LASTIF(SUBIS > 0) +1
                  SET NUM_BAR_DW = LASTIF(DWBIS > 0) +1
                  ma il risultato è questo..
                  Click image for larger version

Name:	Istantanea_2015-09-14_161014.png
Views:	1
Size:	47.6 KB
ID:	158359

                  all\'interno delle parentesi
                  Codice:
                  SET NUM_BAR_SU = LASTIF(SUBIS > 0 +2)
                  SET NUM_BAR_DW = LASTIF(DWBIS > 0 +2)
                  questa è la WL
                  Click image for larger version

Name:	Istantanea_2015-09-14_161831.png
Views:	1
Size:	88.8 KB
ID:	158360

                  Grazie

                  Comment

                  • Denis Moretto
                    Administrator
                    • Dec 2007
                    • 3568

                    #10
                    Originariamente Scritto da Claudio61
                    Grazie Denis ...

                    Dove? dopo la parentesi di chiusura
                    Codice:
                    SET NUM_BAR_SU = LASTIF(SUBIS > 0) +1
                    SET NUM_BAR_DW = LASTIF(DWBIS > 0) +1
                    ma il risultato è questo..


                    all\'interno delle parentesi
                    Codice:
                    SET NUM_BAR_SU = LASTIF(SUBIS > 0 +2)
                    SET NUM_BAR_DW = LASTIF(DWBIS > 0 +2)
                    questa è la WL

                    Grazie

                    Scusa Claudio forse non ci siamo capiti.
                    Mi potresti fare un esempio di quello di cui hai necessità (conteggio/Aggiunta barre).
                    grazie

                    Comment

                    • Claudio61
                      Senior Member

                      • May 2011
                      • 3017

                      #11
                      Originariamente Scritto da Denis Moretto
                      Scusa Claudio forse non ci siamo capiti.
                      Mi potresti fare un esempio di quello di cui hai necessità (conteggio/Aggiunta barre).
                      grazie
                      In pratica voglio sapere quante barre sono passate dal segnale long/short del canale secondario di Fiuto Canale.
                      Così come configurato il LASTIF mi conteggia le barre senza tener conto di quella in realtime ... il +1 era per ovviare a questo. Una cretinata perchè lo puoi fare a mente ma lo chiedo anche per imparare ad usare meglio easyscript.

                      Comment

                      • Marco Bosco
                        Senior Member

                        • Sep 2012
                        • 419

                        #12
                        Originariamente Scritto da Claudio61
                        In pratica voglio sapere quante barre sono passate dal segnale long/short del canale secondario di Fiuto Canale.
                        Così come configurato il LASTIF mi conteggia le barre senza tener conto di quella in realtime ... il +1 era per ovviare a questo. Una cretinata perchè lo puoi fare a mente ma lo chiedo anche per imparare ad usare meglio easyscript.
                        ciao Claudio,
                        prova ad aggiungere il +1 in un\'altra istruzione invece che su quella del LASTIF

                        Codice:
                        SET SU = CROSSOVER(SMA(CLOSE, 5), SMA(CLOSE, 10))
                        set step1 = LASTIF(SU > 0)
                        #Aggiungi in questa istruzione il +1 invece che sulla istruzione sopra
                        set PLOT1 = step1 + 1
                        SET PLOTCOLOR1 = COLORIZE(PLOT1, 1, 10, COLORIZE_DESCENDING, NAN)
                        ciao,
                        Marco
                        I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)

                        Comment

                        • Claudio61
                          Senior Member

                          • May 2011
                          • 3017

                          #13
                          Originariamente Scritto da Marco Bosco
                          ciao Claudio,
                          prova ad aggiungere il +1 in un\'altra istruzione invece che su quella del LASTIF

                          Codice:
                          SET SU = CROSSOVER(SMA(CLOSE, 5), SMA(CLOSE, 10))
                          set step1 = LASTIF(SU > 0)
                          #Aggiungi in questa istruzione il +1 invece che sulla istruzione sopra
                          set PLOT1 = step1 + 1
                          SET PLOTCOLOR1 = COLORIZE(PLOT1, 1, 10, COLORIZE_DESCENDING, NAN)
                          ciao,
                          Marco
                          Ciao Marco ....
                          soluzione perfetta .

                          Grazie

                          Comment

                          • Marco Bosco
                            Senior Member

                            • Sep 2012
                            • 419

                            #14
                            Originariamente Scritto da Claudio61
                            Ciao Marco ....
                            soluzione perfetta .

                            Grazie

                            Di niente Claudio, buon divertimento..
                            I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)

                            Comment

                            Working...