Pagina 2 di 2 Prima 12
Risultati da 11 a 20 di 40

Discussione: Indicatore Pidi_Trend

Visualizzazione Ibrida

  1. #1

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Ecco una prima conversione approssimativa del codice fornito da BMM.
    Per quanto riguarda il calcolo degli strike, non funzionando le funzioni CEIL e FLOOR, ho utilizzato il metodo di
    calcolo fornito da Smash nel suo codice.
    Per quanto riguarda il calcolo di SogliaPidiUp e SogliaPidiDown ho tradotto pari pari le condizioni di BMM,
    e non avendoci capito molto, lascio a voi verificare la loro correttezza.
    Fate sapere se è necessario correggere qualcosa.

    Saluti
    Massimo

    # Ampiezza Strike
    INPUTS: @AmpStrike(0.5)
    # Ampiezza Fascia Pidi
    INPUTS: @AmpPidi(0.22) 
    # Ampiezza Frontiera della direzione
    INPUTS: @AmpFdD(0.22)
    
    # Calcolo dei Pivot Points
    SET AP = (YESTERDAYHIGH() + YESTERDAYLOW() +  YESTERDAYCLOSE()) / 3
    SET Sup1 = (AP * 2) - YESTERDAYHIGH()
    SET Res1 = (AP * 2) - YESTERDAYLOW()
    SET Sup2 = AP - (Res1 - Sup1)
    SET Res2 = (AP - Sup1) + Res1
    #SET Res3 = Res2 + (YESTERDAYHIGH() - YESTERDAYLOW())
    #SET Sup3 = Sup2 - (YESTERDAYHIGH() - YESTERDAYLOW())
    # Calcolo Frontiere della direzione
    SET FdDUp = TODAYOPEN() + @AmpFdD
    SET FdDDown = TODAYOPEN() - @AmpFdD
     
    # Calcolo dei 2 livelli di Strike Up
    SET StrikeUp1 = DIV(TODAYOPEN() * 100, 50) / 2 + @AmpStrike
    SET StrikeUp2 = StrikeUp1 + @AmpStrike
     
    # Calcolo dei 2 livelli di Strike Down
    SET CondDown = MOD(TODAYOPEN() * 100, 50) = 0
    SET StrikeDown1 = IF(CondDown, DIV(TODAYOPEN() * 100, 50) / 2 - @AmpStrike, DIV(TODAYOPEN() * 100, 50) / 2)
    SET StrikeDown2 = StrikeDown1 - @AmpStrike
    # Calcola SogliaPidiUp
    SET c1 = IF(StrikeUp1 < Res2, StrikeUp1, Res2 )
    SET c2 = IF(StrikeUp1 < Res1, Res1, c1)
    SET c3 = IF(StrikeUp1 < Res1, StrikeUp1, Res1 )
    SET c4 = IF(StrikeUp1 < AP, AP, c3)
    SET SogliaPidiUp = IF(TODAYOPEN() > AP, c2 , c4)
    # Calcola SogliaPidiDown
    SET c5 = IF(StrikeDown1 > Sup2, StrikeDown1, Sup2 )
    SET c6 = IF(StrikeDown1 > Sup1, Sup1, c5)
    SET c7 = IF(StrikeDown1 > Sup1, StrikeDown1, Sup1 )
    SET c8 = IF(StrikeDown1 > AP, AP, c7)
    SET SogliaPidiDown = IF(TODAYOPEN() < AP, c6 , c8)
    # Calcola Punti di non ritorno
    SET PNRUp = SogliaPidiUp + @AmpPidi
    SET PNRDown = SogliaPidiDown - @AmpPidi
     
    SET PLOT1 = TODAYOPEN()
    SET PLOT2 = FdDUp
    SET PLOT3 = FdDDown
    SET PLOT4 = PNRUp
    SET PLOT5 = PNRDown
    SET PLOT6 = SogliaPidiUp
    SET PLOT7 = SogliaPidiDown
    
    SET PLOTCOLOR1 = COLOR_SILVER
    SET PLOTCOLOR2 = COLOR_GREEN
    SET PLOTCOLOR3 = COLOR_RED
    SET PLOTCOLOR4 = COLOR_GREEN
    SET PLOTCOLOR5 = COLOR_RED
    SET PLOTCOLOR6 = COLOR_YELLOW
    SET PLOTCOLOR7 = COLOR_YELLOW

  2. #2

    Data Registrazione
    Dec 2009
    Messaggi
    813

    Thumbs up

    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Ecco una prima conversione approssimativa del codice fornito da BMM.

    Bravo Max! Ora direi che lavora bene, l'unico problema è che su TF inferiori al 15 minuti va fuoriscala!

    Workspace TF 15 minuti

    Clicca sull'immagine per ingrandirla

