Pagina 1 di 3 123 Ultima
Risultati da 1 a 10 di 23
  1. #1

    Data Registrazione
    Dec 2009
    Messaggi
    813

    Indicatore Pivot Points giornaliero

    Buongiorno, qualcuno è così gentile da aiutarmi a costruire l'indicatore in oggetto?

    Questo è il codice su cui lavorare e come potete immaginare sono molto distante dalla perfezione!

    SET AP = (HIGH + LOW + CLOSE) / 3
    SET S1 = (2 * AP) - HIGH
    SET R1 = (2 * AP) - LOW
    SET S2 = AP - (R1 - S1)
    SET R2 = (AP - S1) + R1
    SET R3 = R2 + (HIGH - LOW)
    SET S3 = S2 - (HIGH - LOW)
    
    SET PLOT1 = AP
    SET PLOT2 = S1
    SET PLOT3 = R1
    SET PLOT4 = S2
    SET PLOT5 = R2
    SET PLOT6 = R3
    SET PLOT7 = S3
    Questo è il mio risultato

    Clicca sull'immagine per ingrandirla

Nome: pivot.jpg
Visite: 17
Dimensione: 144.8 KB
ID: 12353

    Questo invece è il risultato che vorrei ottenere

    Clicca sull'immagine per ingrandirla

Nome: pivot_point_graphic1.jpg
Visite: 27
Dimensione: 111.1 KB
ID: 12354

  2. #2

    Data Registrazione
    Jan 2011
    Località
    Genova
    Messaggi
    1,306
    come ti dicevo devi calcolare i pivot nel timeframe daily ed espanderli nell'intraday

    con un altro linguaggio si fa così, devi trasferirlo in easyscript

    TimeFrameSet( inDaily );
    
    P = ( H + L + C ) / 3;
    R1 = ( P * 2 ) - L;
    S1 = ( P * 2 ) - H;
    R2 = P + ( R1 - S1 );
    S2 = P - ( R1 - S1 );
    R3 = R2 + (H - L);
    S3 = S2 - (H - L) ;
    
    TimeFrameRestore();
    
    P = TimeFrameExpand( P, inDaily );
    R1 = TimeFrameExpand( R1, inDaily );
    S1 = TimeFrameExpand( S1, inDaily );
    R2 = TimeFrameExpand( R2, inDaily );
    S2 = TimeFrameExpand( S2, inDaily );
    R3 = TimeFrameExpand( R3, inDaily );
    S3 = TimeFrameExpand( S3, inDaily );
    
    Plot( R2, "R2", colorGrey50, styleDashed );
    Plot( R1, "R1", colorGrey50, styleDashed );
    Plot( P, "P", colorGrey50, styleDashed );
    Plot( S1, "S1", colorGrey50, styleDashed );
    Plot( S2, "S2", colorGrey50, styleDashed );
    Plot( R3, "R3", colorGrey50, styleDashed );
    Plot( S3, "S3", colorGrey50, styleDashed );

  3. #3

    Data Registrazione
    Dec 2009
    Messaggi
    813

    Thumbs up

    Citazione Originariamente Scritto da BMM Visualizza Messaggio
    come ti dicevo devi calcolare i pivot nel timeframe daily ed espanderli nell'intraday

    con un altro linguaggio si fa così, devi trasferirlo in easyscript

    TimeFrameSet( inDaily );
    
    P = ( H + L + C ) / 3;
    R1 = ( P * 2 ) - L;
    S1 = ( P * 2 ) - H;
    R2 = P + ( R1 - S1 );
    S2 = P - ( R1 - S1 );
    R3 = R2 + (H - L);
    S3 = S2 - (H - L) ;
    
    TimeFrameRestore();
    
    P = TimeFrameExpand( P, inDaily );
    R1 = TimeFrameExpand( R1, inDaily );
    S1 = TimeFrameExpand( S1, inDaily );
    R2 = TimeFrameExpand( R2, inDaily );
    S2 = TimeFrameExpand( S2, inDaily );
    R3 = TimeFrameExpand( R3, inDaily );
    S3 = TimeFrameExpand( S3, inDaily );
    
    Plot( R2, "R2", colorGrey50, styleDashed );
    Plot( R1, "R1", colorGrey50, styleDashed );
    Plot( P, "P", colorGrey50, styleDashed );
    Plot( S1, "S1", colorGrey50, styleDashed );
    Plot( S2, "S2", colorGrey50, styleDashed );
    Plot( R3, "R3", colorGrey50, styleDashed );
    Plot( S3, "S3", colorGrey50, styleDashed );

    Ciao BMM grazie per la dritta, quindi ipotizzando di lavorare su TF orario potrei rifere i calcoli alle 24 ore precedenti però manca ancora qualcosa

    INPUTS: @HOURS(24)
    
    SET LOW1 = REF(LOW, @HOURS)
    SET HIGH1 = REF(HIGH,@HOURS)
    SET CLOSE1 = REF(CLOSE,@HOURS)
    
    SET AP = ((HIGH1) + (LOW1) + (CLOSE1)) / 3
    SET S1 = (2 * AP) - (HIGH1)
    SET R1 = (2 * AP) - (LOW1)
    SET S2 = AP - (R1 - S1)
    SET R2 = (AP - S1) + R1
    SET R3 = R2 + ((HIGH1) - (LOW1))
    SET S3 = S2 - ((HIGH1) - (LOW1))
    
    SET PLOT1 = S1
    SET PLOT2 = R1
    SET PLOT3 = S2
    SET PLOT4 = R2
    SET PLOT5 = R3
    SET PLOT6 = S3
    Altri suggerimenti?
    Clicca sull'immagine per ingrandirla

