
A estratégia usa a faixa de Brin e um indicador de RSI aleatório para gerar um sinal que pode indicar uma reversão de preço. Por padrão, o sinal de baixa é exibido como uma seta vermelha e o sinal de baixa é exibido como uma seta verde. Antes de emitir um sinal, a estratégia procura as seguintes situações:
O principal princípio da estratégia é o uso de dois indicadores técnicos, a faixa de Brin e o RSI aleatório, para capturar potenciais sinais de reversão de preços. A faixa de Brin é composta por uma trajetória central (geralmente uma média móvel) e duas trajetórias superiores e inferiores (a média e a desvantagem padrão de redução), que podem refletir a flutuação dos preços. Quando o preço entra em uma trajetória ascendente ou descendente, geralmente significa que o sentimento do mercado é muito otimista ou pessimista e que o preço pode ser reversível.
A estratégia de sinais de extremo de RSI aleatório da faixa de Brin, combinando dois indicadores técnicos, a faixa de Brin e o RSI aleatório, para quebrar o preço da faixa de Brin para baixo e o RSI aleatório para alcançar a zona de extremo de sobrevenda como um potencial sinal de reversão, forma uma estratégia de negociação simples e fácil de usar. A estratégia tem vantagens de sinal confiável, amplo alcance, etc., mas tem um mau desempenho em mercados de turbulência, e pode estar atrasada em mercados de tendência, a configuração de parâmetros também é mais sensível.
/*backtest
start: 2023-04-06 00:00:00
end: 2024-04-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(shorttitle='BBSR Extreme', title='Bollinger Bands Stochastic RSI Extreme Signal', overlay=true)
//General Inputs
src = input(close, title='Source')
offset = input.int(0, 'Offset', minval=-500, maxval=500)
//Bollinger Inputs
length = input.int(20, title='Bollinger Band Length', minval=1)
mult = input.float(2.0, minval=0.001, maxval=50, title='StdDev')
//Bollinger Code
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, 'BB Basis', color=color.new(#872323, 0), offset=offset)
p1 = plot(upper, 'BB Upper', color=color.new(color.teal, 0), offset=offset)
p2 = plot(lower, 'BB Lower', color=color.new(color.teal, 0), offset=offset)
fill(p1, p2, title='BB Background', color=color.new(#198787, 95))
//Stoch Inputs
smoothK = input.int(3, 'K', minval=1)
smoothD = input.int(3, 'D', minval=1)
lengthRSI = input.int(14, 'RSI Length', minval=1)
lengthStoch = input.int(14, 'Stochastic Length', minval=1)
upperlimit = input.float(90, 'Upper Limit', minval=0.01)
lowerlimit = input.float(10, 'Upper Limit', minval=0.01)
//Stochastic Code
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)
//Evaluation
Bear = close[1] > upper[1] and close < upper and k[1] > upperlimit and d[1] > upperlimit
Bull = close[1] < lower[1] and close > lower and k[1] < lowerlimit and d[1] < lowerlimit
//Plots
plotshape(Bear, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny)
plotshape(Bull, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny)
// Alert Functionality
alertcondition(Bear or Bull, title='Any Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' BB Stochastic Extreme!')
alertcondition(Bear, title='Bearish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bearish BB Stochastic Extreme!')
alertcondition(Bull, title='Bullish Signal', message='{{exchange}}:{{ticker}}' + ' {{interval}}' + ' Bullish BB Stochastic Extreme!')
if Bear
strategy.entry('Enter Long', strategy.long)
else if Bull
strategy.entry('Enter Short', strategy.short)