Salve… ciao Roberto
sarei interessato a un TS con le bollinger e %B, cioè
su un timefre di 5 minuti si attende che il prezzo incroci al rialzo la banda superiore o al ribasso la banda inferiore;
dopo se il prezzo nella candela successiva ritraccia si va long alla prossima candela se siamo sulla banda inferiore
con stop sotto il minimo + 1 pip della candela di ritracciamento, oppure short se siamo sulla superiore
con stop + 1 pip sopra il massimo della candela di ritracciamento.
La posizione si chiude all’ incrocio del prezzo con la banda opposta
Grazie
per lo short, la prima candela rossa ritraccia, rientra nelle bollinger e sulla seconda si va short con stop 1 pip sopra il massimo della candela di ritracciamento
per il long, la prima candela gialla ritraccia, rientra nelle bollinger e sulla seconda si va long con stop 1 pip sotto il minimo della candela di ritracciamento
Nonostante abbia riletto il tuo post più volte, non sono riuscito a capire dove siano i riferimenti per BB%, si parla solo delle Bande classiche.
Questo è il codice:
PeriodiBB = 20
DeviazioneBB = 2
MediaBB = average[PeriodiBB,0](close) //linea Mediana BB
BBsuperiore = MediaBB + ((std[PeriodiBB](close)) * DeviazioneBB) //banda Superiore BB
BBinferiore = MediaBB - ((std[PeriodiBB](close)) * DeviazioneBB) //banda Inferiore BB
//BBperCento = ((close - BBinferiore)/ (BBsuperiore - BBinferiore)) * 100 //BB%
Rialzista = close > open
Ribassista = close < open
RotturaSuperiore = close CROSSES OVER BBsuperiore
RotturaInferiore = close CROSSES UNDER BBInferiore
RientroSuperiore = close CROSSES UNDER BBSuperiore
RientroInferiore = close CROSSES OVER BBInferiore
L1 = Rialzista AND Ribassista[1]
S1 = Rialzista[1] AND Ribassista
L2 = RotturaInferiore[1] AND RientroInferiore
S2 = RotturaSuperiore[1] AND RientroSuperiore
CondL = L1 AND L2 AND Not OnMarket
CondS = S1 AND S2 AND Not OnMarket
IF CondL THEN
SL = low - 1 * PipSize
BUY 1 Contract at Market
SET STOP PRICE SL
ELSIF CondS THEN
SL = high + 1 * PipSize
SELLSHORT 1 Contract at Market
SET STOP PRICE SL
ENDIF
IF LongOnMarket AND RotturaSuperiore THEN
SELL at Market
ELSIF ShortOnMarket AND RotturaInferiore THEN
EXITSHORT at Market
ENDIF
Grazie Roberto, pero’ non mi soddisfa, mancano i riferimenti per il BB%
infatti per il long BB% deve essere minore di 20
mentre per lo short BB% sara’ maggiore di 80
Per favore puoi inserire anche queste condizioni?
Grazie
Se rileggi quello che ho scritto e mi spieghi potrò aggiungerti BB%.
Pregooooo…….
io devo spiegare a te….? non credo sia possibile.
Mi dispiace
Grazie lo stesso, ciao
E chi me lo deve spiegare ciò che tu vuoi?
Come ti ho scritto “Nonostante abbia riletto il tuo post più volte, non sono riuscito a capire dove siano i riferimenti per BB%, si parla solo delle Bande classiche“.
La formula che mi sono scritto per il percB è questa:
lenghtBol = 20
multiplier = 2
avg = average [lenghtBol] (close)
stDev = std [lenghtBol] (close)
bolH = avg + multiplier * stDev
bolL = avg – multiplier * stDev
percB = (close – bolL) / (bolH-bolL)*100
puoi provare ad aggiungere questo codice all’ inizio di quello che ti ha scritto Roberto ( se non vuoi modificare il suo codice aggiungendo la riga della percentuale a BB superiore e BBinferiore per ottenere il percB) ed aggiungere alla riga 17 : “and percB < 20” ed alla riga 18 : “and percB > 80”
Questa è la formula dell’ indicatore %B se vuoi provarlo
lengthBol = 20
multiplier = 2
avg = average [lengthBol] (close)
stDev = std [lengthBol] (close)
bolH = avg + multiplier * stDev
bolL = avg – multiplier * stDev
percB = (close – bolL) / (bolH-bolL)*100
oversold = 20
overbought = 80
RETURN percB as “%B”,oversold as “oversold”, overbought as “overbought”
Nel codice che ti ho postato c’è già il calcolo delle BB%, a me interessava sapere solo come le volevi usare. Quindi vuoi che siano <20 per i Long e > 80 per gli Short:
PeriodiBB = 20
DeviazioneBB = 2
MediaBB = average[PeriodiBB,0](close) //linea Mediana BB
BBsuperiore = MediaBB + ((std[PeriodiBB](close)) * DeviazioneBB) //banda Superiore BB
BBinferiore = MediaBB - ((std[PeriodiBB](close)) * DeviazioneBB) //banda Inferiore BB
BBperCento = ((close - BBinferiore)/ (BBsuperiore - BBinferiore)) * 100 //BB%
Rialzista = close > open
Ribassista = close < open
RotturaSuperiore = close CROSSES OVER BBsuperiore
RotturaInferiore = close CROSSES UNDER BBInferiore
RientroSuperiore = close CROSSES UNDER BBSuperiore
RientroInferiore = close CROSSES OVER BBInferiore
L1 = Rialzista AND Ribassista[1]
S1 = Rialzista[1] AND Ribassista
L2 = RotturaInferiore[1] AND RientroInferiore
S2 = RotturaSuperiore[1] AND RientroSuperiore
L3 = BBperCento < 20
S3 = BBperCento > 80
CondL = L1 AND L2 AND L3 AND Not OnMarket
CondS = S1 AND S2 AND S3 AND Not OnMarket
IF CondL THEN
SL = low - 1 * PipSize
BUY 1 Contract at Market
SET STOP PRICE SL
ELSIF CondS THEN
SL = high + 1 * PipSize
SELLSHORT 1 Contract at Market
SET STOP PRICE SL
ENDIF
IF LongOnMarket AND RotturaSuperiore THEN
SELL at Market
ELSIF ShortOnMarket AND RotturaInferiore THEN
EXITSHORT at Market
ENDIF