Estratégia de negociação a longo prazo baseada em bandas de Bollinger % B Indicador

Autora:ChaoZhang, Data: 2024-02-01 11:15:44
Tags:

img

Resumo

Esta estratégia gera sinais de negociação com base no indicador Bollinger Bands %B. Ela fica longa quando o valor %B cai abaixo de um limite pré-definido e adota uma abordagem de média de posição dinâmica para seguir a tendência até que o take profit ou o stop loss seja acionado.

Estratégia lógica

  1. Calcular a faixa média, a faixa superior e a faixa inferior das bandas de Bollinger de N dias
  2. Calcular o valor %B: (%B = (Close - LowerBB) /(UpperBB - LowerBB)
  3. Caso o valor de %B esteja abaixo do limiar (o padrão é 0)
  4. Set take profit baseado no preço de entrada (default é 105% do preço de entrada) e stop loss (default é 95% do preço de entrada)
  5. Adicionar à posição desde que as condições sejam cumpridas após a posição de abertura
  6. A primeira acionada de take profit ou stop loss fecha a posição

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. O indicador %B identifica de forma eficiente os pontos de retração após o suporte da faixa inferior
  2. A média dinâmica de posições acompanha a tendência para um lucro maior
  3. Condições claras de obtenção de lucros e de stop loss facilitam o controlo do risco

Análise de riscos

Há também alguns riscos associados a esta estratégia:

  1. Maior probabilidade de sinais falsos a partir de %B
  2. Trigger de stop loss mais frequentes durante os mercados variáveis
  3. Riscos de média agressiva de perdas descontroladas

Soluções:

  1. Combinar com indicadores como KD e MACD para confirmar a confiabilidade do sinal
  2. Ajustar a colocação de stop loss para suportar a volatilidade do mercado
  3. Controlar o ritmo de média para evitar o risco de explosão

Oportunidades de melhoria

A estratégia pode ser ainda melhorada nos seguintes domínios:

  1. Teste diferentes combinações de parâmetros para obter melhores resultados
  2. Otimizar a lógica de média, por exemplo, parar de adicionar após atingir determinada meta de lucro
  3. Adicionar um filtro de liquidez para evitar a negociação errada em ações de baixa liquidez

Resumo

Em geral, esta é uma estratégia de negociação relativamente robusta a longo prazo. Há espaço para melhoria tanto na precisão do sinal quanto no ajuste dos parâmetros. Quando combinada com filtragem adicional de sinal e dimensionamento prudente da posição, esta estratégia pode alcançar resultados decentes nos mercados de tendência.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands %B Long Strategy", shorttitle="BB %B Long Strategy", overlay=true)

// Girdiler
length = input.int(20, title="BB Length")
src = input(close, title="Source")
dev = input.float(2.0, title="Deviation")
kar_hedefi = input(5, title="Take Profit")
zarar_durumu = input(100, title="Stop Loss")
start_date = input(timestamp("01 Jan 2023 00:00 +0000"), "Start Date")
end_date = input(timestamp("01 Jan 2024 00:00 +0000"), "End Date")
altinda_kalirsa_long = input.float(0, title="hangi degerin altinda long alsin")

// Bollinger Bantları %B göstergesi
basis = ta.sma(src, length)
stdDev = ta.stdev(src, length)
upperBand = basis + dev * stdDev
lowerBand = basis - dev * stdDev
percentB = (src - lowerBand) / (upperBand - lowerBand)

// Alım-Satım Sinyalleri
longCondition = percentB < altinda_kalirsa_long

// Kar/Zarar Hesaplama
takeProfit = strategy.position_avg_price * (1 + kar_hedefi / 100)
stopLoss = strategy.position_avg_price * (1 - zarar_durumu / 100)

// Long (Alım) İşlemi
if (longCondition )
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfit, stop=stopLoss)

// Take Profit Seviyesi Çizgisi
plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)


Mais.