Estratégia de negociação de desvio padrão duplo com base em bandas de Bollinger


Data de criação: 2023-12-18 17:23:42 última modificação: 2023-12-18 17:23:42
cópia: 0 Cliques: 746
1
focar em
1621
Seguidores

Estratégia de negociação de desvio padrão duplo com base em bandas de Bollinger

Visão geral

Esta estratégia é uma estratégia de negociação baseada no modelo de duplo desvio padrão da faixa de Bryn. Ela usa o desvio padrão superior e inferior da faixa de Bryn e um e dois desvios padrão como sinais de negociação.

Princípio da estratégia

A estratégia começa com a mediana, a superior e a inferior das faixas de Brin. A mediana é a SMA de CLOSE e a superior é a mediana + 2*Desvantagem padrão, sub-carril é o meio-carril-2*Diferenças padrão. Quando o preço se eleva, gera um sinal de compra maior, e quando o preço se eleva, gera um sinal de venda menor. Além disso, a estratégia traça linhas de diferença padrão de meio caminho + 1 e meio caminho - 1 . Eles são usados como ponto de parada.

  1. Cálculo da SMA de CLOSE como a média da faixa de Bryn
  2. Calcule o diferencial padrão STD do CLOSE e calcule 2*STD
  3. Orbital central + 2*STD para Brin em órbita, órbita central-2*STD traz Brin para baixo
  4. Faça mais quando o preço se acelerar
  5. Fazer um vazio quando o preço se desloca
  6. Orelha média + 1*STD como linha de stop loss, se a linha de stop loss for quebrada, a posição será liquidada

Vantagens estratégicas

  1. O uso de um design de duplo padrão de diferença para ser mais rigoroso no julgamento de rupturas e evitar sinais errados
  2. Projeto de dupla linha de parada para controlar o máximo de risco
  3. Parâmetros de otimização de espaço grande, meio-orbitais e múltiplos de diferença padrão são ajustáveis
  4. A retração pode ser controlada através do ajuste do ponto de parada

Risco estratégico

  1. A estratégia de correia de brinquedos é propensa a falsas rupturas, provocando sinais de negociação imprecisos.
  2. A diferença de duplo padrão e a configuração de dupla linha de parada podem ser muito rigorosas, resultando em menos chances de eliminação do sinal
  3. Parâmetros mal definidos podem aumentar o risco da estratégia
  4. Os controles de retirada não são perfeitos e não controlam eficazmente os prejuízos em situações extremas.

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

  1. Pode ser considerado o uso de outros indicadores para filtrar os sinais de negociação da faixa de turbinas, evitando falsas rupturas.
  2. Pode testar diferentes configurações de parâmetros e otimizar os parâmetros para obter melhores taxas de retração de receita
  3. Pode ser projetado um mecanismo de stop loss dinâmico, como stop loss de tipo tracking ou stop loss de proporção de saldo
  4. Parâmetros de otimização automática que podem ser combinados com algoritmos de aprendizado de máquina

Resumir

A estratégia, em geral, é uma estratégia típica de ruptura da faixa de Bryn. Ela usa o desvio de duplo padrão para aumentar a rigidez do julgamento do sinal e adota o controle ativo do risco de duas linhas de parada. A estratégia tem um certo espaço para otimização de parâmetros, e pode obter um melhor desempenho da estratégia por meio do ajuste do ciclo de trajetória média e do dobro do desvio padrão.

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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', 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))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)