Salve a tutti, sto cercando di realizzare uno screener per selezionare titoli che abbiano un andamento sinusoidale all’interno di una banda di oscillazione orizzontale predefinita.
Ho elaborato il seguente screener, ma qualcosa è andato storto. Se qualcuno misericordioso volesse aiutarmi nel trovare l’errore la misericordia accordatami gli tornerà senz’altro indietro prima o poi (l’ho letto da qualche parte….).
Periodi = 90
PerCent = 0.3
Massimo = highest[Periodi](high[1])
Minimo = lowest[Periodi](low[1])
Differenza = Massimo - Minimo
Risultato = Differenza <= (Minimo * PerCent)
REM TROVA IL VOLUME MEDIO DEI 20 GIORNI PRECEDENTI
Vol1 = Average[20](Volume)
REM VOLUME SCAMBIATO > 500.000 AZIONI
z =Vol1 > 500000
n=30
b=highest[n](high[1])
c=highest[n](high[31])
d=highest[n](high[61])
e=lowest[n](low[1])
f=lowest[n](low[31])
g=lowest[n](low[61])
x=0.95
Y=1.05
l= b >= Massimo * x
m= c >= Massimo * x
n= d >= Massimo * x
o= e <= Minimo * Y
p= f <= Minimo * y
q= g <= Minimo * y
Screener[Risultato and z and l and m and n and o and p and q]
Perché pensi che i risultati siano errati per favore? Hai provato a costruire un indicatore dallo screener per verificare se le tue condizioni codificate sono corrette?
Penso che i risultati siano errati perché i titoli che sono emersi lanciando lo screener non rispettano le condizioni che ho codificato nel mio screener.
Per esempio ci sono titoli che oscillano più del 30% nel periodo richiesto mentre non dovrebbero nemmeno comparire nella lista dei titoli estratti. Oppure ci sono titoli che fanno dei massimi e dei minimi all’interno delle tre periodi di 30 giorni che non rispettano la condizione di essere vicino ai minimi e massimi entro il 5% di fascia di oscillazione vicino agli estremi.
Credo di avere sbagliato qualcosa nella sintassi.
Grazie.
Ciao
Fabio
C’era un errore nel mio screener, una variabile n ripetuta due volte, ora sostiutuita con una variabile t in una delle due volte che era stata citata. Vedi sotto. comunque non funziona lo stesso.
L’obiettivo del mio screenr era ottenere titoli con un andamento tipo Verizon communications (vz) al nasdaq.
Periodi = 90
PerCent = 0.3
Massimo = highest[Periodi](high[1])
Minimo = lowest[Periodi](low[1])
Differenza = Massimo – Minimo
Risultato = Differenza <= (Minimo * PerCent)
REM TROVA IL VOLUME MEDIO DEI 20 GIORNI PRECEDENTI
Vol1 = Average[20](Volume)
REM VOLUME SCAMBIATO > 500.000 AZIONI
z =Vol1 > 500000
n=30
b=highest[n](high[1])
c=highest[n](high[31])
d=highest[n](high[61])
e=lowest[n](low[1])
f=lowest[n](low[31])
g=lowest[n](low[61])
x=0.95
Y=1.05
l= b >= Massimo * x
m= c >= Massimo * x
t= d >= Massimo * x
o= e <= Minimo * Y
p= f <= Minimo * y
q= g <= Minimo * y
Screener[Risultato and z and l and m and t and o and p and q]