A Bollinger Bands and Fibonacci Retracement Strategy é uma estratégia de negociação que combina as Bandas de Bollinger e os níveis de retracementos de Fibonacci. A estratégia utiliza as Bandas de Bollinger para medir a volatilidade do mercado e gera sinais de negociação com base em quebras de preços acima ou abaixo das bandas superior ou inferior.
O núcleo desta estratégia reside na aplicação combinada das bandas de Bollinger e dos níveis de retracement de Fibonacci.
As bandas de Bollinger consistem em três linhas: a faixa média, a faixa superior e a faixa inferior. A faixa média é uma média móvel do preço, enquanto as bandas superior e inferior são posicionadas um certo número de desvios padrão acima e abaixo da faixa média. Quando o preço quebra acima da faixa superior, ele indica uma condição potencial de sobrecompra, gerando um sinal de venda. Por outro lado, quando o preço quebra abaixo da faixa inferior, sugere uma condição potencial de sobrevenda, gerando um sinal de compra.
Os níveis de retração de Fibonacci são níveis de preços derivados da sequência de Fibonacci. Estes níveis são comumente considerados como níveis de suporte e resistência chave no mercado.
O processo de tomada de decisão desta estratégia é o seguinte:
Ao combinar as bandas de Bollinger e os níveis de retração de Fibonacci, esta estratégia visa captar oportunidades de negociação durante períodos de maior volatilidade do mercado, ao mesmo tempo em que gerencia riscos e metas comerciais utilizando níveis de Fibonacci.
A estratégia combina as bandas de Bollinger e os níveis de retração de Fibonacci para capturar oportunidades de negociação durante períodos de maior volatilidade do mercado, enquanto gerencia riscos usando os níveis de Fibonacci. A estratégia oferece regras de negociação claras e demonstra boa adaptabilidade. No entanto, também enfrenta riscos como ruído do mercado, desafios de identificação de tendências, otimização de parâmetros e mudanças nas condições do mercado. Para melhorar ainda mais o desempenho da estratégia, podem ser feitas considerações para integrar outros indicadores técnicos, otimizar parâmetros, introduzir mecanismos mais avançados de stop-loss e take-profit e incorporar análise de tendências do mercado.
/*backtest start: 2024-02-13 00:00:00 end: 2024-03-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands & Fibonacci Strategy", overlay=true) // Bollinger Bands Parameters source = close length = input.int(20, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) // Fibonacci Levels fib_levels = input.bool(true, "Use Fibonacci Levels") fib_level1 = input.float(0.236, title="Fib Level 1", minval=0.001, maxval=1) fib_level2 = input.float(0.382, title="Fib Level 2", minval=0.001, maxval=1) fib_level3 = input.float(0.618, title="Fib Level 3", minval=0.001, maxval=1) // Strategy Entry basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev if (ta.crossover(source, lower)) strategy.entry("BBandLE", strategy.long, comment="BBandLE") else strategy.cancel(id="BBandLE") if (ta.crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, comment="BBandSE") else strategy.cancel(id="BBandSE") // Calculate Fibonacci Levels // fib_low = ta.lowest(low, length) // fib_high = ta.highest(high, length) // fib_range = fib_high - fib_low // fib_level1_price = fib_high - fib_range * fib_level1 // fib_level2_price = fib_high - fib_range * fib_level2 // fib_level3_price = fib_high - fib_range * fib_level3 // // Plot Fibonacci Levels // var line fib_level1_line = na // var line fib_level2_line = na // var line fib_level3_line = na // if fib_levels // if bar_index > length // fib_level1_line := line.new(bar_index[length], fib_level1_price, bar_index, fib_level1_price, color=color.blue) // fib_level2_line := line.new(bar_index[length], fib_level2_price, bar_index, fib_level2_price, color=color.green) // fib_level3_line := line.new(bar_index[length], fib_level3_price, bar_index, fib_level3_price, color=color.orange) // if bar_index <= length // // line.delete(fib_level1_line) // // line.delete(fib_level2_line) // // line.delete(fib_level3_line)