Estratégia de swing trading dinâmica multinível com média de custo baseada no índice de força relativa e na faixa média real

RSI ATR DCA TP
Data de criação: 2025-02-20 17:25:04 última modificação: 2025-02-27 17:22:25
cópia: 0 Cliques: 369
2
focar em
319
Seguidores

Estratégia de swing trading dinâmica multinível com média de custo baseada no índice de força relativa e na faixa média real Estratégia de swing trading dinâmica multinível com média de custo baseada no índice de força relativa e na faixa média real

Visão geral

A estratégia é um sistema de negociação de custo-equilíbrio dinâmico em múltiplos níveis (DCA) combinando um índice relativamente forte (RSI) e um real de amplitude média (ATR). Ela é baseada na identificação de condições de sobrevenda no mercado para a construção de estoques e na utilização do ATR para ajustar a posição de parada para obter lucro com a operação de banda. A estratégia possui características como dispersão de risco, otimização de custos e estabilidade de receita.

Princípio da estratégia

A estratégia opera em níveis de 4 horas ou dia, e a lógica central inclui os seguintes aspectos:

  1. O sinal de entrada baseia-se no julgamento de oversold com RSI abaixo de 30, permitindo até 4 lotes de armazenamento
  2. O montante de cada posição é baseado no limite de risco total de US $ 200, com o tamanho da posição calculado com base no ATR dinâmico duplo
  3. Gerenciamento de armazenamento com rastreamento de custos de média dinâmica, computação em tempo real do preço médio após várias construções de armazenamento
  4. O Stop Stop é configurado para 3 vezes o ATR acima da média, ajustando-se à volatilidade do mercado
  5. Apresentação em tempo real do preço médio e do ponto de parada por meio de linhas de marcação, facilitando o rastreamento visual

Vantagens estratégicas

  1. Controle de Risco de Precisão - Controle de Risco de Precisão de um único negócio através de um montante de risco pré-estabelecido e de um ajuste dinâmico do ATR
  2. Flexibilidade na construção de armazéns - o mecanismo de construção em lotes reduz custos e aproveita oportunidades
  3. Stop-loss inteligente - Stop-loss dinâmico baseado em ATR para garantir lucros e adaptar-se às flutuações do mercado
  4. Forte visualização - exibição em tempo real da linha de preço médio e da linha de parada para fornecer uma referência de negociação intuitiva
  5. Boa adaptabilidade - os parâmetros da estratégia podem ser ajustados de forma flexível de acordo com as diferentes características do mercado

Risco estratégico

  1. Risco de sobrevenda contínua - queda contínua do mercado pode levar a excesso de posições Solução: Implementar rigorosamente o limite máximo de construção de armazéns e, se necessário, estabelecer um stop loss
  2. Risco de configuração de stop-loss - um multiplicador de stop-loss muito alto pode levar a oportunidades de lucro perdidas Solução: Ajustar o ATR de acordo com a dinâmica do mercado
  3. Risco de gestão de fundos - construção em lotes pode implicar um investimento excessivo Solução: estabelecer limites de risco razoáveis e o tamanho das posições

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

  1. Otimização do sinal de entrada
  • Aumentar os indicadores de tendência para evitar posicionamentos prematuros em fortes quedas
  • Combinação de indicadores de volume de transação para aumentar a confiabilidade do julgamento de sobrevenda
  1. Mecanismo de travagem perfeito
  • Introdução de um mecanismo de trailing stop para melhor bloquear os lucros
  • Considere a redução em lotes para aumentar a flexibilidade de lucro
  1. Controle de risco reforçado
  • Adição de controle de revogação geral
  • Algoritmo de distribuição de fundos optimizado

Resumir

A estratégia, através da combinação dos indicadores RSI e ATR, permite um sistema de negociação com controle de risco e estabilidade de receita. O mecanismo de construção de depósitos em lotes oferece a possibilidade de otimização de custos, enquanto a concepção de paradas dinâmicas garante o bom desempenho dos ganhos. Embora existam alguns riscos potenciais, o desempenho geral da estratégia será ainda melhorado com a configuração de parâmetros razoáveis e a implementação da direção de otimização.

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

//@version=6
strategy("DCA-Based Swing Strategy (Risk $200) with Signals", overlay=true)

// === Main Indicators ===
// RSI for identifying oversold conditions
rsi = ta.rsi(close, 14)

// ATR for volatility estimation
atr = ta.atr(14)

// === Strategy Parameters ===
// Risk management
riskPerTrade = 200                       // Total risk ($200)
atrRisk = 2 * atr                        // Risk in dollars per buy (2 ATR)
positionSize = riskPerTrade / atrRisk    // Position size (shares)

// DCA Parameters
maxEntries = 4                           // Maximum of 4 buys
takeProfitATR = 3                        // Take profit: 3 ATR

// === Position Management ===
var float avgEntryPrice = na             // Average entry price
var int entryCount = 0                   // Number of buys
var line takeProfitLine = na             // Take profit line
var line avgPriceLine = na               // Average entry price line

// === Buy and Sell Conditions ===
buyCondition = rsi < 30 and entryCount < maxEntries  // Buy when oversold
if (buyCondition)
    strategy.entry("DCA Buy", strategy.long, qty=positionSize)
    
    // Update the average entry price
    avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * entryCount + close) / (entryCount + 1)
    entryCount += 1

    // Display "BUY" signal on the chart
    label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.normal)

    // Update lines for average entry price and take profit
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)
    takeProfitPrice = avgEntryPrice + takeProfitATR * atr


// Sell condition: Take profit = 3 ATR from average entry price
takeProfitPrice = avgEntryPrice + takeProfitATR * atr
if (close >= takeProfitPrice and entryCount > 0)
    strategy.close("DCA Buy")
    
    // Reset parameters after closing
    avgEntryPrice := na
    entryCount := 0

    // Remove lines after selling
    if (not na(takeProfitLine))
        line.delete(takeProfitLine)
    if (not na(avgPriceLine))
        line.delete(avgPriceLine)