Estratégia de negociação quantitativa de índice de força relativa triplo

RSI SMA
Data de criação: 2024-05-15 10:23:08 última modificação: 2024-05-15 10:23:08
cópia: 0 Cliques: 841
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa de índice de força relativa triplo

Visão geral

A estratégia utiliza principalmente o índice relativamente forte RSI para julgar a sobrevenda e a sobrevenda do mercado, combinando o preço acima da média móvel simples de 200 dias (SMA) como condição de filtragem de tendência para decidir se entrar em negociação. A estratégia utiliza o triplo RSI para construir condições de abertura de posição.

Princípio da estratégia

  1. Calcular o indicador RSI de um período especificado
  2. Para avaliar se os seguintes critérios de abertura são cumpridos:
    • O RSI atual é menor que 35.
    • O RSI atual é menor do que o RSI do primeiro ciclo, o RSI do primeiro ciclo é menor do que o RSI do segundo ciclo, e o RSI do segundo ciclo é menor do que o RSI do terceiro ciclo
    • Os três primeiros períodos de RSI abaixo de 60
    • Preço de fechamento atual maior que SMA de 200 dias
  3. Se as quatro condições acima forem cumpridas, você pode fazer mais.
  4. Durante a manutenção de uma posição, se o RSI for acima de 50, a posição será eliminada.
  5. Repetir os passos 2-4 para a próxima transação.

Vantagens estratégicas

  1. O RSI julga sobrecompra e sobrevenda, abrindo posições em áreas de sobrevenda e capturando oportunidades de reversão de mercado
  2. Com a construção conjunta de sinais de abertura de posição através do triplo RSI, reduz a probabilidade de falso sinal e aumenta a confiabilidade do sinal
  3. Adição de preços acima da linha média de 200 dias como condição de tendência, evitando a negociação em uma tendência descendente
  4. As condições de equilíbrio são simples e claras, permitindo a realização de lucros em tempo hábil.
  5. A lógica da estratégia é clara, fácil de entender e implementar

Risco estratégico

  1. O RSI apresenta sinais de atraso e pode ter perdido o melhor momento para abrir uma posição
  2. As condições de abertura das posições são relativamente rigorosas, a frequência de negociação é baixa e pode haver falhas de mercado.
  3. O mercado de ações de Bolsonaro está em um momento de crise, mas o governo está em um momento de crescimento.
  4. A estratégia captura apenas a alta unilateral e não a baixa após a reversão da tendência.

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

  1. Pode considerar-se a adição de stop loss móvel ou stop loss fixo para controlar o risco de uma única transação
  2. Estudar a combinação do RSI com outros indicadores auxiliares para melhorar a fiabilidade e a oportunidade de sinais de abertura de posições
  3. Optimizar as condições de abertura de posições e aumentar a frequência de negociação, garantindo a confiabilidade do sinal
  4. Introdução de gerenciamento de posições, ajustando posições de forma dinâmica de acordo com a intensidade e a volatilidade das tendências de mercado
  5. Considerar a combinação de linha curta e linha média para desenvolver versões de estratégia adaptadas a diferentes condições de mercado

Resumir

A estratégia utiliza o triplo RSI para construir condições de abertura de posição, combinando preços acima da linha média de longo prazo como filtro de tendência, para capturar situações de reviravolta de venda excessiva. A lógica da estratégia é simples, clara e fácil de implementar e otimizar.

Código-fonte da estratégia
/*backtest
start: 2023-05-15 00:00:00
end: 2024-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@author Honestcowboy
//
strategy("Triple RSI [Honestcowboy]" )

  
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> User Inputs <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rsiLengthInput = input.int(5, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> VARIABLE CALCULATIONS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

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))

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> CONDITIONALS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rule1   = rsi<35
rule2   = rsi<rsi[1] and rsi[1]<rsi[2] and rsi[2]<rsi[3]
rule3   = rsi[3]<60
rule4   = close>ta.sma(close, 200)

longCondition = rule1 and rule2 and rule3 and rule4
closeCondition = rsi>50

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> GRAPHICAL DISPLAY <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

hline(30, title="Long Condition Line")
hline(50, title="Exit Condition Line")
plot(rsi)
plotshape(longCondition ? rsi-3 : na, title="Long Condition", style=shape.triangleup, color=color.lime, location=location.absolute)
plotshape(closeCondition and rsi[1]<50? rsi+3 : na, title="Exit Condition", style=shape.triangledown, color=#e60000, location=location.absolute)

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> AUTOMATION AND BACKTESTING <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

if longCondition and strategy.position_size==0
    strategy.entry("LONG", strategy.long)
if closeCondition
    strategy.close("LONG")