Nome: pivotorario.jpg
Visite: 6
Dimensione: 83.5 KB
ID: 12356

  4. #4

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Buongiorno, qualcuno è così gentile da aiutarmi a costruire l'indicatore in oggetto?

    Questo è il codice su cui lavorare e come potete immaginare sono molto distante dalla perfezione!

    SET AP = (HIGH + LOW + CLOSE) / 3
    SET S1 = (2 * AP) - HIGH
    SET R1 = (2 * AP) - LOW
    SET S2 = AP - (R1 - S1)
    SET R2 = (AP - S1) + R1
    SET R3 = R2 + (HIGH - LOW)
    SET S3 = S2 - (HIGH - LOW)
    
    SET PLOT1 = AP
    SET PLOT2 = S1
    SET PLOT3 = R1
    SET PLOT4 = S2
    SET PLOT5 = R2
    SET PLOT6 = R3
    SET PLOT7 = S3
    Questo è il mio risultato

    Clicca sull'immagine per ingrandirla

Nome: pivot.jpg
Visite: 17
Dimensione: 144.8 KB
ID: 12353

    Questo invece è il risultato che vorrei ottenere

    Clicca sull'immagine per ingrandirla

Nome: pivot_point_graphic1.jpg
Visite: 27
Dimensione: 111.1 KB
ID: 12354


    Ciao CIVT,

    per disegnare i Pivot ti servono la chiusura del giorno prima, e poi il massimo ed il minimo del giorno prima.

    Per la chiusura del giorno prima puoi usare questo indicatore:

    SET ConditionDateChange = DATE > REF(DATE, 1)
    SET myDateChange = IF(ConditionDateChange, 1, 0)
    SET myPivotClose = CHANGEIF(myDateChange = 1, REF(CLOSE, 1))
    
    SET PLOT1 = myPivotClose

    Invece per il massimo e il minimo del giorno prima, a quanto ho capito, bisogna attendere la prossima release 0.8.10.15 di beeTrader, quando sarà possibile passare ad alcune funzioni di EasyScript qualsiasi espressione anzichè un semplice valore numerico come adesso.

    (sempre che non sia già possibile ora trovare una soluzione alternativa: ma per adesso io non ci sto riuscendo).
    Ultima modifica di Smash; 18-10-13 alle 14:08

  5. #5

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Salve ragazzi provate con questo codice:
    #
    # PIVOT Pidi
    #
    SET A=DATE
    SET B=REF(DATE,1)
    SET COND1 = (A != B)
    SET COND2 = (A = B) AND (HIGH > REF(HIGH, 1))
    SET COND3 = (A = B) AND (LOW < REF(LOW, 1))
    # Close del giorno precedente
    SET PrevDayClose = CHANGEIF(COND1, REF(CLOSE,1))
    # Massimo del giorno
    SET H1= CHANGEIF(COND2, HIGH)
    # Minimo del giorno
    SET L1= CHANGEIF(COND3, LOW)
    # High del giorno precedente
    SET PrevDayHigh = CHANGEIF(COND1, H1)
    # Low del giorno precedente
    SET PrevDayLow = CHANGEIF(COND1, L1)
    # Pivot points
    SET AP = (PrevDayHigh + PrevDayLow + PrevDayClose) / 3
    SET SS1 = (2 * AP) - PrevDayHigh
    SET RR1 = (2 * AP) - PrevDayLow
    SET SS2 = AP - (RR1 - SS1)
    SET RR2 = (AP - SS1) + RR1
    SET RR3 = RR2 + (PrevDayHigh - PrevDayLow)
    SET SS3 = SS2 - (PrevDayHigh - PrevDayLow)
     
    SET PLOT1 = AP
    SET PLOT2 = SS1
    SET PLOT3 = RR1
    SET PLOT4 = SS2
    SET PLOT5 = RR2
    SET PLOT6 = SS3
    SET PLOT7 = RR3
    #
    Fatemi sapere.
    Saluti
    Massimo

  6. #6

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Scusate dimenticavo:
    R2 non va bene perché è una parola riservata !!!
    Le condizioni iniziali le ho messe separate e non direttamente
    nel CHANGEIF perché l'editor mi va spesso in errore
    nel riconoscimento delle condizioni e del REF !!!
    Saluti
    Massimo

  7. #7

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Ciao CIVT,

    per disegnare i Pivot ti servono la chiusura del giorno prima, e poi il massimo ed il minimo del giorno prima.

    Per la chiusura del giorno prima puoi usare questo indicatore:

    SET ConditionDateChange = DATE > REF(DATE, 1)
    SET myDateChange = IF(ConditionDateChange, 1, 0)
    SET myPivotClose = CHANGEIF(myDateChange = 1, REF(CLOSE, 1))
    
    SET PLOT1 = myPivotClose

    Invece per il massimo e il minimo del giorno prima, a quanto ho capito, bisogna attendere la prossima release 0.8.10.15 di beeTrader, quando sarà possibile passare ad alcune funzioni di EasyScript qualsiasi espressione anzichè un semplice valore numerico come adesso.

    (sempre che non sia già possibile ora trovare una soluzione alternativa: ma per adesso io non ci sto riuscendo).
    Grazie del prezioso contributo Smash, se ho inteso correttamente il codice credo che dovrebbe essere sufficiente aggiungere le due variabili HIGH e LOW del giorno precedente per ottenere il risultato aspettato eppure come giustamente fai notare non vengono calcolate....a questo punto aspettiamo Andrea o Max che sono sicuro avranno l'asso nella manica!

    Posto il codice aggiornato..

    SET ConditionDateChange = DATE > REF(DATE, 1)
    SET myDateChange = IF(ConditionDateChange, 1, 0)
    SET CLOSE1 = CHANGEIF(myDateChange = 1, REF(CLOSE, 1))
    SET HIGH1 = CHANGEIF(myDateChange = 1, REF(HIGH, 1))
    SET LOW1 = CHANGEIF(myDateChange = 1, REF(LOW, 1))
    
    
    SET AP = ((HIGH1) + (LOW1) + (CLOSE1)) / 3
    SET S1 = (2 * AP) - (HIGH1)
    SET R1 = (2 * AP) - (LOW1)
    SET S2 = AP - (R1 - S1)
    SET R2 = (AP - S1) + R1
    SET R3 = R2 + (HIGH1) - (LOW1)
    SET S3 = S2 - (HIGH1) - (LOW1)
    
    SET PLOT1 = S1
    SET PLOT2 = R1
    SET PLOT3 = S2
    SET PLOT4 = R2
    SET PLOT5 = R3
    SET PLOT6 = S3

    Ed il risultato purtroppo ancora "parziale"...

    Clicca sull'immagine per ingrandirla

