O recurso está a ser carregado... Carregamento...

As bandas de Bollinger e a estratégia de negociação cruzada de média móvel exponencial

Autora:ChaoZhang, Data: 2024-06-17 16:58:43
Tags:EMABBSMA

img

Resumo

Esta estratégia combina Bandas de Bollinger e a Média Móvel Exponencial de 5 dias (EMA) para gerar sinais de negociação. Quando o preço ultrapassa a Banda de Bollinger superior e fecha abaixo da EMA de 5 dias, uma posição curta é aberta. Por outro lado, quando o preço ultrapassa a Banda de Bollinger inferior e fecha acima da EMA de 5 dias, uma posição longa é aberta. Além disso, quando um sinal inverso aparece, a estratégia fecha a posição atual e abre uma nova posição na direção oposta. A estratégia visa capturar a volatilidade do mercado e as mudanças de tendência usando Bandas de Bollinger para medir os níveis de preços relativos e a EMA como um filtro de tendência para gerar sinais de negociação.

Princípios de estratégia

  1. Calcule as Bandas de Bollinger superior, média e inferior. A banda superior é a banda do meio mais dois desvios padrão, a banda inferior é a banda do meio menos dois desvios padrão, e a banda do meio é a média móvel simples dos preços de fechamento.
  2. Calcular a EMA de 5 dias como referência de tendência.
  3. Quando o preço de abertura estiver acima da banda de Bollinger superior e o preço de encerramento estiver abaixo da EMA de 5 dias, abra uma posição curta.
  4. Quando o preço de abertura estiver abaixo da banda de Bollinger inferior e o preço de encerramento estiver acima da EMA de 5 dias, abra uma posição longa.
  5. Se uma posição curta já estiver aberta e um sinal longo for acionado, fechar a posição curta e abrir uma posição longa.
  6. Se uma posição longa já estiver aberta e um sinal de curto for acionado, feche a posição longa e abra uma posição curta.
  7. Se a manutenção de uma posição longa e um sinal de fechamento curto for acionado, feche a posição longa.
  8. Se a manutenção de uma posição curta e um sinal de fechamento longo for acionado, feche a posição curta.

Vantagens da estratégia

  1. Utiliza tanto a volatilidade de preços como as características de tendência para gerar sinais, permitindo aproveitar oportunidades em mercados de tendência e oscilantes.
  2. As bandas de Bollinger podem ser ajustadas de forma flexível para se adaptarem às diferentes condições de mercado e características dos instrumentos.
  3. A EMA de 5 dias atua como um filtro de tendência, reduzindo efetivamente o ruído e as negociações frequentes.
  4. O mecanismo de abertura oportuna de posições stop-loss e reverse permite um melhor controlo dos riscos e a exploração activa de novas oportunidades de tendência.
  5. Lógica clara, fácil de compreender e implementar e conveniente para uma otimização adicional.

Riscos estratégicos

  1. A selecção incorreta dos parâmetros pode conduzir a distorções do sinal ou a negociações excessivas.
  2. Em mercados oscilantes, podem ocorrer sinais de negociação frequentes, resultando em excesso de negociação e aumento dos custos.
  3. Pode haver um atraso na captação dos pontos de virada da tendência, potencialmente perdendo as melhores oportunidades de entrada.
  4. O risco de falha existe com uma única combinação de indicadores técnicos, exigindo validação com outros sinais.
  5. Em condições de mercado extremas, pode haver um risco de perda de controlo, que exige medidas rigorosas de controlo dos riscos.

Orientações para a otimização da estratégia

  1. Otimizar os parâmetros das Bandas de Bollinger, tais como comprimento e multiplicador, para encontrar a melhor combinação de parâmetros.
  2. Otimizar e testar o período EMA para selecionar o melhor período de tendência.
  3. Incorporar outros indicadores de tendência, como o MACD, como julgamento auxiliar para melhorar a precisão da captura da tendência.
  4. Introduzir indicadores de volatilidade, tais como o ATR, como base para a gestão de paradas de perdas e de posições para controlar o risco de negociação única.
  5. Restringir a negociação a períodos de tempo específicos para evitar flutuações ineficazes em determinados momentos.
  6. Estabelecer estratégias adequadas de captação de lucros e stop-loss com base nas características do mercado.

Resumo

Ao combinar Bandas de Bollinger e EMA, esta estratégia pode efetivamente capturar tendências e oportunidades de volatilidade, adequadas para estratégias de negociação de médio a longo prazo. No entanto, deve-se prestar atenção à otimização de parâmetros, controle de posição e gerenciamento de risco.


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

//@version=5
strategy("Bollinger Bands and EMA Strategy", overlay=true)

// Define the Bollinger Bands
length = input.int(20, title="BB Length")
src = input(close, title="BB Source")
mult = input.float(2.0, title="BB Multiplier")

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

// Plot Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)
plot(basis, "Middle Band", color=color.blue)  // Use plot instead of hline for basis

// Define the 5-period EMA
ema5 = ta.ema(close, 5)

// Plot the 5 EMA
plot(ema5, "5 EMA", color=color.orange)

// Generate signals
var float entry_price = na
var string trade_direction = "none"

if (na(close[1]))
    trade_direction := "none"

// Condition for entering a short trade
if (open > upper and close < ema5)
    if (trade_direction != "short")
        strategy.entry("Short", strategy.short)
        entry_price := close
        trade_direction := "short"

// Condition for entering a long trade
if (open < lower and close > ema5)
    if (trade_direction != "long")
        strategy.entry("Long", strategy.long)
        entry_price := close
        trade_direction := "long"

// Close short trade on a long signal
if (trade_direction == "short" and open < lower and close > ema5)
    strategy.close("Short")
    strategy.entry("Long", strategy.long)
    entry_price := close
    trade_direction := "long"

// Close long trade on a short signal
if (trade_direction == "long" and open > upper and close < ema5)
    strategy.close("Long")
    strategy.entry("Short", strategy.short)
    entry_price := close
    trade_direction := "short"

// Close trades when opposite signal is generated
if (trade_direction == "long" and open > upper and close < ema5)
    strategy.close("Long")
    trade_direction := "none"

if (trade_direction == "short" and open < lower and close > ema5)
    strategy.close("Short")
    trade_direction := "none"
























Relacionados

Mais.