Estratégia de negociação quantitativa de rastreamento de tendências colaborativas RSI e AO

RSI AO TP SL
Data de criação: 2024-11-12 16:05:28 última modificação: 2024-11-12 16:05:28
cópia: 1 Cliques: 140
1
focar em
1166
Seguidores

Estratégia de negociação quantitativa de rastreamento de tendências colaborativas RSI e AO

Visão geral

A estratégia é uma estratégia de negociação quantitativa baseada na sinergia de indicadores de força relativa (RSI) e oscilação de energia (AO). A estratégia identifica oportunidades potenciais de fazer mais através da captura de sinais de combinação de RSI quebrando o horizonte de 50 com AO em áreas negativas. A estratégia usa um mecanismo de stop loss percentual para gerenciar o risco, usando 10% dos fundos da conta para negociar por padrão.

Princípio da estratégia

A lógica central da estratégia é baseada na combinação de dois indicadores técnicos:

  1. O indicador RSI usa um indicador RSI de 14 ciclos para monitorar a dinâmica dos preços e estabelece a energia de oscilação ascendente quando o RSI ultrapassa o eixo central de 50.
  2. Indicador AO: Calcula o movimento de preços através da comparação de uma média móvel de 5 e 34 ciclos, indicando que o mercado está em uma zona de superalimento quando o AO é negativo.
  3. Condições de entrada: abrir uma posição quando o RSI ultrapassa 50 e o AO é negativo, o que significa capturar um sinal de reversão no preço em uma área de oversold.
  4. Condições de saída: Usar um stop loss de 2% e um stop loss de 1%, garantindo que o risco e o lucro de cada transação sejam razoáveis.

Vantagens estratégicas

  1. Alta confiabilidade do sinal: a confiabilidade do sinal de negociação é aumentada com a dupla confirmação do RSI e do AO.
  2. Controle de risco perfeito: configuração de stop loss com porcentagem fixa para controlar efetivamente o risco de cada transação.
  3. Ciência de gestão de fundos: usa uma proporção fixa de fundos da conta para negociar, evitando a excessiva alavancagem.
  4. A lógica é clara e simples: as regras da estratégia são intuitivas e fáceis de entender e executar.
  5. A visualização é boa: os sinais são claramente marcados no gráfico, facilitando a identificação e confirmação do comerciante.

Risco estratégico

  1. Risco de Falso Breakout: O RSI quebra 50 pode ocorrer Falso Breakout, que precisa ser confirmado em conjunto com outros indicadores técnicos.
  2. Perda de 1% pode ser muito pequena e pode ser afetada por flutuações no mercado.
  3. Limitação de negociação unidirecional: a estratégia é apenas fazer mais e não fechar, podendo perder a oportunidade de um mercado em aberto.
  4. Efeitos de deslizamento: pode haver um risco maior de deslizamento em situações de forte volatilidade.
  5. Sensibilidade de parâmetros: a eficácia da estratégia é mais afetada pela configuração dos parâmetros RSI e AO.

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

  1. Filtragem de sinais: Recomenda-se a adição de um mecanismo de confirmação de volume de transação para melhorar a confiabilidade do sinal.
  2. Stop Dinâmico: Pode ser substituído por Stop Fixo para Tracking Stop, melhor protegendo os lucros.
  3. Optimização de parâmetros: Recomenda-se a otimização de retrospectiva histórica para o ciclo RSI e os parâmetros AO.
  4. Filtragem de mercado: adicionar a avaliação da tendência do mercado, abrindo a negociação apenas quando a tendência é alta.
  5. Gerenciamento de posições: pode ser ajustado de acordo com a intensidade do sinal.

Resumir

Trata-se de uma estratégia de acompanhamento de tendências combinando os indicadores RSI e AO para fazer mais negociações, capturando sinais de reversão em áreas de oversold. A estratégia é projetada de forma razoável, o risco está controlado, mas ainda há espaço para otimização.

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

//@version=5
strategy(title="🐂 BUY Only - RSI Crossing 50 + AO Negative", shorttitle="🐂 AO<0 RSI+50 Strategy", overlay=true)

// -----------------------------
// --- User Inputs ---
// -----------------------------

// RSI Settings
rsiPeriod = input.int(title="RSI Period", defval=14, minval=1)

// AO Settings
aoShortPeriod = input.int(title="AO Short Period", defval=5, minval=1)
aoLongPeriod = input.int(title="AO Long Period", defval=34, minval=1)

// Strategy Settings
takeProfitPerc = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1)
stopLossPerc = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1)

// -----------------------------
// --- Awesome Oscillator (AO) Calculation ---
// -----------------------------

// Calculate the Awesome Oscillator
ao = ta.sma(hl2, aoShortPeriod) - ta.sma(hl2, aoLongPeriod)

// Detect AO Crossing Zero
aoCrossOverZero = ta.crossover(ao, 0)
aoCrossUnderZero = ta.crossunder(ao, 0)

// -----------------------------
// --- Relative Strength Index (RSI) Calculation ---
// -----------------------------

// Calculate RSI
rsiValue = ta.rsi(close, rsiPeriod)

// Detect RSI Crossing 50
rsiCrossOver50 = ta.crossover(rsiValue, 50)
rsiCrossUnder50 = ta.crossunder(rsiValue, 50)

// -----------------------------
// --- Plotting Arrows and Labels ---
// -----------------------------

// Plot AO Cross Over Arrow (AO+)
plotshape(series=aoCrossOverZero,
          location=location.belowbar,
          color=color.green,
          style=shape.labelup,
          title="AO Crosses Above Zero",
          text="AO+",
          textcolor=color.white,
          size=size.small)

// Plot AO Cross Under Arrow (AO-)
plotshape(series=aoCrossUnderZero,
          location=location.abovebar,
          color=color.red,
          style=shape.labeldown,
          title="AO Crosses Below Zero",
          text="AO-",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Over Arrow (RSI Up)
plotshape(series=rsiCrossOver50,
          location=location.belowbar,
          color=color.blue,
          style=shape.labelup,
          title="RSI Crosses Above 50",
          text="RSI Up",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Under Arrow (RSI Down)
plotshape(series=rsiCrossUnder50,
          location=location.abovebar,
          color=color.orange,
          style=shape.labeldown,
          title="RSI Crosses Below 50",
          text="RSI Down",
          textcolor=color.white,
          size=size.small)

// -----------------------------
// --- Buy Signal Condition ---
// -----------------------------

// Define Buy Signal: AO is negative and previous bar's RSI > 50
buySignal = (ao < 0) and (rsiValue[1] > 50)

// Plot Buy Signal
plotshape(series=buySignal,
          location=location.belowbar,
          color=color.lime,
          style=shape.triangleup,
          title="Buy Signal",
          text="BUY",
          textcolor=color.black,
          size=size.small)

// -----------------------------
// --- Strategy Execution ---
// -----------------------------

// Entry Condition
if buySignal
    strategy.entry("Long", strategy.long)

// Exit Conditions
// Calculate Stop Loss and Take Profit Prices
if strategy.position_size > 0
    // Entry price
    entryPrice = strategy.position_avg_price

    // Stop Loss and Take Profit Levels
    stopLevel = entryPrice * (1 - stopLossPerc / 100)
    takeProfitLevel = entryPrice * (1 + takeProfitPerc / 100)

    // Submit Stop Loss and Take Profit Orders
    strategy.exit("Exit Long", from_entry="Long", stop=stopLevel, limit=takeProfitLevel)