Estratégia de negociação de filtro duplo com base em RSI e média móvel de tendência

RSI MA Trend SIGNAL FILTER ALERT
Data de criação: 2025-02-21 14:05:21 última modificação: 2025-02-21 14:05:21
cópia: 2 Cliques: 323
2
focar em
319
Seguidores

Estratégia de negociação de filtro duplo com base em RSI e média móvel de tendência Estratégia de negociação de filtro duplo com base em RSI e média móvel de tendência

Visão geral

Esta estratégia é um sistema de negociação de dupla filtragem que combina o RSI (indicador relativamente forte) e a linha média de tendência. A estratégia é executada em níveis de linha diária, combinando o sinal de sobrecompra e sobrevenda do RSI com a linha média de tendência de longo prazo. O núcleo da estratégia é o aumento do filtro de tendência na base do tradicional sinal de negociação do RSI para aumentar a precisão e a confiabilidade da negociação.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes componentes centrais:

  1. O indicador RSI é usado para identificar áreas de sobrecompra e sobrevenda, com um parâmetro padrão de 14 ciclos
  2. O nível de sobrecompra está definido em 70 e o nível de sobrevenda está definido em 30.
  3. A média móvel simples de 200 ciclos como um filtro de tendência
  4. Condições de compra: RSI sobe da zona de oversold e preço está acima da linha média
  5. Condições de venda: RSI quebra para baixo da zona de sobrecompra e o preço está abaixo da linha média A estratégia executa automaticamente a transação em cada sinal e pode ser configurada para a função de alerta.

Vantagens estratégicas

  1. O mecanismo de dupla confirmação aumenta significativamente a confiança das transações
  2. Combinação de tendências e indicadores de dinâmica para reduzir o risco de falsos sinais
  3. Sistema de execução de transações totalmente automatizado
  4. Configuração flexível de parâmetros permite otimização de estratégias
  5. A função de alerta em tempo real é integrada para facilitar a operação
  6. A interface visível mostra claramente os sinais de negociação
  7. Suporte a função de retrospecção para facilitar a validação de estratégias

Risco estratégico

  1. Mercado em turbulência pode gerar sinais de negociação frequentes
  2. Os pontos de viragem podem estar atrasados
  3. Configurações de parâmetros inadequadas podem afetar o desempenho da estratégia
  4. A maior retração pode ocorrer em situações de extrema volatilidade do mercado. Recomenda-se que os riscos sejam gerenciados da seguinte forma:
  • Estabelecer uma posição de parada razoável
  • Ajuste adequado do tamanho da posição
  • Optimizar os parâmetros da estratégia periodicamente
  • Indicadores técnicos auxiliares em combinação com outros

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

  1. Aumentar os filtros de volatilidade e ajustar os padrões de negociação durante a alta volatilidade
  2. Introdução de um mecanismo de parâmetros de adaptação, ajustando os parâmetros de acordo com a dinâmica do mercado
  3. Adicionar mecanismo de confirmação de volume para melhorar a confiabilidade do sinal
  4. Desenvolver mecanismos de saída mais complexos para otimizar o tempo de expiração
  5. Integração de análises de múltiplos períodos de tempo para uma visão mais abrangente do mercado

Resumir

A estratégia, em combinação com o RSI e a linha de tendência, constrói um sistema de negociação estável. A estratégia é projetada de forma razoável, as regras de operação são claras e tem uma boa praticidade.

Código-fonte da estratégia
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Leading Indicator Strategy – Daily Signals", overlay=true, 
     pyramiding=1, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=100)

/// **Inputs for Customization**
rsiLength   = input.int(14,  minval=1, title="RSI Period")
oversold    = input.float(30.0, minval=1, maxval=50, title="Oversold Level")
overbought  = input.float(70.0, minval=50, maxval=100, title="Overbought Level")
maLength    = input.int(200, minval=1, title="Trend MA Period")
useTrendFilter = input.bool(true, title="Use Trend Filter (MA)",
     tooltip="Require price above MA for buys and below MA for sells")

/// **Indicator Calculations**
rsiValue = ta.rsi(close, rsiLength)                      // RSI calculation
trendMA  = ta.sma(close, maLength)                       // Long-term moving average

/// **Signal Conditions** (RSI crosses with optional trend filter)
buySignal  = ta.crossover(rsiValue, oversold)            // RSI crosses above oversold level
sellSignal = ta.crossunder(rsiValue, overbought)         // RSI crosses below overbought level

bullCond = buySignal and (not useTrendFilter or close > trendMA)   // final Buy condition
bearCond = sellSignal and (not useTrendFilter or close < trendMA)  // final Sell condition

/// **Trade Execution** (entries and exits with alerts)
if bullCond
    strategy.close("Short",  alert_message="Buy Signal – Closing Short")   // close short position if open
    strategy.entry("Long",  strategy.long,  alert_message="Buy Signal – Enter Long")  // go long
if bearCond
    strategy.close("Long",   alert_message="Sell Signal – Closing Long")   // close long position if open
    strategy.entry("Short", strategy.short, alert_message="Sell Signal – Enter Short") // go short

/// **Plotting** (MA and signal markers for clarity)
plot(trendMA, color=color.orange, linewidth=2, title="Trend MA")
plotshape(bullCond, title="Buy Signal", style=shape.labelup, location=location.belowbar,
     color=color.green, text="BUY", textcolor=color.white)
plotshape(bearCond, title="Sell Signal", style=shape.labeldown, location=location.abovebar,
     color=color.red, text="SELL", textcolor=color.white)

// (Optional) Plot RSI in a separate pane for reference:
// plot(rsiValue,  title="RSI", color=color.blue)
// hline(oversold, title="Oversold",  color=color.gray, linestyle=hline.style_dotted)
// hline(overbought, title="Overbought", color=color.gray, linestyle=hline.style_dotted)