Estratégia de negociação combinada de volatilidade de momentum RSI-ATR

RSI ATR MA
Data de criação: 2024-12-11 11:15:32 última modificação: 2024-12-11 11:15:32
cópia: 0 Cliques: 483
1
focar em
1617
Seguidores

Estratégia de negociação combinada de volatilidade de momentum RSI-ATR

Visão geral

Trata-se de um sistema de estratégia de negociação que combina o indicador de volume RSI com o indicador de flutuação ATR. A estratégia identifica oportunidades de negociação potenciais monitorando a interseção do RSI com sua média móvel, enquanto usa o indicador ATR como um filtro de taxa de flutuação para garantir que o mercado tenha volatilidade suficiente. A estratégia opera durante o horário de negociação europeu ((horário de Praga 8:00-21:00), com um período de 5 minutos e um nível de stop loss fixo.

Princípio da estratégia

A lógica central da estratégia é baseada nos seguintes componentes principais:

  1. O indicador RSI é usado para identificar áreas de sobrecompra e sobrevenda, quando o RSI é inferior a 45 é considerado uma zona de sobrevenda e superior a 55 é considerado uma zona de sobrecompra
  2. O cruzamento do RSI com a sua média móvel como condição para o sinal de entrada
  3. O indicador ATR é usado para filtrar ambientes de baixa volatilidade, permitindo a negociação somente quando o ATR está acima do limiar definido
  4. O horário de negociação é limitado entre 8:00 e 21:00 hora de Praga
  5. A estratégia de stop-loss fixa é de 5000 pontos por defeito.

As regras de negociação são as seguintes:

  • Multi-condicionamento: RSI abaixo de 45 cruza-se para cima com sua média móvel e satisfaz condições de tempo de negociação e de volatilidade
  • Condição de fechamento: RSI acima de 55 cruzando para baixo com sua média móvel e atendendo a condições de tempo de negociação e volatilidade
  • Condições de saída: toque no ponto de parada ou no ponto de parada automático

Vantagens estratégicas

  1. Mecanismo de filtragem múltipla: combina o indicador de força (RSI) e o indicador de oscilação (ATR) para reduzir efetivamente os sinais falsos
  2. Filtragem de tempo: evita interrupções em períodos de baixa liquidez, limitando a janela de tempo de negociação
  3. Gerenciamento de risco perfeito: configuração de stop loss fixo para facilitar a gestão de fundos
  4. Parâmetros ajustáveis: Parâmetros-chave como a duração do RSI, o valor mínimo do ATR e outros podem ser otimizados para diferentes situações de mercado
  5. Os resultados foram robustos: a taxa de vitória foi de 64,4%, com uma taxa de lucro e prejuízo de 1,1, levando em conta os pontos de deslizamento e as comissões.

Risco estratégico

  1. O stop loss fixo pode não ser adequado para todos os cenários de mercado e pode levar a saídas prematuras em períodos de forte volatilidade.
  2. Indicadores de RSI podem gerar falsos sinais frequentes em mercados de tendência
  3. A filtragem do ATR pode fazer com que a estratégia perca algumas oportunidades importantes de mercado
  4. Limitação de janela de tempo pode levar a perda de oportunidades de negociação de qualidade em outros períodos
  5. A estratégia depende da otimização de parâmetros, a otimização excessiva pode levar ao risco de sobreajuste

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

  1. Stop loss dinâmico: pode-se considerar ajustar a amplitude do stop loss de acordo com a dinâmica do ATR, para torná-lo mais adaptado às flutuações do mercado
  2. Filtragem de tendências: aumentar os indicadores de tendências, como o sistema de médias móveis, para reduzir os falsos sinais em mercados turbulentos
  3. Alteração do horário de entrada: pode ser considerado o acréscimo de indicadores de tráfego como confirmação auxiliar para melhorar a qualidade de entrada
  4. Optimizar a janela de tempo: ajustar a janela de tempo de negociação de acordo com as características de diferentes mercados para capturar mais oportunidades
  5. Aumento do módulo de gestão de fundos: gestão dinâmica da dimensão das posições e melhor controlo dos riscos

Resumir

A estratégia, através da combinação de indicadores RSI e ATR, constrói um sistema de negociação relativamente completo. As principais vantagens da estratégia são o mecanismo de filtragem múltipla e o gerenciamento de risco perfeito, mas também existem algumas limitações.

Código-fonte da estratégia
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// === Настройки индикаторов ===
rsi_length = input.int(14, minval=1, title="RSI Length")
rsi_ma_length = input.int(10, minval=1, title="RSI MA Length")
atr_length = input.int(14, minval=1, title="ATR Length")
atr_threshold = input.float(0.5, minval=0.1, title="ATR Threshold")

// === Параметры стоп-лосса и тейк-профита ===
stop_loss_ticks = input.int(5000, title="Stop Loss Ticks")
take_profit_ticks = input.int(5000, title="Take Profit Ticks")

// === Получение значений индикаторов ===
rsi = ta.rsi(close, rsi_length)
rsi_ma = ta.sma(rsi, rsi_ma_length)
atr_value = ta.atr(atr_length)

// === Время для открытия сделок ===
start_time = timestamp("Europe/Prague", year, month, dayofmonth, 8, 0)
end_time = timestamp("Europe/Prague", year, month, dayofmonth, 21, 0)
in_trading_hours = (time >= start_time and time <= end_time)

// === Условие по волатильности ===
volatility_filter = atr_value > atr_threshold

// === Условия для лонгов ===
long_condition = ta.crossover(rsi, rsi_ma) and rsi < 45 and in_trading_hours and volatility_filter
if (long_condition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=low - stop_loss_ticks * syminfo.mintick, limit=high + take_profit_ticks * syminfo.mintick)

// === Условия для шортов ===
short_condition = ta.crossunder(rsi, rsi_ma) and rsi > 55 and in_trading_hours and volatility_filter
if (short_condition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=high + stop_loss_ticks * syminfo.mintick, limit=low - take_profit_ticks * syminfo.mintick)

// === Отображение индикаторов на графике ===
plot(rsi, color=color.blue, title="RSI")
plot(rsi_ma, color=color.red, title="RSI MA")
hline(45, "RSI 45", color=color.green)
hline(55, "RSI 55", color=color.red)
plot(atr_value, color=color.orange, title="ATR", linewidth=2)
hline(atr_threshold, "ATR Threshold", color=color.purple)