Originariamente Scritto da
Smash
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