Pagina 3 di 3 Prima 123
Risultati da 21 a 23 di 23
  1. #21

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Salve a tutti,

    con la nuova Release 0.8.10.15 di beeTrader l'indicatore Pivot Points è stato inserito bello e pronto tra gli indicatori disponibili, per cui il problema non si pone più!


    Tuttavia, dato che sono finalmente riuscito a calcolare il massimo ed il minimo del giorno precedente, sperando di fare cosa gradita per chi come me si sta cimentando nella programmazione in EasyScript, desidero postare a puro titolo di esempio il codice di questo indicatore che plotta rispettivamente la chiusura, il massimo ed il minimo del giorno precedente, ovvero i 3 vettori che servivano per poter calcolare i Pivot Points.


    # Individuazione del cambiamento di data
    SET ConditionDateChange = DATE > REF(DATE, 1)
    SET DateChange = IF(ConditionDateChange, 1, 0)
    
    # Individuazione numerica delle barre intraday giornaliere
    SET BarsOfDay = LASTIF(ConditionDateChange)
    SET Bars = BarsOfDay + 1
    
    # Calcolo della CHIUSURA del giorno precedente
    SET PreviousDayClose = CHANGEIF(DateChange, REF(CLOSE, 1))
    
    # Calcolo del MASSIMO del giorno precedente
    SET IntradayHigh = HighestHighValue(Bars)
    SET PreviousDayHigh = CHANGEIF(DateChange, REF(IntradayHigh, 1))
    
    # Calcolo del MINIMO del giorno precedente
    SET IntradayLow = LowestLowValue(Bars)
    SET PreviousDayLow = CHANGEIF(DateChange, REF(IntradayLow, 1))
    
    
    SET PLOT1 = PreviousDayClose
    SET PLOT2 = PreviousDayHigh
    SET PLOT3 = PreviousDayLow
    
    SET PLOTCOLOR1 = COLOR_LIGHT_YELLOW
    SET PLOTCOLOR2 = COLOR_LIGHT_GREEN
    SET PLOTCOLOR3 = COLOR_LIGHT_RED

    Allegato 12429


    Una piccola precisazione:

    mi rendo conto solo adesso che nelle primissime righe

    # Individuazione del cambiamento di data
    SET ConditionDateChange = DATE > REF(DATE, 1)
    SET DateChange = IF(ConditionDateChange, 1, 0)
    le 2 istruzioni SET definiscono 2 vettori identici.


    Pertanto il codice dell'indicatore poteva essere riscritto con un vettore in meno, come segue:

    # Individuazione del cambiamento di data
    SET ConditionDateChange = DATE > REF(DATE, 1)
    
    # Individuazione numerica delle barre intraday giornaliere
    SET BarsOfDay = LASTIF(ConditionDateChange)
    SET Bars = BarsOfDay + 1
    
    # Calcolo della CHIUSURA del giorno precedente
    SET PreviousDayClose = CHANGEIF(ConditionDateChange, REF(CLOSE, 1))
    
    # Calcolo del MASSIMO del giorno precedente
    SET IntradayHigh = HighestHighValue(Bars)
    SET PreviousDayHigh = CHANGEIF(ConditionDateChange, REF(IntradayHigh, 1))
    
    # Calcolo del MINIMO del giorno precedente
    SET IntradayLow = LowestLowValue(Bars)
    SET PreviousDayLow = CHANGEIF(ConditionDateChange, REF(IntradayLow, 1))
    
    
    SET PLOT1 = PreviousDayClose
    SET PLOT2 = PreviousDayHigh
    SET PLOT3 = PreviousDayLow
    
    SET PLOTCOLOR1 = COLOR_LIGHT_YELLOW
    SET PLOTCOLOR2 = COLOR_LIGHT_GREEN
    SET PLOTCOLOR3 = COLOR_LIGHT_RED

  2. #22

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Grazie a te Massimo!

    In verità, ciò che mi ha permesso di fare funzionare l'indicatore è stato il fatto che le due funzioni HighestHighValue() e LowestLowValue() possono accettare come argomento un intero vettore ("Bars" nel precedente esempio) anzichè un singolo valore numerico.

    Altrimenti ..... apriti cielo !!!

    Ciao Smash,
    mi sfugge il significato della tua risposta ?!?
    Avrebbe funzionato tutto ugualmente bene con una variabile
    al posto del vettore perché quello che gli passi è un singolo valore numerico.
    Saluti
    Massimo

  3. #23

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Ciao Smash,
    mi sfugge il significato della tua risposta ?!?
    Avrebbe funzionato tutto ugualmente bene con una variabile
    al posto del vettore perché quello che gli passi è un singolo valore numerico.
    Saluti
    Massimo

    Ciao Massimo,

    il problema (grosso) sarebbe stato: quale valore numerico singolo assegnare a quella variabile?

    Di fatto per poter contare le barre di una giornata è stato necessario utilizzare la funzione LASTIF, la quale però non restituisce un singolo valore numerico, ma restituisce un vettore contenente numeri variabili ciclicamente da 0 al numero di barre di una giornata meno 1 (trasformati poi da 1 al numero di barre di una giornata dopo aver sommato 1 a tutti gli elementi i quel vettore).

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.