
Esta estratégia é uma estratégia de negociação quantitativa que combina a faixa de Brin e um indicador relativamente forte (RSI). A estratégia captura os pontos de inflexão do mercado através da combinação de uma ruptura de preço da faixa de Brin com uma área de sobrevenda do RSI, para obter uma visão de tendência. A estratégia usa uma faixa de Brin de 20 ciclos e um indicador RSI de 14 ciclos, que entra em ação quando o preço quebra a faixa de Brin e o RSI está na área de sobrevenda.
A lógica central da estratégia baseia-se na interação de dois indicadores técnicos. A faixa de Bollinger é constituída por um meio ((20 ciclos de média móvel simples) e um meio ((± 2 vezes a diferença padrão) e pode refletir a amplitude e a tendência de oscilação dos preços. O indicador RSI, por sua vez, julga o estado de superaquecimento do mercado por meio do cálculo da intensidade relativa da mudança de preço.
Trata-se de uma estratégia quantitativa que combina os indicadores técnicos clássicos Brinbelt e RSI para um portfólio inovador. Através da complementaridade dos dois indicadores, garante a confiabilidade do sinal e permite uma compreensão eficaz dos pontos de inflexão do mercado. A lógica da estratégia é clara, a computação é simples e possui uma forte utilidade.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)
// Bollinger Bands
length = 20
src = close
mult = 2.0
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsiValue = ta.rsi(src, rsiLength)
// Plot Bollinger Bands
plot(basis, color=color.blue, linewidth=1)
plot(upper, color=color.red, linewidth=1)
plot(lower, color=color.green, linewidth=1)
// Plot Buy/Sell signals
buySignal = ta.crossover(close, lower) and rsiValue < rsiOversold
sellSignal = ta.crossunder(close, upper) and rsiValue > rsiOverbought
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy Entry/Exit
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")
// RSI Plot (not on overlay, for reference)
rsiPlot = plot(rsiValue, title="RSI", color=color.purple, linewidth=1, offset=-1)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)