Estratégia de acompanhamento de tendências com base em Bandas de Bollinger, RSI e médias móveis


Data de criação: 2024-02-02 11:35:17 última modificação: 2024-02-02 11:35:17
cópia: 0 Cliques: 640
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base em Bandas de Bollinger, RSI e médias móveis

Visão geral

A estratégia integra o indicador de Brin, o indicador de força relativa (RSI) e a média móvel (MA) com o objetivo de identificar pontos de entrada e saída potenciais do mercado. Pode gerar alertas de compra e venda, que podem ser executados por um sistema de negociação manual ou automático.

Princípio da estratégia

A estratégia usa dois parâmetros diferentes para gerar um canal de preços. O parâmetro padrão para o Brinks é o comprimento de 20 ciclos, com uma diferença padrão de 2. Os tracks superiores e inferiores do Brinks servem como resistência e suporte dinâmico, respectivamente.

O indicador RSI é usado para determinar a força ou fraqueza da dinâmica de preços. Os valores do RSI são lidos para determinar se há excesso de compra ou venda.

A estratégia também integra uma média móvel de 50 períodos para determinar a direção da tendência geral. Quando o preço está acima da média móvel, está em uma tendência ascendente; Quando o preço está abaixo da média móvel, está em uma tendência descendente.

Condições para um sinal de compra: RSI acima da linha de supercompra e sem contração da faixa de Bryn.

Condições para o sinal de venda: RSI abaixo da linha de supera venda e sem contração da faixa de Bryn.

Condições para o sinal de posição equilibrada: a posição longa tem um preço de fechamento abaixo da média móvel. A posição curta tem um preço de fechamento acima da média móvel.

Vantagens estratégicas

  1. Combinando os três indicadores de Brinks, RSI e média móvel, compreende a direção da tendência, evitando falsos sinais.

  2. As faixas de Brin determinam os altos e baixos locais e confirmam a ruptura, o RSI filtra as falsas rupturas, a média móvel determina o movimento geral. Os três se verificam mutuamente e identificam com precisão os pontos de mudança de tendência.

  3. Os parâmetros de estratégia foram otimizados, com a utilização de dois parâmetros de diferença padrão, para uma descrição mais precisa do canal de preços.

Risco estratégico

  1. Quando a faixa de Brin se contrai, é fácil gerar um sinal de erro. Neste momento, o RSI também está perto da zona neutra, e deve ser evitado negociar.

  2. O RSI e as médias móveis podem produzir sinais errados em tendências de choque. Deve-se identificar previamente se está em um mercado de choque.

  3. A incapacidade de lidar eficazmente com a lacuna de salto de preço deve ser combinada com outros indicadores para determinar a verdadeira ruptura.

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

  1. Optimizar os parâmetros das faixas de Brimstone e do RSI para que sejam mais adequados às características de diferentes variedades e períodos de tempo.

  2. A adição de uma configuração adicional de Stop Loss.

  3. Adicionar filtros de tendência, como o ADX, para determinar se está entrando em uma tendência. Reduzir a invalidez de negociação em mercados de turbulência.

  4. Combinado com um sistema de negociação automática, o uso de sinais de negociação gerados é executado automaticamente, sem a necessidade de intervenção humana.

Resumir

A estratégia integra os benefícios de três indicadores, a faixa de Brin, o RSI e a média móvel, aumentando a precisão do sinal por meio da otimização de parâmetros. Alertas de negociação podem ser geradas automaticamente. Execução de estratégias de negociação. O risco reside principalmente na criação de sinais errados em situações de turbulência.

Código-fonte da estratégia
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Define input variables
b_len = input(20, title="BB Length")
bb_mult = input(2.0, title="BB Standard Deviation")
bb_deviation1 = input(1.0, title="BB Deviation 1")
rsi_len = input(14, title="RSI Length")
overbought = input(70, title="Overbought RSI Level")
oversold = input(30, title="Oversold RSI Level")
ma_len = input(50, title="MA Length")
stop_loss_percent = input(1.0, title="Stop Loss Percentage")
source = input(close, title="Source")

// Calculate Bollinger Bands
bb_upper = ta.sma(source, b_len) + bb_mult * ta.stdev(source, b_len)
bb_lower = ta.sma(source, b_len) - bb_mult * ta.stdev(source, b_len)
bb_upper1 = ta.sma(source, b_len) + bb_deviation1 * ta.stdev(source, b_len)
bb_lower1 = ta.sma(source, b_len) - bb_deviation1 * ta.stdev(source, b_len)

// Calculate RSI
rsi = ta.rsi(source, rsi_len)

// Calculate Moving Average
ma = ta.sma(source, ma_len)

// Determine if Bollinger Bands are contracting
bb_contracting = ta.stdev(source, b_len) < ta.stdev(source, b_len)[1]

// Entry conditions
enterLong = rsi > overbought and not bb_contracting
enterShort = rsi < oversold and not bb_contracting

// Exit conditions
exitLong = close < ma
exitShort = close > ma

// Exit trades and generate alerts
if strategy.position_size > 0 and exitLong
    strategy.close("Long") // Exit the long trade
    alert("Long Exit", alert.freq_once_per_bar_close)
if strategy.position_size < 0 and exitShort
    strategy.close("Short") // Exit the short trade
    alert("Short Exit", alert.freq_once_per_bar_close)

// Strategy orders
if enterLong
    strategy.entry("Long", strategy.long)
if enterShort
    strategy.entry("Short", strategy.short)
if exitLong
    strategy.close("Long")
if exitShort
    strategy.close("Short")

// Plotting Bollinger Bands
plot(bb_upper, color=color.blue, title="BB Upper 2")
plot(bb_lower, color=color.blue, title="BB Lower 2")
plot(bb_upper1, color=color.red, title="BB Upper 1")
plot(bb_lower1, color=color.red, title="BB Lower 1")

// Plotting RSI
plot(rsi, color=color.orange, title="RSI")

// Plotting Moving Average
plot(ma, color=color.green, title="Moving Average")