Estratégia de reversão de tendência de crossover estocástico SPY RSI


Data de criação: 2024-02-23 14:38:49 última modificação: 2024-02-23 14:38:49
cópia: 0 Cliques: 647
1
focar em
1617
Seguidores

Estratégia de reversão de tendência de crossover estocástico SPY RSI

Visão geral

O SPY RSI Stochastics Cross Value Reversal Trend Strategy é uma estratégia de negociação quantitativa que usa o cruzamento de linhas rápidas e lentas do indicador RSI para determinar a reversão de preços. A estratégia combina linhas lentas, rápidas e MA para gerar sinais de compra e venda em determinadas condições para capturar grandes oportunidades de reversão de preços.

Princípio da estratégia

A lógica central da estratégia é baseada no cruzamento de linhas rápidas com indicadores de RSI. O RSI geralmente reverte em áreas de sobrecompra e sobrevenda, portanto, ao julgar a linha de RSI rápida com o Gold e o Dead Fork da linha de RSI lenta, é possível determinar antecipadamente quando o preço pode reverter.

  1. Linha RSI lenta (Slow RSI): Linha RSI com parâmetros configurados para 64 ciclos
  2. Linha RSI rápida (Fast RSI): Linha RSI com parâmetros definidos em 9 ciclos
  3. Linha RSI MA: média móvel simples de 3 ciclos em linha RSI rápida
  4. O RSI ultrapassa o limiar da zona de compra: o parâmetro está definido em 83
  5. O RSI ultrapassa o limite de venda: o parâmetro é 25
  6. RSI Zona Neutral: entre 39 e 61
  7. O horário de negociação é definido como 9:00 da semana até 9:00 do dia seguinte.

