Buona sera a tutti,
E’ possibile calcolare un Price rate of change che considera l’ultimo giorno di negoziazione (es. 31 gennaio) partendo sempre dall’ultimo giorno dell’anno passato ( in questo caso 30/12/2019).
Grazie
Su un grafico settimanale si, altrinenti no.
ProScreener può andare indietro di 254 barre, forse ci si fa anche con il giornaliero perché ci sono i fine settimana e le chiusure, ma non è detto.
Tu che time frame vorresti usare?
Grazie per le info.
Penso che su un giornaliero si possa fare 254 barre sono sufficienti.
Grazie
Eccolo, calcolato sul TF Giornaliero:
TIMEFRAME(Daily)
Anno = OpenYear
FOR i = 1 TO 254
AA = OpenYear[i - 1]
IF AA < Anno THEN
Break
ENDIF
NEXT
MyRoc = ROC[max(i,254)](close)
SCREENER(MyRoc AS "Roc")
questo non ha nessun filtro (non ha le parentesi quadre) e ti restituisce tutti gli elementi per ordine di ROC.
Metti tu il filtro che vuoi.
Ti ringrazio.
Devo dirti però che mi restituisce uno screener vuoto.
Scusa, ProScreener non supporta OPENYEAR (è solo per indicatori e strategie), devi sostituirla con YEAR.
Però YEAR restituisce l’anno alla chiusura della candela, non all’apertura, per cui mi segnala già l’anno nuovo il 31, per cui fai delle prove, se considera il 30 o il 31, semmai cambia anche la riga 19 con questa:
MyRoc = ROC[max(i,253) - 1](close)
Usa la variazione che ti ho fatto della riga 9, oltre a YEAR.
Ciao
la formula che mi hai proposto mi da il Roc che va da inizio anno 2019 alla fine 2019. A me servirebbe dall’ultimo giorno del 2019 (30/12) alla data attuale.
E’ possibile?
Grazie.
Allora, il codice andava quasi bene, nel senso che estraeva il ROC da fine anno ad oggi, solo che c’era qualche imprecisione che causava il rilevamento dal penultimo giorno dell’anno, non dall’ultimo ed una differenza nel codice tra ProScreener e ProBuilder (come ho annotato in un commento):
TIMEFRAME(Daily)
Anno = Year
FOR i = 1 TO 253
AA = Year[i]
IF AA < Anno THEN
//i = i - 1 //se trasformato in indicatore questa riga serve
Break
ENDIF
NEXT
IF i = 0 OR i = 254 THEN
i = 253
ENDIF
MyRoc = ROC[i](close)
TIMEFRAME(default)
SCREENER[MyRoc](MyRoc AS "Roc")
Se lo vuoi anche come indicatore, eccolo (cambia poco), ovviamente va messo su un grafico Daily, come lo screener:
Anno = Year
FOR i = 1 TO 253
AA = Year[i]
IF AA < Anno THEN
i = i - 1 //questa riga non è utilizzata da ProScreener
Break
ENDIF
NEXT
IF i = 0 OR i = 254 THEN
i = 253
ENDIF
MyRoc = ROC[i](close)
RETURN MyRoc AS "Roc"
Ciao
Ti ringrazio per la disponibilità e per tutte le info.
Ho creato il proscreener con la prima formula che mi ha restituito solo i valori positivi.
Successivamente ho creato l’indicatore, e graficamente, ho proceduto a creare un secondo screener.
I risultati dei due screener sono diversi.
Esiste una spiegazione? Se vuoi posso inviarti la schermata dei risultati.
Grazie.
L’importante è che tu posti il tuo codice ESATTAMENTE come l’hai scritto e/o modificato. Magari puoi anche aggiungere le schermate.
SU quale strumenti l’hai provato?
Ho provato entrambe gli screener sul Ftse mib, ho inserito esattamente le formule come indicato.
In allegato ho inserito un file Excel con i risultati dei due screener.
Grazie.
I file excel non mi servono.