As bandas de Bollinger e a média móvel combinadas com a estratégia de negociação do índice de força relativa

Autora:ChaoZhang, Data: 2024-03-11 11:02:44
Tags:

img

Resumo

Esta estratégia utiliza três indicadores técnicos: Bandas de Bollinger, Média Móvel Exponencial de 3 dias (EMA) e Índice de Força Relativa (RSI), combinando seus sinais de cruzamento para construir um sistema de negociação completo.

Princípio da estratégia

  1. As bandas de Bollinger consistem em três linhas: a linha do meio é a média móvel do preço e as bandas superior e inferior são calculadas com base no desvio padrão do preço.

  2. A EMA de 3 dias é uma média móvel exponencial baseada nos preços de fechamento dos últimos 3 dias, que pode responder rapidamente às variações de preços e é um indicador de tendência de curto prazo.

  3. O RSI mede a magnitude e a velocidade das mudanças de preço durante um determinado período para avaliar as condições de sobrecompra e sobrevenda de uma ação.

  4. A lógica estratégica é a seguinte:

    • Quando o preço de fechamento cruza acima da faixa de Bollinger inferior enquanto cruza acima da EMA de 3 dias e o RSI está abaixo de 30, considera-se que o estoque pode estar prestes a reverter e subir, gerando um sinal de compra.
    • Quando o preço de fechamento cruza abaixo da banda superior de Bollinger enquanto cruza abaixo da EMA de 3 dias e o RSI está acima de 70, considera-se que o estoque pode estar prestes a reverter e cair, gerando um sinal de venda.
    • Satisfazer simultaneamente os sinais das Bandas de Bollinger, EMA e RSI pode efetivamente filtrar muitos sinais falsos e melhorar a precisão da negociação.

Análise das vantagens

  1. As bandas de Bollinger podem quantificar a volatilidade do mercado, a EMA de 3 dias acompanha de perto os movimentos dos preços e o RSI pode determinar as condições de sobrecompra e sobrevenda.

  2. Combinando os sinais dos três indicadores simultaneamente, as condições de negociação rigorosas podem evitar negociações frequentes, reduzindo assim os custos de transação.

  3. Pode captar boas oportunidades de negociação em mercados em tendência e em oscilação, com forte aplicabilidade.

  4. A lógica do código é clara e interpretável, tornando-a fácil de entender e otimizar.

Análise de riscos

  1. Em mercados de tendência unilateral, a frequência de negociação desta estratégia pode ser baixa, perdendo alguns lucros de tendência.

  2. Para os mercados intradiários com flutuações drásticas, os sinais de negociação podem estar ligeiramente atrasados.

  3. A selecção dos parâmetros da estratégia terá um impacto significativo nos resultados das negociações e deverá ser otimizada em função dos diferentes activos subjacentes e das características do mercado.

  4. A estratégia não estabelece níveis de stop-loss e take-profit, que podem comportar riscos maiores quando o mercado flutua drasticamente.

Para enfrentar os riscos acima mencionados, podemos considerar a introdução de indicadores de avaliação de tendências para melhorar o desempenho nos mercados de tendências, otimizar a frequência de dados no cálculo dos sinais, realizar uma análise aprofundada dos intervalos de parâmetros ideais e estabelecer condições razoáveis de captação de lucro e de stop-loss.

Direcção de otimização

  1. Introduzir indicadores técnicos mais eficazes, como o indicador de tendência MACD, para captar eficazmente as oportunidades de negociação tanto nos mercados oscilantes como nos mercados em tendência.

  2. Otimizar a seleção de parâmetros através da realização de backtesting abrangente sobre dados históricos para encontrar a combinação ideal de parâmetros e melhorar a estabilidade e a rentabilidade da estratégia.

  3. Considerar a adição de regras de gestão de posições e de gestão de capitais para controlar a proporção de fundos numa única transação e ajustar dinamicamente as posições para melhor controlar os riscos.

  4. Estabelecer condições razoáveis de obtenção de lucros e de stop-loss para reduzir a perda máxima de uma única transação e permitir que as operações rentáveis obtiverem lucros completos.

  5. Conceber mecanismos de resposta a diferentes condições de mercado, tais como a redução da frequência de negociação em mercados oscilantes e o aumento do tempo de detenção em mercados em tendência.

Através das otimizações acima referidas, a relação risco/benefício da estratégia pode ser melhorada para melhor se adaptar ao ambiente de mercado em evolução.

Resumo

Este artigo apresenta uma estratégia de negociação baseada em Bollinger Bands, EMA de 3 dias e indicadores RSI. Usando os sinais de cruzamento dos três indicadores, a estratégia constrói condições de compra e venda rígidas que podem efetivamente filtrar a maioria dos sinais falsos. A lógica da estratégia é clara e aplicável a mercados de tendências e oscilantes, com ampla aplicabilidade. No entanto, esta estratégia também tem algumas limitações, como baixa frequência de negociação em mercados de tendências e falta de gerenciamento de posição e mecanismos de stop-loss / take-profit. Portanto, ainda precisa ser continuamente otimizada e melhorada na prática para obter um desempenho de negociação mais robusto.


/*backtest
start: 2024-03-09 00:00:00
end: 2024-03-10 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom Strategy", overlay=true)

// Input parameters
length = input(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input(2.0, title="Bollinger Bands Multiplier")

// Bollinger Bands
basis = ta.sma(src, length)
upper_band = basis + mult * ta.stdev(src, length)
lower_band = basis - mult * ta.stdev(src, length)

// 3 EMA
ema3 = ta.ema(close, 3)

// RSI
rsi_length = input(14, title="RSI Length")
rsi_source = close
rsi_value = ta.rsi(rsi_source, rsi_length)

// Strategy logic
strategy.entry("Buy", strategy.long, when=ta.crossover(close, lower_band) and ta.crossover(close, ema3) and rsi_value < 30)
strategy.entry("Sell", strategy.short, when=ta.crossover(close, upper_band) and ta.crossunder(close, ema3) and rsi_value > 70)

// Plotting
plot(upper_band, color=color.blue)
plot(lower_band, color=color.blue)
plot(ema3, color=color.green, title="3 EMA")
hline(70, "Overbought", color=color.red)
hline(30, "Oversold", color=color.green)


Mais.