O recurso está a ser carregado... Carregamento...

Estratégias de negociação quantitativas de alta RSI que se afastam do portfólio médio

Autora:ChaoZhang, Data: 2024-06-28 15:02:37
Tags:RSIMABBSMAEMASMMAWMAVWMA

高级RSI背离与均线组合的量化交易策略

Resumo

É uma estratégia de negociação quantitativa avançada baseada em desvios de indicadores relativamente fortes e fracos (RSI) e em vários conjuntos de linha média. A estratégia é usada principalmente em negociações de linha curta para capturar pontos de reversão potenciais através da identificação de desvios entre RSI e preço. A estratégia combina RSI, vários tipos de médias móveis e as bandas de Bryn, fornecendo aos traders um quadro de análise técnica abrangente.

O núcleo da estratégia consiste em usar o desvio do RSI para identificar condições potenciais de sobrecompra e sobrevenda. Ele detecta os desvios comparando os altos e baixos do RSI com o preço, e combina os níveis do RSI para determinar o momento de entrada. Além disso, a estratégia também incorpora vários tipos de linha uniforme, como a média móvel simples (SMA), a média móvel do índice (EMA) e a média móvel plana (SMMA), para fornecer sinais de confirmação de tendência adicionais.

Princípios estratégicos

  1. Cálculo do RSI: Calcule o valor do RSI usando um ciclo RSI personalizável (default 60).

  2. RSI Average: Aplica a média móvel ao RSI e suporta vários tipos de média, incluindo SMA, EMA, SMMA, WMA e VWMA.

  3. A partir daí, a polícia começou a investigar o caso.

    • A diferença entre os preços e a RSI é que o RSI se forma quando os preços são inovadores, mas não são inovadores.
    • O declínio do desvio: forma-se quando o preço é inovador, mas o RSI não é inovador.
  4. Condições de entrada:

    • Múltiplas entradas: ocorrem desvios na correlação com o RSI abaixo de 40.
    • Entrada em branco: desvio para baixo e RSI acima de 60.
  5. Gestão de transações:

    • Stop-loss: definido como um número fixo de pontos (default 11 pontos).
    • Parar: definido como um número fixo de pontos (default 33 pontos).
  6. Visualização:

    • Desenhe linhas RSI e linhas RSI equilibradas.
    • A linha horizontal do RSI de 30, 50, 70 é mostrada.
    • Opcional para mostrar faixa de madeira.
    • A partir daí, o gráfico mostra o desvio de posição.

Vantagens estratégicas

  1. Análise integrada de vários indicadores: combinação do RSI, média móvel e faixa de brinquedos para fornecer uma visão abrangente do mercado.

  2. Configuração de parâmetros flexíveis: permite aos usuários ajustar parâmetros como comprimento do RSI, tipo de linha média, etc. de acordo com diferentes condições do mercado.

  3. Identificação de desvio: Captura de oportunidades de reversão potenciais através da identificação de desvio entre RSI e preço.

  4. Gerenciamento de riscos: mecanismos de stop loss e stop loss embutidos ajudam a controlar o risco.

  5. Efeito de visualização: visualizações intuitivas de sinais de negociação e desvios em gráficos.

  6. Forte adaptabilidade: pode ser aplicada a diferentes tipos de transações e prazos.

  7. Transações automatizadas: podem ser facilmente integradas em sistemas de negociação automatizados.

Risco estratégico

  1. Risco de falsos sinais: no mercado horizontal, pode haver um excesso de falsos sinais de desvio.

  2. Retardo: O RSI e a linha média são indicadores atrasados, o que pode causar um pequeno atraso no tempo de entrada.

  3. Excesso de negociação: pode desencadear sinais de negociação excessivos em mercados altamente voláteis.

  4. Sensibilidade a parâmetros: o desempenho da estratégia é altamente dependente da configuração de parâmetros, e diferentes mercados podem exigir diferentes otimizações.

  5. Performance do mercado em tendência: em mercados em forte tendência, a estratégia de desvio pode ser freqüentemente contraditória.

  6. Risco de stop-loss fixo: o uso de pontos fixos como stop-loss pode não ser adequado para todas as condições do mercado.