Nome: MAXMAX_FASCEPIDI.jpg
Visite: 47
Dimensione: 123.9 KB
ID: 13055



    Workspace fuoriscala su TF 5 minuti

    Clicca sull'immagine per ingrandirla

Nome: MAXMAX_FASCEPIDI._ERROREJPG.jpg
Visite: 16
Dimensione: 96.4 KB
ID: 13056

  3. #3

    Data Registrazione
    Nov 2010
    Messaggi
    105
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Ecco una prima conversione approssimativa del codice fornito da BMM.
    Per quanto riguarda il calcolo degli strike, non funzionando le funzioni CEIL e FLOOR, ho utilizzato il metodo di
    calcolo fornito da Smash nel suo codice.
    Per quanto riguarda il calcolo di SogliaPidiUp e SogliaPidiDown ho tradotto pari pari le condizioni di BMM,
    e non avendoci capito molto, lascio a voi verificare la loro correttezza.
    Fate sapere se è necessario correggere qualcosa.

    Saluti
    Massimo

    # Ampiezza Strike
    INPUTS: @AmpStrike(0.5)
    # Ampiezza Fascia Pidi
    INPUTS: @AmpPidi(0.22) 
    # Ampiezza Frontiera della direzione
    INPUTS: @AmpFdD(0.22)
    
    # Calcolo dei Pivot Points
    SET AP = (YESTERDAYHIGH() + YESTERDAYLOW() +  YESTERDAYCLOSE()) / 3
    SET Sup1 = (AP * 2) - YESTERDAYHIGH()
    SET Res1 = (AP * 2) - YESTERDAYLOW()
    SET Sup2 = AP - (Res1 - Sup1)
    SET Res2 = (AP - Sup1) + Res1
    #SET Res3 = Res2 + (YESTERDAYHIGH() - YESTERDAYLOW())
    #SET Sup3 = Sup2 - (YESTERDAYHIGH() - YESTERDAYLOW())
    # Calcolo Frontiere della direzione
    SET FdDUp = TODAYOPEN() + @AmpFdD
    SET FdDDown = TODAYOPEN() - @AmpFdD
     
    # Calcolo dei 2 livelli di Strike Up
    SET StrikeUp1 = DIV(TODAYOPEN() * 100, 50) / 2 + @AmpStrike
    SET StrikeUp2 = StrikeUp1 + @AmpStrike
     
    # Calcolo dei 2 livelli di Strike Down
    SET CondDown = MOD(TODAYOPEN() * 100, 50) = 0
    SET StrikeDown1 = IF(CondDown, DIV(TODAYOPEN() * 100, 50) / 2 - @AmpStrike, DIV(TODAYOPEN() * 100, 50) / 2)
    SET StrikeDown2 = StrikeDown1 - @AmpStrike
    # Calcola SogliaPidiUp
    SET c1 = IF(StrikeUp1 < Res2, StrikeUp1, Res2 )
    SET c2 = IF(StrikeUp1 < Res1, Res1, c1)
    SET c3 = IF(StrikeUp1 < Res1, StrikeUp1, Res1 )
    SET c4 = IF(StrikeUp1 < AP, AP, c3)
    SET SogliaPidiUp = IF(TODAYOPEN() > AP, c2 , c4)
    # Calcola SogliaPidiDown
    SET c5 = IF(StrikeDown1 > Sup2, StrikeDown1, Sup2 )
    SET c6 = IF(StrikeDown1 > Sup1, Sup1, c5)
    SET c7 = IF(StrikeDown1 > Sup1, StrikeDown1, Sup1 )
    SET c8 = IF(StrikeDown1 > AP, AP, c7)
    SET SogliaPidiDown = IF(TODAYOPEN() < AP, c6 , c8)
    # Calcola Punti di non ritorno
    SET PNRUp = SogliaPidiUp + @AmpPidi
    SET PNRDown = SogliaPidiDown - @AmpPidi
     
    SET PLOT1 = TODAYOPEN()
    SET PLOT2 = FdDUp
    SET PLOT3 = FdDDown
    SET PLOT4 = PNRUp
    SET PLOT5 = PNRDown
    SET PLOT6 = SogliaPidiUp
    SET PLOT7 = SogliaPidiDown
    
    SET PLOTCOLOR1 = COLOR_SILVER
    SET PLOTCOLOR2 = COLOR_GREEN
    SET PLOTCOLOR3 = COLOR_RED
    SET PLOTCOLOR4 = COLOR_GREEN
    SET PLOTCOLOR5 = COLOR_RED
    SET PLOTCOLOR6 = COLOR_YELLOW
    SET PLOTCOLOR7 = COLOR_YELLOW
    Ciao Massimo scusa se ti disturbo ,ma sono alle prime armi con brrtrader.
    ho preso questo codice e l'ho incollato all'interno dello script di nuovo indicatore .
    possibile che quando lo verifico restituisca errore?
    scusami ancora
    Luca

  4. #4

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Ecco una prima conversione approssimativa del codice fornito da BMM.
    Per quanto riguarda il calcolo degli strike, non funzionando le funzioni CEIL e FLOOR, ho utilizzato il metodo di
    calcolo fornito da Smash nel suo codice.
    Per quanto riguarda il calcolo di SogliaPidiUp e SogliaPidiDown ho tradotto pari pari le condizioni di BMM,
    e non avendoci capito molto, lascio a voi verificare la loro correttezza.
    Fate sapere se è necessario correggere qualcosa.

    Saluti
    Massimo

    # Ampiezza Strike
    INPUTS: @AmpStrike(0.5)
    # Ampiezza Fascia Pidi
    INPUTS: @AmpPidi(0.22) 
    # Ampiezza Frontiera della direzione
    INPUTS: @AmpFdD(0.22)
    
    # Calcolo dei Pivot Points
    SET AP = (YESTERDAYHIGH() + YESTERDAYLOW() +  YESTERDAYCLOSE()) / 3
    SET Sup1 = (AP * 2) - YESTERDAYHIGH()
    SET Res1 = (AP * 2) - YESTERDAYLOW()
    SET Sup2 = AP - (Res1 - Sup1)
    SET Res2 = (AP - Sup1) + Res1
    #SET Res3 = Res2 + (YESTERDAYHIGH() - YESTERDAYLOW())
    #SET Sup3 = Sup2 - (YESTERDAYHIGH() - YESTERDAYLOW())
    # Calcolo Frontiere della direzione
    SET FdDUp = TODAYOPEN() + @AmpFdD
    SET FdDDown = TODAYOPEN() - @AmpFdD
     
    # Calcolo dei 2 livelli di Strike Up
    SET StrikeUp1 = DIV(TODAYOPEN() * 100, 50) / 2 + @AmpStrike
    SET StrikeUp2 = StrikeUp1 + @AmpStrike
     
    # Calcolo dei 2 livelli di Strike Down
    SET CondDown = MOD(TODAYOPEN() * 100, 50) = 0
    SET StrikeDown1 = IF(CondDown, DIV(TODAYOPEN() * 100, 50) / 2 - @AmpStrike, DIV(TODAYOPEN() * 100, 50) / 2)
    SET StrikeDown2 = StrikeDown1 - @AmpStrike
    # Calcola SogliaPidiUp
    SET c1 = IF(StrikeUp1 < Res2, StrikeUp1, Res2 )
    SET c2 = IF(StrikeUp1 < Res1, Res1, c1)
    SET c3 = IF(StrikeUp1 < Res1, StrikeUp1, Res1 )
    SET c4 = IF(StrikeUp1 < AP, AP, c3)
    SET SogliaPidiUp = IF(TODAYOPEN() > AP, c2 , c4)
    # Calcola SogliaPidiDown
    SET c5 = IF(StrikeDown1 > Sup2, StrikeDown1, Sup2 )
    SET c6 = IF(StrikeDown1 > Sup1, Sup1, c5)
    SET c7 = IF(StrikeDown1 > Sup1, StrikeDown1, Sup1 )
    SET c8 = IF(StrikeDown1 > AP, AP, c7)
    SET SogliaPidiDown = IF(TODAYOPEN() < AP, c6 , c8)
    # Calcola Punti di non ritorno
    SET PNRUp = SogliaPidiUp + @AmpPidi
    SET PNRDown = SogliaPidiDown - @AmpPidi
     
    SET PLOT1 = TODAYOPEN()
    SET PLOT2 = FdDUp
    SET PLOT3 = FdDDown
    SET PLOT4 = PNRUp
    SET PLOT5 = PNRDown
    SET PLOT6 = SogliaPidiUp
    SET PLOT7 = SogliaPidiDown
    
    SET PLOTCOLOR1 = COLOR_SILVER
    SET PLOTCOLOR2 = COLOR_GREEN
    SET PLOTCOLOR3 = COLOR_RED
    SET PLOTCOLOR4 = COLOR_GREEN
    SET PLOTCOLOR5 = COLOR_RED
    SET PLOTCOLOR6 = COLOR_YELLOW
    SET PLOTCOLOR7 = COLOR_YELLOW

    Ciao Massimo,
    scusa ma leggo soltanto adesso.

    Per il calcolo degli strike

    # Calcolo dei 2 livelli di Strike Up
    SET StrikeUp1 = DIV(TODAYOPEN() * 100, 50) / 2 + @AmpStrike
    SET StrikeUp2 = StrikeUp1 + @AmpStrike
      
    # Calcolo dei 2 livelli di Strike Down
    SET CondDown = MOD(TODAYOPEN() * 100, 50) = 0
    SET StrikeDown1 = IF(CondDown, DIV(TODAYOPEN() * 100, 50) / 2 - @AmpStrike, DIV(TODAYOPEN() * 100, 50) / 2)
    SET StrikeDown2 = StrikeDown1 - @AmpStrike
    per il Bund si è dovuto moltiplicare il TODAYOPEN per 100 in modo tale da togliere tutti i decimali (il Bund ne ha 2, ma se un altro future o azione ad esempio ne avesse 4 allora andava moltiplicato per 10000), altrimenti beeTrader approssima all'unità e sballa il risultato della divisione.

    In seguito quel 50 che si divide a TODAYOPEN() * 100 è un multiplo della distanza @AmpStrike :
    è @AmpStrike * 100 in questo caso sul Bund; sarebbe stato @AmpStrike * 10000 per un altro sottostante a 4 cifre decimali.

    Ed infine quel 2 che si è usato per dividere il DIV(TODAYOPEN() * 100, 50)
    in realtà sarebbe pari a 1 / @AmpStrike

    Quindi per avere un codice corretto per un future diverso dal Bund andrebbero fatte alcune piccole modifiche.
    Ma siccome per il momento si era detto che le Fasce di Pidi si usavano solo sul Bund, io l'avevo scritto così!
    Ultima modifica di Smash; 04-12-13 alle 15:26

  5. #5

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Ciao a tutti,
    più tardi proverò a cimentarmi nella traduzione del codice di BMM.
    Volevo però prima capire un paio di cosette.
    Innanzitutto come si calcola lo strike price ad esempio su Unicredit,
    tanto per fare un esempio su un titolo che conosco meglio dei future.
    Come si arriva a calcolare la Fascia Pidi.
    Saluti
    Massimo
    Ciao Max, come avrai letto all'inizio del 3d tutto è nato dalla visione del mercato che PIDI (Pietro) ha maturato in anni di trading sul BUND e che ha deciso di trasmetterci nel post Il sottostante e le sue opzioni venendo alle tue domande, gli strike Smash è riuscito a calcolarli (io non ci sarei mai arrivato da solo) utilizzando la divisione di numeri interi aggiungendo poi la distanza strike che sul bund è 0,5 mentre per unicredit ad esempio è 0,1

    La formula è questa
    DIV(TODAYOPEN() * 100, 50) / 2 + 0.5
    ipotizzando un open a 141,68 lo strike piu' vicino sarà 141+0,5 ovvero 141,5 lo stesso discorso puoi farlo con Unicredito ovviamente cambiando il passo strike.

    Per quanto riguarda invece il calcolo delle fascie PIDI riporto qui sotto quello che intende PIDI per le fascie PIDI

    Le Fasce PIDI

    .......

    Come si individuano queste fasce.
    Si parte dall’OPEN che è il primo prezzo battuto nella giornata, il punto di partenza della prima candela.
    Poi si individua la seconda resistenza, intesa per Strike o Pivot Point, al di sopra di essa.

    Quello è il livello di prezzo in cui inizia la fascia di attenzione superiore. Poi si individua un numero di tick proporzionali alla volatilità del titolo, che costituiscono la “profondità” della fascia e si contano procedendo oltre.
    Il livello trovato è il termine della fascia e si chiama Punto di Non ritorno superiore.

    La difficoltà sta nell’individuare per ogni singolo sottostante il valore della profondità della fascia. Io in questi mesi sul Bund ho fissato la profondità in 22 tick per i trend followers ed in 12 tick per i contrarian.
    La differenza tra le due valutazioni sta nel fatto che questa area è un’altra delle aree in cui il sottostante procede in lateralità e quindi ai Trend followers occorre un dato con alta probabilità che il prezzo non torni indietro, mentre per i contrarian che lavorano entrando contrari sui massimi e sui minimi relativi occorre un punto di allert da cui essere pronti ad entrare al minimo accenno di inversione.

    Per ricavare queste profondità su altri sottostanti è sufficiente fissare il livello di inizio di ogni fascia e poi con l’osservazione in più giorni posizionare quello di fine fascia nel punto più opportuno in base al comportamento del sottostante stesso e alle proprie esigenze.

    ESEMPIO: L'open è stato a 139.70
    Prima resistenza è un pivot a 139.88
    Seconda resistenza è uno strike a 140
    140 + 0.22 = Punto di non ritorno 140.22

    Fino a che sta nella fascia la probabilità maggiore è che ritracci.
    Passata la fascia ogni tick aumenta la probabilità che vada in un trend temporaneo
    Qui trovi il testo completo Le sfasce PIDI

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.