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

Clicca sull'immagine per ingrandirla

Nome: Per Pivot.jpg
Visite: 34
Dimensione: 118.6 KB
ID: 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