Estratégia de fuga baseada em Bandas de Bollinger


Data de criação: 2023-11-13 10:19:43 última modificação: 2023-11-13 10:19:43
cópia: 2 Cliques: 626
1
focar em
1617
Seguidores

Estratégia de fuga baseada em Bandas de Bollinger

Visão geral

Esta estratégia é baseada em um indicador de Brincadea de estratégia de ruptura, usando o Brincadea em linha de baixo Provide sinal de ruptura, para comprar e vender operações. Esta estratégia, ao mesmo tempo, tem um mecanismo de rastreamento de stop loss e acréscimo de posição, que pode obter maiores ganhos em situações de tendência.

Princípio da estratégia

A estratégia começa com a mediana, a superior e a inferior das faixas de Bryn. A mediana é a média móvel do preço, e a superior e a inferior correspondem a uma diferença padrão na média e na inferior.

Quando o preço acima atravessa a trajetória abaixo, gera um sinal de compra; quando o preço abaixo atravessa a trajetória, gera um sinal de venda. Isso significa que o preço quebra a faixa de Brin e pode entrar em uma tendência.

Além disso, a estratégia também julga a ruptura da entidade, se o preço de fechamento for superior ao preço de abertura e a entidade quebrar a trajectória média em uma certa proporção, a posição de equilíbrio; Se o preço de fechamento for inferior ao preço de abertura e a entidade quebrar a trajectória média em uma certa proporção, a posição de equilíbrio. Isso pode evitar os danos causados pela falsa ruptura.

Após a abertura da posição, a estratégia pode executar operações de stop loss e acréscimo de posição. Se o preço continuar a operar na direção favorável, a posição pode ser aumentada, aumentando a probabilidade de lucro. Se o preço se inverter, o risco é controlado por stop loss.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O indicador técnico é simples e eficaz para determinar a direção e a ruptura de tendências usando o indicador de correia de Brin.

  2. Combinando a reliabilidade da penetração com o julgamento da entidade e do meio, evita-se a perda de falhas.

  3. O uso de tracking stop loss para controlar o risco e bloquear o lucro.

  4. O método de aquisição de ativos permite obter maiores ganhos em situações de tendência.

  5. A lógica da estratégia é clara e fácil de entender, a configuração de parâmetros é simples e fácil de implementar.

Análise de Riscos

A estratégia também apresenta os seguintes riscos:

  1. A ruptura da faixa de Brin não pode ser totalmente evitada, e ainda existe um certo risco de perda.

  2. A configuração inadequada do ponto de parada pode causar parada prematura ou nula.

  3. A configuração inadequada do número de acréscimos e da proporção de acréscimo pode levar à expansão dos prejuízos.

  4. A falta de uma saída em tempo hábil pode levar a grandes prejuízos.

  5. A otimização insuficiente dos parâmetros pode levar a uma estratégia pouco eficaz.

  6. Existe um risco de sobre-adaptação que precisa ser verificado em diferentes mercados.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Teste e otimize os parâmetros da faixa de Bryn para encontrar a combinação mais adequada.

  2. Teste diferentes estratégias de stop loss e defina pontos de stop loss mais precisos.

  3. Teste o número de acréscimos e a proporção de acréscimos para encontrar o parâmetro ideal.

  4. Aumentar os indicadores de avaliação de tendências e evitar a acumulação de posições de risco.

  5. Otimizar a lógica de julgamento da invasão de uma entidade, reduzindo a probabilidade de falsa invasão.

  6. Adição de funções de condição única, usando diferentes conjuntos de parâmetros de acordo com diferentes situações de mercado.

  7. O teste foi feito em mais variedades e períodos de tempo diferentes, aumentando a estabilidade.

  8. Otimizar automaticamente os parâmetros usando métodos como aprendizado de máquina.

Resumir

Em geral, a estratégia pode obter melhores resultados com o uso de indicadores de correia de Brin para determinar a direção da tendência e os sinais de ruptura, além de funções como stop loss e acréscimo de posição. Mas também há certos riscos, que precisam ser melhorados por meio de otimização de parâmetros, adição de julgamentos condicionais e outros, para tornar a estratégia mais estável e confiável. Esta estratégia é adequada para investidores familiarizados com a análise técnica, que podem obter melhores retornos em condições de tendência.

Código-fonte da estratégia
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.1", shorttitle = "Bollinger str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

showbands = input(true, defval = true, title = "Show Bollinger Bands")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
up = close <= lower
dn = close >= upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()