Estratégia do oscilador estocástico de bandas de Bollinger

SMA
Data de criação: 2024-05-09 15:59:11 última modificação: 2024-05-09 15:59:11
cópia: 0 Cliques: 836
1
focar em
1617
Seguidores

Estratégia do oscilador estocástico de bandas de Bollinger

Visão geral

A estratégia é uma estratégia de negociação baseada em bandas de Brin e osciladores aleatórios. Ela usa oscilações aleatórias para determinar a amplitude de oscilação do mercado e usa osciladores aleatórios para julgar a sobrecompra e a sobrevenda do mercado.

Princípio da estratégia

O centro da estratégia são os dois indicadores técnicos da faixa de Brin e do oscilador aleatório. A faixa de Brin é composta por três linhas: a média, a média e a média. A média é uma média móvel simples do preço, a média e a média são respectivamente um múltiplo da diferença padrão de preço entre a média e a média.

O oscilador aleatório é composto por duas linhas: a linha%K e a linha%D. A linha%K mede a posição do preço de fechamento entre o preço mais alto e o preço mais baixo no período mais recente, e a linha%D é a média móvel da linha%K. Quando a linha%K atravessa a linha%D, indica que o mercado pode estar em um estado de sobrecompra; Quando a linha%K atravessa a linha%D, indica que o mercado pode estar em um estado de sobrevenda.

A estratégia combina esses dois indicadores, fazendo uma estratégia maior quando o preço quebra a faixa de Brin e cruza a linha de %D com o oscilador %K aleatório; fazendo uma estratégia menor quando o preço entra na faixa de Brin e cruza a linha de %D com o oscilador %K aleatório. Esta combinação pode efetivamente capturar a tendência do mercado, mas também pode evitar a negociação frequente em mercados de flutuação.

Vantagens estratégicas

  1. A combinação de indicadores de tendências e oscilações permite obter ganhos estáveis em diferentes ambientes de mercado.
  2. A capacidade de Brinbelt de se ajustar dinamicamente e se adaptar às mudanças na volatilidade do mercado, aumentando a adaptabilidade da estratégia.
  3. Os osciladores aleatórios são capazes de filtrar eficazmente alguns sinais de ruptura falsos, aumentando a precisão da estratégia.
  4. A lógica da estratégia é clara, fácil de entender e implementar, e é adequada para o uso de comerciantes de diferentes níveis.

Risco estratégico

  1. Em situações de incerteza ou grande volatilidade no mercado, a estratégia pode apresentar uma maior quantidade de falsos sinais, resultando em negociações frequentes e perdas.
  2. A estratégia baseia-se em dados históricos, e pode ter grandes retrações em caso de eventos inesperados ou anomalias no mercado.
  3. A escolha dos parâmetros da estratégia tem grande influência sobre o desempenho da estratégia, e diferentes parâmetros podem levar a resultados completamente diferentes.

Direção de otimização da estratégia

  1. Pode-se considerar a adição de mais condições de filtragem, como volume de transação, outros indicadores técnicos, etc., para aumentar ainda mais a confiabilidade do sinal.
  2. Os parâmetros de banda de Bryn e osciladores aleatórios podem ser otimizados para encontrar o conjunto de parâmetros mais adequado para o mercado atual.
  3. Pode-se introduzir mecanismos de gestão de risco, como stop loss e stop loss móvel, para controlar o risco de uma única transação.
  4. Pode-se considerar a combinação desta estratégia com outras estratégias para formar um portfólio de estratégias mais robusto.

Resumir

A estratégia é uma estratégia de negociação simples e eficaz, que combina os dois indicadores técnicos clássicos, a faixa de Brin e o oscilador aleatório, para obter ganhos estáveis em ambos os estados de mercado de tendência e oscilação. Embora a estratégia também tenha alguns riscos e limitações, com a otimização e melhoria adequadas, a performance e adaptabilidade da estratégia podem ser ainda melhoradas, tornando-se uma estratégia de negociação digna de referência e aprendizagem.

Código-fonte da estratégia
/*backtest
start: 2023-05-03 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Unique Bollinger Bands Strategy", overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))




// Parameters
bbLength = input.int(34, title="Length", minval=1)
bbMultiplier = input.float(2.0, title="Multiplier", minval=0.001, maxval=50)

// Source
priceData = close // Unique name for price data source

// Bollinger Bands Calculation
bbBasis = ta.sma(priceData, bbLength)
bbDeviation = ta.stdev(priceData, bbLength)
bbDeviationMultiplied = bbMultiplier * bbDeviation

bbUpperBand = bbBasis + bbDeviationMultiplied
bbLowerBand = bbBasis - bbDeviationMultiplied

// Plot Bollinger Bands
plot(bbBasis, color=color.blue, linewidth=2)
plot(bbUpperBand, color=color.blue)
plot(bbLowerBand, color=color.orange)

// Strategy Logic for Entry and Exit
enterLong = ta.crossover(priceData, bbUpperBand)
enterShort = ta.crossunder(priceData, bbLowerBand)

// Enter Long when price crosses over upper band
if (enterLong)
    strategy.entry("Long", strategy.long)
// Enter Short when price crosses under lower band
if (enterShort)
    strategy.entry("Short", strategy.short)

// Close Long when Short condition is met (i.e., price under lower band)
if (enterShort)
    strategy.close("Long")
// Close Short when Long condition is met (i.e., price over upper band)
if (enterLong)
    strategy.close("Short")