Esta estratégia é um sistema de negociação de alta frequência que combina indicadores de Bollinger Bands com sinais de ruptura de preço. A estratégia monitora a relação entre o preço e as Bandas de Bollinger, combinada com sinais de ruptura de pontos altos e baixos anteriores, para executar negociações de reversão durante condições de sobrecompra e sobrevenda no mercado. O sistema implementa uma relação risco-recompensação de 1: 1 para metas de lucro e perda e visualiza os principais níveis de preço para ajudar os comerciantes a entender intuitivamente as tendências do mercado.
A lógica central da estratégia baseia-se em duas condições principais: um sinal de compra é acionado quando o preço ultrapassa o máximo anterior e esse alto está abaixo da faixa de Bollinger inferior; um sinal de venda é acionado quando o preço ultrapassa o mínimo anterior e esse baixo está acima da faixa de Bollinger superior. Os parâmetros de Bollinger Bands usam uma média móvel de 20 períodos com 2 desvios padrão para determinar a faixa de volatilidade do mercado e as áreas de sobrecompra / sobrevenda. Após a ação dos sinais de negociação, o sistema define automaticamente os níveis de stop-loss e alvo correspondentes, visualizando-os através de diferentes estilos de linha.
Este é um sistema de negociação abrangente que integra vários conceitos de análise técnica. Através da combinação de indicadores de Bollinger Bands e breakouts de preços, a estratégia pode capturar oportunidades de reversão em áreas de sobrecompra e sobrevenda do mercado.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band Scalping", overlay=true) // Input for Bollinger Bands length and standard deviation bbLength = input(20, title="Bollinger Bands Length") stdDev = input(2.0, title="Bollinger Bands Std Dev") // Calculate and plot the Bollinger Bands basis = ta.sma(close, bbLength) deviation = stdDev * ta.stdev(close, bbLength) upperBB = basis + deviation lowerBB = basis - deviation // Get previous candle's values prevHigh = high[1] // Previous candle high prevLow = low[1] // Previous candle low // Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1]) // Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1]) // Entry and exit for Buy signals if (buyCondition) strategy.entry("Buy", strategy.long) // Calculate target and stop loss stopLossPrice = prevLow targetPrice = prevHigh + (prevHigh - stopLossPrice) // 1:1 RR target // Set stop loss and target orders strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice) // // Plot entry line // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid) // Entry and exit for Sell signals if (sellCondition) strategy.entry("Sell", strategy.short) // Calculate target and stop loss stopLossPriceSell = prevHigh targetPriceSell = prevLow - (stopLossPriceSell - prevLow) // 1:1 RR target // Set stop loss and target orders strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell) // // Plot entry line // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid) // Plotting Bollinger Bands with 70% transparency plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70) plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70) plot(basis, color=color.blue, title="Middle Band", transp=70)