Screener ROC e ATR
Forums › ProRealTime forum Italiano › Supporto ProScreener › Screener ROC e ATR
- This topic has 8 replies, 2 voices, and was last updated 3 months ago by Marcfarm.
-
-
07/21/2024 at 1:59 PM #235596
Buongiorno volevo codificare uno screener che dato un paniere di assets mi andasse a selezionare quelli che hanno guadagnato negli ultimi 12 mesi (variazione percentuale 12M>=0), di questi superstiti prendesse quelli che hanno guadagnato negli ultimi 6 mesi (variazione percentuale 6M>=0), di questi superstiti prendesse quelli che hanno guadagnato negli ultimi 3 mesi (variazione percentuale 3M>=0) e quindi di quelli che sono rimasti prendesse i DUE che hanno avuto la migliore variazione percentuale pesata sulla volatilità nell’ultimo mese (var% 1 mese/ATR 1 mese). In pratica all’inizio sono 3 tagliole consecutive (12M, 6M sui superstiti, 3M sui superstiti) e infine ci si posiziona sui 2 che hanno avuto la miglior variazione percentuale/ATR nell’ultimo mese.
07/21/2024 at 6:43 PM #235601Questo è il codice:
123456789Timeframe(Monthly)c1 = ROC[12](close) > 0c2 = ROC[6](close) > 0c3 = ROC[3](close) > 0c4 = AverageTrueRange[1](close)//Timeframe(default)Cond = c1 AND c2 AND c3SCREENER[Cond AND (high <> low)](c4 AS "Atr")però non è possibile selezionare solo i 2 migliori con ATR, li stampa comunque tutti e tu scegli i primi due della lista con i valori più alti.
07/21/2024 at 8:33 PM #235602Grazie Roberto ma non mi ritorna l’ultimo passaggio, non volevo i due con ATR più elevato nell’ultimo mese, ma i due che hanno avuto la migliore variazione percentuale pesata sulla volatilità nell’ultimo mese (var% 1 mese/ATR 1 mese). Si riesce?
07/22/2024 at 9:50 AM #235612Va bene, eccolo:
123456789Timeframe(Monthly)c1 = ROC[12](close) > 0c2 = ROC[6](close) > 0c3 = ROC[3](close) > 0c4 = Variation(close) / AverageTrueRange[1](close)//Timeframe(default)Cond = c1 AND c2 AND c3SCREENER[Cond AND (high <> low)](c4 AS "Atr")VARIATION calcola la differenza in % del prezzo attuale con la chiusura della barra precedente (mensile), che poi viene divisa per l’ATR.
1 user thanked author for this post.
07/22/2024 at 9:02 PM #235648Grazie, ma forse non mi sono fatto capire bene. Per variazione % 1 mese intendo quanto ha guadagnato in quel mese, non la differenza in % del prezzo attuale con la chiusura della barra precedente (mensile).
Quindi è corretto riscrivere la riga 5 in questo modo?
5 c4 = ROC[1](close) / AverageTrueRange[1](close)
07/23/2024 at 10:02 AM #235653Si, è corretto così.
07/25/2024 at 12:11 PM #23577707/25/2024 at 4:51 PM #235792No, quelle 3 variabili sono valori logici, vero o falso, farci una media non funziona.
Occorre fare la media dei 3 valori ROC:
1234567891011121314Timeframe(Monthly)roc12 = ROC[12](close)roc6 = ROC[6](close)roc3 = ROC[3](close)//c1 = roc12 > 0c2 = roc6 > 0c3 = roc3 > 0c4 = Variation(close) / AverageTrueRange[1](close)//Timeframe(default)c5 = (roc12 + roc6 + roc3) / 3Cond = c1 AND c2 AND c3SCREENER[Cond AND (high <> low)](c4 AS "Atr")c5 conterrà la media dei tre ROC, dovrai usarla come desideri.
07/25/2024 at 7:29 PM #235796 -
AuthorPosts