Quando a linha RSI rápida atravessa a linha RSI lenta ((fork dourado) e a linha RSI rápida atravessa a linha MA, gera um sinal de compra; quando a linha RSI rápida atravessa a linha RSI lenta ((fork morto) e a linha RSI rápida atravessa a linha MA, gera um sinal de venda.

Além disso, para filtrar parte do ruído das transações, a estratégia também estabelece a seguinte lógica:

  1. Sem sinais de negociação entre as zonas neutras do RSI
  2. Negociar apenas entre as 9:00 e as 9:00 do dia seguinte

A inscrição tem duas condições de desistência:

  1. Quando a linha RSI rápida entra na zona de inversão (zona de sobrecompra ou zona de sobrevenda)
  2. Obtendo um sinal de cruzamento RSI invertido

Análise de vantagens estratégicas

A maior vantagem da estratégia de reversão de tendência de inversão de valor de SPY RSI Stochastics é que ela pode capturar a tendência antes que a reversão de preço seja mais evidente. Através do cruzamento rápido e lento da linha RSI, ela pode enviar sinais de negociação com antecedência por um certo tempo, criando oportunidades de entrada. Além disso, a estratégia também possui as seguintes vantagens:

  1. Regras de geração de sinais estratégicos claras, fáceis de entender e acompanhar
  2. Utilizando um design de filtro duplo, pode reduzir parte do sinal de ruído
  3. Flexível configuração de intervalos de overbought e oversold para diferentes cenários de mercado
  4. Compatível com rastreamento de tendências e captura inversa

Em geral, a estratégia, combinada com o acompanhamento de tendências e a avaliação de reversões de valor, permite, até certo ponto, a compreensão do momento em que as reversões de preços ocorrem, com uma maior praticidade.

Análise de risco estratégico

Embora a estratégia de reversão de tendência do SPY RSI Stochastics tenha algumas vantagens, existem os principais riscos a seguir:

  1. Apesar do design de filtros duplos, não é possível evitar completamente os riscos de transações de ruído
  2. O RSI não consegue prever perfeitamente o ponto de reversão real dos preços, existindo uma certa dificuldade
  3. É necessário escolher a configuração de parâmetros apropriada, caso contrário, pode ocorrer transações muito frequentes ou escassas
  4. Falso avanço causado por incidentes não pode ser totalmente evitado

A estratégia pode ser otimizada e aperfeiçoada para os riscos acima mencionados em alguns aspectos:

  1. O uso de algoritmos de aprendizagem de máquina para treinar os melhores parâmetros e reduzir o ruído de sinais
  2. Aumentar a confiabilidade do sinal de cruzamento em combinação com outros indicadores técnicos
  3. Aumentar os mecanismos de suspensão de prejuízos e controlar as lacunas de risco em transações individuais
  4. Parâmetros de otimização adaptam-se às atualizações e aumentam a adaptabilidade das estratégias

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

A estratégia de reversão de tendência do valor cruzado do SPY RSI Stochastics pode ser otimizada principalmente em:

  1. Optimização de parâmetrosA pesquisa foi desenvolvida com o objetivo de encontrar a melhor combinação de parâmetros por meio de métodos mais sistemáticos, como algoritmos genéticos, pesquisa de grelha e outros.
  2. Projeto de característicasAdição de características que afetam mais os preços, como mudanças no volume de transações, volatilidade, etc., para auxiliar na tomada de decisões
  3. Aprendizagem automáticaO objetivo do projeto é desenvolver uma ferramenta de aprendizagem de máquina para treinar julgamentos cruzados e melhorar a sua precisão.
  4. Optimização de Stop LossIntrodução de mecanismos de controle de risco, tais como paradas de flutuação e paradas de tempo
  5. Adaptação de atualização: permite que os parâmetros-chave sejam ajustados de acordo com a situação do mercado em tempo real

Essas otimizações podem tornar os parâmetros da estratégia mais inteligentes e os sinais mais confiáveis, além de ajustar as regras da estratégia de acordo com as mudanças do mercado, aumentando significativamente a lucratividade estável da estratégia.

Resumir

A estratégia de reversão de tendência de valor cruzado SPY RSI Stochastics, através da determinação do cruzamento da linha RSI, projetou uma estratégia de negociação quantitativa relativamente simples e clara. Combina as características de acompanhamento de tendência e negociação de reversão, permitindo, até certo ponto, o tempo de reversão do preço. Mas a estratégia também possui algumas falhas inerentes, que necessitam de controle de risco e otimização de sinais de qualidade por meio de parâmetros, características e modelos.

Código-fonte da estratégia
/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SPY Auto RSI Stochastics", pyramiding = 3)


// Input parameters
slowRSILength = input(64, title="SLOW RSI Length")
fastRSILength = input(9, title="FAST RSI Length")
smaRSILength = input(3, title="RSI SMA Length")
RSIUpperThreshold = input(83, title="RSI Upper")
RSILowerThreshold = input(25, title="RSI Lower")
RSIUpperDeadzone = input(61, title='RSI Upper Deadzone')
RSILowerDeadzone = input(39, title='RSI Lower Deadzone')
blockedDays = (dayofweek(time) == 1 or dayofweek(time) == 7)
sessionMarket = input("0900-0900", title="Session Start")
allowedTimes() => time(timeframe = timeframe.period, session = sessionMarket, timezone = "GMT+1")
isvalidTradeTime =true

// RSI and ATR
slowRSI = ta.rsi(close, slowRSILength)
fastRSI = ta.rsi(close, fastRSILength)
smaRSI = ta.sma(fastRSI, smaRSILength)
rsi = fastRSI

// Entry condition
RSIUptrend() =>  ta.crossover(fastRSI, slowRSI) and ta.crossover(fastRSI, smaRSI)
RSIDowntrend() =>  ta.crossunder(fastRSI, slowRSI) and ta.crossunder(fastRSI, smaRSI)


isRSIDeadzone() =>
    rsi < RSIUpperDeadzone and rsi > RSILowerDeadzone

isBullishEngulfing() =>
    close > high[1]

isBearishEngulfing() =>
    close < low[1] 

// Declare variables
var float initialSLLong = na
var float initialTPLong = na
var float initialSLShort = na
var float initialTPShort = na
//var bool inATrade = false

entryConditionLong = RSIUptrend() and not isRSIDeadzone() and isvalidTradeTime
entryConditionShort = RSIDowntrend() and not isRSIDeadzone() and isvalidTradeTime

exitConditionLong = entryConditionShort or fastRSI > RSIUpperThreshold
exitConditionShort = entryConditionLong or fastRSI < RSILowerThreshold


if (entryConditionLong)
    strategy.entry(id = "Long", direction = strategy.long, alert_message = 'LONG! beep boop, all aboard the long train')

if (entryConditionShort)
    strategy.entry(id = "Short", direction = strategy.short, alert_message = 'Short! beep boop, all aboard the short train')

if (exitConditionLong)
    strategy.exit("Long", from_entry="Long", limit=close, alert_message = 'Stop Long, halt halt, take the profits and runnn')

if (exitConditionShort)
    strategy.exit("Short", from_entry="Short", limit=close, alert_message = 'Stop Short, halt halt, take the profits and runnn')


//plot(smaRSI, "RSI MA", color=color.red)
plot(slowRSI, "Slow RSI", color=color.green)
//plot(fastRSI, "Fast RSI", color=color.white)
plot(smaRSI, "SMA RSI", color=color.white)