Nome: pivot_parziale.jpg
Visite: 9
Dimensione: 72.8 KB
ID: 12361

  8. #8

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Salve ragazzi provate con questo codice:
    #
    # PIVOT Pidi
    #
    SET A=DATE
    SET B=REF(DATE,1)
    SET COND1 = (A != B)
    SET COND2 = (A = B) AND (HIGH > REF(HIGH, 1))
    SET COND3 = (A = B) AND (LOW < REF(LOW, 1))
    # Close del giorno precedente
    SET PrevDayClose = CHANGEIF(COND1, REF(CLOSE,1))
    # Massimo del giorno
    SET H1= CHANGEIF(COND2, HIGH)
    # Minimo del giorno
    SET L1= CHANGEIF(COND3, LOW)
    # High del giorno precedente
    SET PrevDayHigh = CHANGEIF(COND1, H1)
    # Low del giorno precedente
    SET PrevDayLow = CHANGEIF(COND1, L1)
    # Pivot points
    SET AP = (PrevDayHigh + PrevDayLow + PrevDayClose) / 3
    SET SS1 = (2 * AP) - PrevDayHigh
    SET RR1 = (2 * AP) - PrevDayLow
    SET SS2 = AP - (RR1 - SS1)
    SET RR2 = (AP - SS1) + RR1
    SET RR3 = RR2 + (PrevDayHigh - PrevDayLow)
    SET SS3 = SS2 - (PrevDayHigh - PrevDayLow)
     
    SET PLOT1 = AP
    SET PLOT2 = SS1
    SET PLOT3 = RR1
    SET PLOT4 = SS2
    SET PLOT5 = RR2
    SET PLOT6 = SS3
    SET PLOT7 = RR3
    #
    Fatemi sapere.
    Saluti
    Massimo
    Direi che ci siamo!!! SEI UN MITO!!! E grazie anche a tutti gli altri amici che hanno partecipato alla discussione SIETE FORTI RAGAZZI

    Clicca sull'immagine per ingrandirla

