Estratégia de negociação combinada de Bandas de Bollinger e Média Móvel Exponencial

EMA BB SMA
Data de criação: 2024-06-17 16:58:43 última modificação: 2024-06-17 16:58:43
cópia: 7 Cliques: 1079
1
focar em
1617
Seguidores

Estratégia de negociação combinada de Bandas de Bollinger e Média Móvel Exponencial

Visão geral

Esta estratégia combina as Bollinger Bands e a média móvel de 5 dias (EMA de 5 dias) para gerar um sinal de negociação. Quando o preço ultrapassa a faixa de Bollinger e o preço de fechamento é inferior ao EMA de 5 dias, uma posição de abertura é aberta. Quando o preço entra na faixa de Bollinger e o preço de fechamento é superior ao EMA de 5 dias, uma posição de abertura é aberta. Ao mesmo tempo, quando um sinal de reversão ocorre, a estratégia elimina a posição existente e abre uma nova posição de reversão.

Princípio da estratégia

  1. Calcule o rack superior, o rack médio e o rack inferior da faixa de Brin. O rack superior é o rack médio mais o dobro da diferença padrão, o rack inferior é o rack médio menos o dobro da diferença padrão, e o rack médio é a média móvel simples do preço de fechamento.
  2. A EMA de 5 dias é usada como referência para a tendência.
  3. Quando o preço de abertura é maior do que o Bollinger Bands e o preço de fechamento é menor do que a EMA de 5 dias, abre uma posição de cabeça vazia.
  4. Quando o preço de abertura é menor do que o Bollinger Bands Downtrend e o preço de fechamento é maior que a EMA de 5 dias, abra uma posição a mais.
  5. Se já houver uma posição de cabeça vazia, quando o sinal multi-cabeça é acionado, a cabeça vazia é desmontada e a posição multi-cabeça é aberta.
  6. Se já houver uma posição multi-cabeça, quando o sinal de cabeceira vazia for disparado, a posição multi-cabeça será eliminada e a posição de cabeceira vazia será aberta.
  7. Se você tem uma posição de capital, você deve liquidar a posição de capital quando o sinal de equilíbrio de capital for acionado.
  8. Se você tiver uma posição em aberto, apague a posição em aberto quando o sinal de equilíbrio múltipla for acionado.

Vantagens estratégicas

  1. Ao mesmo tempo, a volatilidade dos preços e as características da tendência são usadas para gerar sinais, que podem ser aproveitados em situações de tendência e de turbulência.
  2. O Brinband é capaz de ajustar os parâmetros de forma flexível, adaptando-se a diferentes condições de mercado e características da variedade.
  3. 5o EMA como filtro de tendência, que pode ser eficaz para reduzir o ruído e a frequência de transações.
  4. Os mecanismos de stop loss e reversão de posições em tempo real permitem controlar melhor os riscos e aproveitar ativamente as oportunidades de novas tendências.
  5. A lógica é clara, fácil de entender e implementar, facilitando a otimização.

Risco estratégico

  1. A escolha inadequada dos parâmetros pode causar falha de sinal ou excesso de negociação. Testes de otimização são necessários de acordo com a variedade e o período.
  2. Os sinais de negociação frequentes podem ocorrer em mercados em turbulência, o que leva a um excesso de negociação e aumento de custos.
  3. A falta de conhecimento sobre o ponto de viragem da tendência pode ter levado a perda do melhor momento de entrada.
  4. Um único conjunto de indicadores técnicos pode estar em risco de falha e precisa ser verificado com outros sinais.
  5. O risco de desmontagem em situações extremas exige medidas rigorosas de controlo de riscos.

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

  1. Otimizar os parâmetros da faixa de Bryn, como comprimento, múltiplo, etc., para encontrar a melhor combinação de parâmetros.
  2. Teste de otimização dos ciclos da EMA para selecionar o melhor ciclo de tendência.
  3. Adicionar outros indicadores de tendências, como o MACD, como julgamento auxiliar, aumenta a precisão da captação de tendências.
  4. A introdução de indicadores de volatilidade, como o ATR, como base para a gestão de perdas e posições, para controlar o risco individual.
  5. Limitar o período de negociação para evitar flutuações ineficazes em determinados momentos.
  6. De acordo com as características do mercado, configure uma estratégia de stop loss apropriada.

Resumir

A estratégia, através da combinação de Brinband e EMA, pode ser mais eficaz para capturar oportunidades de tendência e oportunidades de volatilidade, e aplica-se a estratégias de negociação de médio a longo prazo. No entanto, é necessário prestar atenção à otimização de parâmetros, controle de posições e gestão de riscos, e deve ser combinado com outros indicadores técnicos e análise fundamental, para melhor aproveitar a eficácia da estratégia. O desempenho da estratégia pode ser afetado pelas condições do mercado, e precisa ser ajustado e otimizado de acordo com a situação real.

Código-fonte da estratégia
/*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"