Estratégia de negociação quantitativa baseada no avanço da Banda de Bollinger


Data de criação: 2024-02-04 14:52:52 última modificação: 2024-02-04 14:52:52
cópia: 0 Cliques: 802
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa baseada no avanço da Banda de Bollinger

Visão geral

Esta estratégia realiza uma estratégia de negociação de ruptura da faixa de Brin, calculando os traços superior, médio e inferior da faixa de Brin e combinando o preço de fechamento com a linha K. Quando o preço quebra o traço superior, faça mais; quando o preço quebra o traço inferior, faça um vazio. Ao mesmo tempo, configure o preço de stop loss e stop loss.

Princípio da estratégia

  1. O SMA médio da faixa de Bryn é calculado com um comprimento de 60 ciclos, representando a trajectória média da tendência de preços.

  2. Calcule a banda de Brin para cima e para baixo, a banda de Brin para cima é a diferença padrão + 2 vezes a média, a banda de Brin para baixo é a diferença padrão - 2 vezes a média, a largura de banda é controlada por múltiplos valores.

  3. Quando o preço de fechamento é maior do que o de cima, faça uma entrada adicional; Quando o preço de fechamento é menor do que o de baixo, faça uma entrada em branco.

  4. Configuração do mecanismo de parada de perda. A taxa de parada de perda é de 1,5% e a taxa de parada é de 6% .

  5. Quando o preço entra novamente na faixa de Brin ou quando o Stop Loss é acionado para sair da posição, a posição é liquidada.

Análise de vantagens

  1. O uso do indicador de correia de Brin para determinar a ruptura de preços, com uma forte capacidade de discernimento de tendências.

  2. A estratégia é simples e fácil de entender.

  3. Configuração de um mecanismo de controle de risco de parada de danos.

Análise de Riscos

  1. A ruptura da faixa de Brin não é um indicador preciso de uma mudança de tendência de preços, podendo ocorrer um risco de falsa ruptura.

  2. A configuração imprudente do travão de parada de danos pode trazer um risco maior.

  3. A frequência de transações pode ser elevada, e os custos de transação devem ser considerados.

Direção de otimização

  1. Em combinação com outros indicadores, filtra os falsos sinais de ruptura. Por exemplo, o indicador KDJ julga a tendência, o MACD julga o desvio.

  2. Ajuste dinâmico dos parâmetros de banda de Bryn para uma banda razoável de acordo com a volatilidade do mercado.

  3. Optimizar a estratégia de stop loss, trailing stop ou stop loss em lotes.

  4. Considerar o impacto dos custos de transação e ajustar o tempo de detenção.

Resumir

Esta estratégia tem um certo efeito, mas pode ocorrer uma falsa ruptura, trazendo maior risco. Pode ser considerada uma combinação com outros indicadores e testar constantemente os parâmetros de otimização para controlar o risco e aumentar a lucratividade.

Código-fonte da estratégia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fuera Bolinga", overlay=true)

length = input.int(60, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
take_profit_percentage = 6.0

basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

stop_loss_percentage = 1.5

// Determinar si la vela cierra por fuera de las bandas
above_upper_band = close > upper
under_lower_band = close < lower

// Pintar las velas que cierran por fuera de las bandas
barcolor(above_upper_band ? color.new(#2cee32, 0) : na)
barcolor(under_lower_band ? color.new(#e02c2c, 0) : na)

// Entrada larga con stop loss y take profit
if (ta.crossover(close, upper))
    strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

// Entrada corta con stop loss y take profit
if (ta.crossunder(close, lower))
    strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

//// Salida de operación larga
if ((ta.crossunder(close, upper) or ta.crossunder(close, lower)) and (strategy.opentrades != 0))
    strategy.close("BBandLE")

// Salida de operación corta
if ((ta.crossover(close, lower) or ta.crossover(close, upper)) and (strategy.opentrades != 0))
    strategy.close("BBandSE")
	
// Plot de las bandas de Bollinger
plot(upper, color=color.new(#2cee32, 0), title="Upper Bollinger Band")
plot(lower, color=color.new(#e02c2c, 0), title="Lower Bollinger Band")