Indicatore Pivot Points giornaliero
Collapse
X
-
tranquilli, quando ci saranno le funzioni per gestire il multitimeframe basteranno 3 righe, per ora complimenti a smash per l\'artifizio
Comment
-
Ciao Smash,
mi accodo alla lista dei complimenti.
In particolare mi è piaciuta l\'idea per contare le barre intraday.
Non ci avevo pensato, e ne farò tesoro per i prossimi script,
in attesa che venga aggiunta qualche funzione di conteggio barre.
Grazie
Massimo.Comment
-
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 !!!Comment
-
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.
Codice:# 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
[ATTACH=CONFIG]12429[/ATTACH]
Una piccola precisazione:
mi rendo conto solo adesso che nelle primissime righe
le 2 istruzioni SET definiscono 2 vettori identici.Codice:# Individuazione del cambiamento di data SET ConditionDateChange = DATE > REF(DATE, 1) SET DateChange = IF(ConditionDateChange, 1, 0)
Pertanto il codice dell\'indicatore poteva essere riscritto con un vettore in meno, come segue:
Codice:# 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
Comment
-
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
MassimoComment
-
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).Comment


Per voi sarà anche "facile" ma ti assicuro che io ho perso mezza giornata per tentare di costruirlo senza ottenere nulla di buono!!!
Comment