Pagina 2 di 4 Prima 1234 Ultima
Risultati da 11 a 20 di 40

Discussione: Indicatore Pidi_Trend

  1. #11

    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

  2. #12

    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

  3. #13

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Citazione Originariamente Scritto da lucaweb76 Visualizza Messaggio
    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
    Ciao Luca,
    scusa il ritardo con cui ti rispondo, assolutamente nessun disturbo !
    Probabilmente a quest'ora avrai già individuato il problema.
    L'unica spiegazione logica che mi viene in mente è che tu nel copia-incolla
    abbia importato qualche carattere strano nell'editor. E quel carattere è la causa dell'errore.
    Prova a controllare all'inizio e alla fine del codice che non ci siano errori.
    Saluti
    Massimo

  4. #14

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Bravo Max! Ora direi che lavora bene, l'unico problema è che su TF inferiori al 15 minuti va fuoriscala!
    Ciao CIVT,
    ancora poblemi sul TF5 minuti ?
    La butto li, forse non avevi caricato abbastanza barre per permettere il calcolo dei Pivots.
    Per quanto riguarda i livelli ti sembra che funzioni correttamente ?
    Saluti
    Massimo

  5. #15

    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

  6. #16

    Data Registrazione
    Nov 2010
    Messaggi
    105
    Ciao Massimo,
    ti descrivo la procedura che applico.
    Vado dentro new easyscript poi indicator copio e incollo questo:

    # 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

  7. #17

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da lucaweb76 Visualizza Messaggio
    Ciao Massimo,
    ti descrivo la procedura che applico.
    Vado dentro new easyscript poi indicator copio e incollo questo:

    # 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,
    forse hai installata una release precedente di beeTrader?
    Qual è il messaggio di errore che ti viene fuori?

  8. #18

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    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ì!

    Ciao Smash,
    grazie per la spiegazione.

    Saluti
    Massimo

  9. #19

    Data Registrazione
    Nov 2010
    Messaggi
    105
    Ciao Smash,
    veramente ho l'ultima versione di Beetrader.
    L'indicatore va copiato e incollato senza aggiungere niente?
    perchè mi dice che ci sono errori.
    devo aggiungere qualcosa dentr output?
    grazie
    Luca

  10. #20

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da lucaweb76 Visualizza Messaggio
    Ciao Smash,
    veramente ho l'ultima versione di Beetrader.
    L'indicatore va copiato e incollato senza aggiungere niente?
    perchè mi dice che ci sono errori.
    devo aggiungere qualcosa dentr output?
    grazie
    Luca
    Ciao,
    a me copiando ed incollando semplicemente non mi da' errori!
    Potresti allegare una schermata con l'errore oppure trascrivere il messaggio di errore?

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.