Estratégia de negociação de fusão da média móvel da faixa de Bollinger

Autora:ChaoZhang, Data: 2023-09-18 16:08:43
Tags:

Resumo

Esta estratégia combina médias móveis e Bandas de Bollinger para validação de sinais de indicadores duplos para determinar e negociar tendências.

Estratégia lógica

As medias móveis rápidas e lentas são calculadas. Quando a linha rápida cruza acima da linha lenta, um sinal longo é gerado. Abaixo dá um sinal curto. As bandas superiores e inferiores da Bollinger Band também são calculadas. Os sinais de média móvel só são confirmados quando o preço também quebra as Bandas de Bollinger. Isso evita quebra-quebras de falhas.

Vantagens

  • A validação de dois indicadores evita sinais falsos
  • As médias móveis determinam a principal direcção da tendência
  • As bandas de Bollinger confirmam a qualidade da fuga
  • A capacidade de fazer tanto a longa como a curta duração proporciona flexibilidade

Riscos

  • As médias móveis e as bandas de Bollinger têm atraso
  • Condições duplas limitam a frequência de negociação, inadequada para negociação de alta frequência
  • Os pontos exatos de reversão não podem ser determinados com precisão
  • Risco de perda de oportunidades

Os riscos podem ser geridos através do encurtamento da média móvel e dos períodos de Bollinger ou da otimização das combinações de parâmetros.

Melhorias

  • Teste diferentes combinações de média móvel e parâmetros de Bollinger
  • Considerar a adição de estratégias de stop loss para controlar as perdas
  • Otimizar regras lógicas para validação dupla
  • Ensaiar a robustez em diferentes produtos

Conclusão

Esta estratégia valida sinais com indicadores duplos para reduzir sinais falsos, adequado para a detenção de médio/longo prazo.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MA-Zorrillo",overlay=true)

ma_short= sma(close,8)
ma_long= sma(close,89)

entry_ma = crossover (ma_short,ma_long)
exit_ma = crossunder (ma_short,ma_long) 


BBlength = input(24, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

source = close
entry_bb = crossover(source, BBlower)
exit_bb = crossunder(source, BBupper)


vs_entry = false
vs_exit = false
for i = 0 to 63
    if (entry_bb[i])
        vs_entry :=  true
    if (exit_bb[i])
        vs_exit :=  true
        

entry = entry_ma and vs_entry
exit =  exit_ma and vs_exit

strategy.entry(id="long_ma",long=true,when=entry)
strategy.close(id="long_ma", when=exit)

strategy.entry(id="short_ma",long=false,when=exit)
strategy.close(id="short_ma",when=entry)


Mais.