Ciao a tutti,
vorrei realizzare due screener su base giornaliera.
– Il primo è basato su uno Stocastico Lento, con parametri: 10(k), 6(d), 3(slow) che invii un segnale quando avviene l’incrocio di %k e %d in ipercomprato (75%), e un altro segnale se l’incrocio avviene in ipervenduto (25%). Sarebbe perfetto se lo screeners segnalasse l’incrocio sia nella banda giornaliera odierna, sia in quella del giorno prima.
– Il secondo invece basato sulle bande di Bollinger, ma con media mobile a 5 e deviazione standar a 1,8.
Il segnale operativo sarà di acquisto (1) quando:
a. Il prezzo verrà da un trend ribassista.
b. La banda inferiore verrà bucata dal prezzo, solitamente con l’ombra della candela.
c. La candela successiva a quella della perforazione della banda sarà rialzista.
Segnale operativo short (0), invece:
a. Se il prezzo è in trend rialzista.
b. La candela buca la banda superiore, anche solo con l’ombra superiore.
c. La candela successiva ha un corpo esteso ribassista
Grazie mille in anticipo!
Primo:
Periodi = 10 //10
Kp = 6 //6
Dp = 3 //3
AvgType = 0 //0=sma
IC = 75
IV = 100 - IC
HH = HIGHEST[Periodi](HIGH)
LL = LOWEST[Periodi](LOW)
osc = (CLOSE - LL) / (HH - LL) * 100
LineaK = AVERAGE[Kp,AvgType](osc)
LineaD = AVERAGE[Dp,AvgType](LineaK)
L1 = LineaK CROSSES OVER IC
S1 = LineaK CROSSES UNDER IV
L2 = LineaD > IC
S2 = LineaD < IV
CondL = L1 AND L2
CondS = S1 AND S2
Segnale = 0
IF CondL THEN
Segnale = 1
ELSIF CondS THEN
Segnale = 2
ENDIF
SCREENER[Segnale](Segnale AS "1=↑, 2=↓")
Secondo:
BBVal = 5 //5 periodi BB
BBdev = 1.8 //1.8 deviazione BB
BBavg = average[BBval,0](close) //BB Linea Mediana
BollUP = BBavg + ((std[BBval](close)) * BBdev) //BB Banda Superiore1
BollDN = BBavg - ((std[BBval](close)) * BBdev) //BB Banda Inferiore11
Bullish = close > open
Bearish = close < open
Sma200 = average[200,0](close)
TrendUP = close > Sma200
TrendDN = close < Sma200
//
L1 = Bullish AND Bearish[1]
L2 = close[1] > BollDN
L3 = low[1] <= BollDN
CondL = TrendDN AND L1 AND L2 AND L3
//
S1 = Bearish AND Bullish[1]
S2 = close[1] < BollUP
S3 = high[1] >= BollUP
CondL = TrendDN AND S1 AND S2 AND S3
CondS = TrendUP AND S1 AND S2 AND S3
Segnale = 0
IF CondL THEN
Segnale = 1
ELSIF CondS THEN
Segnale = 2
ENDIF
SCREENER[Segnale](Segnale AS "1=↑, 2=↓")
nel secondo il trend ribassista o rialzista l’ho identificato con il prezzo sotto o sopra la media mobile semplice a 200 periodi.
Per quanto riguarda il segnale del giorno prima, intendi dire che il segnale deve verificarsi in due giorni consecutivi, sia IERI che OGGI?
Vabbè, grazie mille!
Per quanto riguarda i lsegnale del giorno prima, mi rendo conto di non essere stato chiaro, mi piacerebbe che qualora OGGI fosse il primo giorno di utilizzo dello screener, lui riuscisse a segnalarmi non solo gli incroci di oggi, ma anche quelli avvenuti IERI
Primo:
Periodi = 10 //10
Kp = 6 //6
Dp = 3 //3
AvgType = 0 //0=sma
IC = 75
IV = 100 - IC
HH = HIGHEST[Periodi](HIGH)
LL = LOWEST[Periodi](LOW)
osc = (CLOSE - LL) / (HH - LL) * 100
LineaK = AVERAGE[Kp,AvgType](osc)
LineaD = AVERAGE[Dp,AvgType](LineaK)
L1 = LineaK CROSSES OVER IC
S1 = LineaK CROSSES UNDER IV
L2 = LineaD > IC
S2 = LineaD < IV
CondL = L1 AND L2
CondS = S1 AND S2
Segnale = 0
IF CondL THEN
Segnale = 10
ELSIF CondS THEN
Segnale = 20
ENDIF
IF Segnale THEN
Segnale = Segnale + Segnale[1]
ENDIF
SCREENER[Segnale](Segnale AS "OI")
Secondo:
BBVal = 5 //5 periodi BB
BBdev = 1.8 //1.8 deviazione BB
BBavg = average[BBval,0](close) //BB Linea Mediana
BollUP = BBavg + ((std[BBval](close)) * BBdev) //BB Banda Superiore1
BollDN = BBavg - ((std[BBval](close)) * BBdev) //BB Banda Inferiore11
Bullish = close > open
Bearish = close < open
Sma200 = average[200,0](close)
TrendUP = close > Sma200
TrendDN = close < Sma200
//
L1 = Bullish AND Bearish[1]
L2 = close[1] > BollDN
L3 = low[1] <= BollDN
CondL = TrendDN AND L1 AND L2 AND L3
//
S1 = Bearish AND Bullish[1]
S2 = close[1] < BollUP
S3 = high[1] >= BollUP
CondL = TrendDN AND S1 AND S2 AND S3
CondS = TrendUP AND S1 AND S2 AND S3
Segnale = 0
IF CondL THEN
Segnale = 10
ELSIF CondS THEN
Segnale = 20
ENDIF
IF Segnale THEN
Segnale = Segnale + Segnale[1]
ENDIF
SCREENER[Segnale](Segnale AS "OI")
restituiscono due cifre, quella a sinistra è relativa ad oggi (1=rialzista, 2=ribassista), quella a destra è relativa ad ieri (sempre 1=rialzista, 2=ribassista).