Nome: pivot_point_completo.jpg
Visite: 15
Dimensione: 95.7 KB
ID: 12362

  9. #9

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Salve ragazzi provate con questo codice:
    #
    # PIVOT Pidi
    #
    SET A=DATE
    SET B=REF(DATE,1)
    SET COND1 = (A != B)
    SET COND2 = (A = B) AND (HIGH > REF(HIGH, 1))
    SET COND3 = (A = B) AND (LOW < REF(LOW, 1))
    # Close del giorno precedente
    SET PrevDayClose = CHANGEIF(COND1, REF(CLOSE,1))
    # Massimo del giorno
    SET H1= CHANGEIF(COND2, HIGH)
    # Minimo del giorno
    SET L1= CHANGEIF(COND3, LOW)
    # High del giorno precedente
    SET PrevDayHigh = CHANGEIF(COND1, H1)
    # Low del giorno precedente
    SET PrevDayLow = CHANGEIF(COND1, L1)
    # Pivot points
    SET AP = (PrevDayHigh + PrevDayLow + PrevDayClose) / 3
    SET SS1 = (2 * AP) - PrevDayHigh
    SET RR1 = (2 * AP) - PrevDayLow
    SET SS2 = AP - (RR1 - SS1)
    SET RR2 = (AP - SS1) + RR1
    SET RR3 = RR2 + (PrevDayHigh - PrevDayLow)
    SET SS3 = SS2 - (PrevDayHigh - PrevDayLow)
     
    SET PLOT1 = AP
    SET PLOT2 = SS1
    SET PLOT3 = RR1
    SET PLOT4 = SS2
    SET PLOT5 = RR2
    SET PLOT6 = SS3
    SET PLOT7 = RR3
    #
    Fatemi sapere.
    Saluti
    Massimo

    Ciao Massimo,

    il codice che hai postato purtroppo non calcola il Max ed il Min assoluto del giorno prima, mentre calcola l'ultimo Max relativo e l'ultimo Min relativo del giorno prima.

    Provare per credere:
    fagli plottare i Max ed i Min dei giorni precedenti prima ancora di usarli per calcolare i livelli dei Pivot:

    #
    # PIVOT Pidi
    #
    SET A=DATE
    SET B=REF(DATE,1)
    SET COND1 = (A != B)
    SET COND2 = (A = B) AND (HIGH > REF(HIGH, 1))
    SET COND3 = (A = B) AND (LOW < REF(LOW, 1))
    # Close del giorno precedente
    SET PrevDayClose = CHANGEIF(COND1, REF(CLOSE,1))
    # Massimo del giorno
    SET H1= CHANGEIF(COND2, HIGH)
    # Minimo del giorno
    SET L1= CHANGEIF(COND3, LOW)
    # High del giorno precedente
    SET PrevDayHigh = CHANGEIF(COND1, H1)
    # Low del giorno precedente
    SET PrevDayLow = CHANGEIF(COND1, L1)
    
    
    SET PLOT1 = PrevDayHigh
    SET PLOT2 = PrevDayLow
    
    #
    Clicca sull'immagine per ingrandirla

Nome: Max-Min.jpg
Visite: 22
Dimensione: 120.0 KB
ID: 12365

  10. #10

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Ciao Massimo,

    il codice che hai postato purtroppo non calcola il Max ed il Min assoluto del giorno prima, mentre calcola l'ultimo Max relativo e l'ultimo Min relativo del giorno prima.

    Provare per credere:
    fagli plottare i Max ed i Min dei giorni precedenti prima ancora di usarli per calcolare i livelli dei Pivot:
    Purtroppo Smash ha ragione....se li confrontiamo con i PivotLevel corretti i livelli sono molto diversi

    Clicca sull'immagine per ingrandirla

Nome: pivot_point_CHECK.jpg
Visite: 10
Dimensione: 101.0 KB
ID: 12370

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.