Esta estratégia combina os indicadores técnicos Bollinger Bands e Relative Strength Index (RSI). gera sinais de compra e venda quando o indicador RSI cruza os níveis de sobrevenda ou sobrecompra e o preço toca ou rompe as Bandas de Bollinger.
Calcule a SMA de 20 períodos como linha de base. A faixa superior é a base + 2 desvios padrão e a faixa inferior é a base - 2 desvios padrão para construir as Bandas de Bollinger.
Calcule o RSI de 14 períodos. RSI acima de 70 é zona de sobrecompra e abaixo de 30 é zona de sobrevenda.
Quando o RSI cai abaixo de 30 e o preço está abaixo da faixa inferior, um sinal de compra é gerado.
As bandas de Bollinger utilizam o desvio padrão para julgar a volatilidade dos preços e as tendências futuras com forte capacidade.
Combinado com as Bandas de Bollinger, ele pode efetivamente descobrir oportunidades de reversão.
Combinado com as Bandas de Bollinger, os sinais de negociação são mais precisos e confiáveis.
As bandas de Bollinger não são 100% precisas e os preços podem atravessar a banda superior ou inferior e continuar a funcionar.
O RSI também pode formar falsos sinais de ruptura que são inconsistentes com as Bandas de Bollinger.
A regulação adequada dos parâmetros é importante, pois configurações inadequadas podem levar a sinais comerciais muito frequentes ou raros.
Teste diferentes períodos de parâmetros para encontrar a combinação ideal de parâmetros.
Incorporar outros indicadores como KD, MACD para melhorar a confiabilidade do sinal.
Otimizar o stop loss e obter lucro com base nos resultados dos backtests para controlar os riscos.
Esta estratégia integra a análise de tendências de Bollinger Bands e o julgamento de sobrecompra-supervenda do RSI para gerar sinais de negociação.
/*backtest start: 2023-12-21 00:00:00 end: 2023-12-28 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands and RSI Strategy", overlay=false) // Define the parameters length = input.int(20, "Length", minval=1) src = input(close, "Source") mult = input.float(2.0, "StdDev", minval=0.001, maxval=50) rsiLength = input.int(14, "RSI Length", minval=1) rsiOverbought = input.int(70, "RSI Overbought Level", minval=1, maxval=100) rsiOversold = input.int(30, "RSI Oversold Level", minval=1, maxval=100) // Calculate the Bollinger Bands basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot the Bollinger Bands plot(basis, "Basis", color=#FF6D00) p1 = plot(upper, "Upper", color=#2962FF) p2 = plot(lower, "Lower", color=#2962FF) fill(p1, p2, color=color.rgb(33, 150, 243, 90), title="Background") // Calculate the RSI rsi = ta.rsi(src, rsiLength) // Plot the RSI plot(rsi, "RSI", color=#FF6D00) // Define the entry and exit conditions longCondition = ta.crossover(rsi, rsiOversold) and src < lower // Use ta.crossover here if (longCondition) strategy.entry("Long", strategy.long) shortCondition = ta.crossunder(rsi, rsiOverbought) and src > upper // Use ta.crossunder here if (shortCondition) strategy.entry("Short", strategy.short) // Plot the buy and sell signals plotshape(longCondition, title="Buy", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(shortCondition, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)