Estratégias de otimização

  1. Introdução de um filtro de tendência: adicionar uma média móvel de longo prazo ou um indicador ADX para evitar negociações contraditórias em tendências fortes.

  2. Paragem dinâmica: usa o ATR ou percentagem de volatilidade para definir uma parada dinâmica para se adaptar a diferentes flutuações do mercado.

  3. Análise de vários quadros de tempo: combinação de sinais de quadros de tempo mais altos para confirmar a direção do negócio.

  4. Incorporar análise de transações: considerar indicadores de transações para aumentar a confiabilidade do sinal.

  5. Optimize o tempo de entrada: considere usar modelos de comportamento de preços ou gráficos de fluxo para entrar com precisão.

  6. Optimização de aprendizagem de máquina: o uso de algoritmos de aprendizagem de máquina para otimizar a seleção de parâmetros e geração de sinais.

  7. Adicionar condições de filtragem: adicionar indicadores técnicos ou fatores fundamentais adicionais para filtrar sinais de negociação.

Resumo

Esta estratégia de negociação quantitativa avançada, baseada em desvios RSI e combinações de vários horizontes, oferece aos traders uma estrutura analítica robusta e flexível. Ao combinar desvios RSI, vários tipos de horizontes e bandas de brinquedo, a estratégia consegue capturar pontos de reversão potenciais do mercado e fornecer sinais de confirmação de tendências.

A principal vantagem da estratégia é a sua abrangência e flexibilidade para se adaptar a diferentes condições de mercado. No entanto, os usuários precisam estar atentos aos riscos potenciais, como a possibilidade de sinais falsos e excesso de negociação. Com a otimização contínua e a introdução de ferramentas de análise adicionais, a estratégia tem potencial para se tornar um sistema de negociação confiável.

A chave é ajustar os parâmetros de acordo com a variedade de negociação específica e as condições do mercado, combinando-os com outros métodos de análise para verificar os sinais. Ao mesmo tempo, o rigoroso gerenciamento de riscos e a otimização contínua da estratégia são fatores fundamentais para garantir o sucesso a longo prazo.


/*backtest
start: 2024-05-28 00:00:00
end: 2024-06-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Advanced Gold Scalping Strategy with RSI Divergence", overlay=false)

// Input parameters
rsiLengthInput = input.int(60, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(ohlc4, "Source", group="RSI Settings")
maTypeInput = input.string("SMMA (RMA)", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(3, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")
showDivergence = input(true, title="Show Divergence", group="RSI Settings")
stopLoss = input.float(11, title="Stop Loss (pips)", group="Trade Settings")
takeProfit = input.float(33, title="Take Profit (pips)", group="Trade Settings")

// RSI and MA calculation
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

// Divergence detection
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5

plFound = na(ta.pivotlow(rsi, lookbackLeft, lookbackRight)) ? false : true
phFound = na(ta.pivothigh(rsi, lookbackLeft, lookbackRight)) ? false : true

_inRange(cond) =>
    bars = ta.barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

// Bullish divergence
rsiHL = rsi[lookbackRight] > ta.valuewhen(plFound, rsi[lookbackRight], 1) and _inRange(plFound[1])
priceLL = low[lookbackRight] < ta.valuewhen(plFound, low[lookbackRight], 1)
bullishDivergence = priceLL and rsiHL and plFound

// Bearish divergence
rsiLH = rsi[lookbackRight] < ta.valuewhen(phFound, rsi[lookbackRight], 1) and _inRange(phFound[1])
priceHH = high[lookbackRight] > ta.valuewhen(phFound, high[lookbackRight], 1)
bearishDivergence = priceHH and rsiLH and phFound

// Entry conditions
longCondition = bullishDivergence and rsi < 40
shortCondition = bearishDivergence and rsi > 60

// Convert pips to price for Gold (assuming 1 pip = 0.1 for XAUUSD)
stopLossPrice = stopLoss * 0.1
takeProfitPrice = takeProfit * 0.1

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", "Long", stop=strategy.position_avg_price - stopLossPrice, limit=strategy.position_avg_price + takeProfitPrice)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", "Short", stop=strategy.position_avg_price + stopLossPrice, limit=strategy.position_avg_price - takeProfitPrice)

// Plotting
plot(rsi, "RSI", color=#7E57C2)
// plot(rsiMA, "RSI-based MA", color=color.yellow)
hline(60, "RSI Upper Band", color=#787B86)
// hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
hline(40, "RSI Lower Band", color=#787B86)
fill(hline(60), hline(40), color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")

// Divergence visualization
plotshape(showDivergence and bullishDivergence ? rsi[lookbackRight] : na, offset=-lookbackRight, title="Bullish Divergence", text="Bull", style=shape.labelup, location=location.absolute, color=color.green, textcolor=color.white)
plotshape(showDivergence and bearishDivergence ? rsi[lookbackRight] : na, offset=-lookbackRight, title="Bearish Divergence", text="Bear", style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white)


Relacionado

Mais informações