Estratégia de negociação de ciclo cruzado RSI


Data de criação: 2023-10-25 11:20:59 última modificação: 2023-10-25 11:20:59
cópia: 0 Cliques: 758
1
focar em
1617
Seguidores

Estratégia de negociação de ciclo cruzado RSI

Visão geral

Esta estratégia usa o princípio de compra-venda do indicador RSI, combinando o RSI de vários períodos para julgar e realizar operações inter-ciclo. A estratégia julga o sinal de compra-venda de acordo com a configuração de ciclo do RSI e usa a média móvel do RSI para filtrar e evitar sinais errados. Quando o RSI atravessa sua média móvel, gera um sinal de compra e, quando atravessa, produz um sinal de venda, formando um típico método de operação de cruzamento de linha média.

Princípio da estratégia

A estratégia gera sinais de negociação principalmente através do julgamento de overbought e oversold do indicador RSI. O indicador RSI representa um índice relativamente forte. Sua fórmula de cálculo é: RSI = 100 - (100 / (1 + RS)), em que RS é o rácio entre o valor médio de fechamento e o valor médio de fechamento em um período de tempo. O índice RSI varia entre 0 e 100, sendo geralmente considerado abaixo de 30 como um oversold e acima de 70 como um oversold.

Esta estratégia define um alto parâmetro de sobrecompra e um baixo parâmetro de sobreventa, que são julgados como overbought quando o RSI é superior ao sobrecompra e como oversold quando o RSI é inferior ao sobreventa. A estratégia define o valor padrão de sobrecompra em 70 e o valor padrão de sobreventa em 30.

Para gerar sinais de compra e venda, a estratégia usa a média móvel do indicador RSI para filtrar. Quando o indicador RSI atravessa sua média móvel, gera um sinal de compra Es_compra, e quando atravessa sua média móvel, gera um sinal de venda Es_venta.

Depois de gerar os sinais de compra e venda, a estratégia abre posições para negociações de alta ou baixa. Além disso, a estratégia também configura um stop loss e um stop loss, “%”, para evitar que os perdas se expandam e bloqueiem os lucros.

Vantagens estratégicas

  1. O indicador RSI é usado para avaliar a tendência de sobrecompra e de sobrevenda, evitando a tendência de alta e baixa.

  2. Aplicar a média móvel do RSI para filtragem e evitar falsos sinais.

  3. Combinando a configuração de períodos múltiplos com o indicador RSI, permite um sinal de negociação mais estável.

  4. Configurar mecanismos de prevenção de danos para controlar os riscos.

  5. A lógica da estratégia é simples e clara, fácil de entender e modificar.

  6. Parâmetros personalizáveis para diferentes variedades e períodos.

Risco estratégico

  1. O indicador RSI está atrasado e pode ter perdido o melhor momento para a reversão de preços.

  2. As médias móveis atrasam os sinais de negociação e não conseguem capturar a reversão da tendência.

  3. A configuração de parâmetros de sobrevenda fixa não é suficientemente flexível e precisa ser ajustada para diferentes períodos e variedades.

  4. A configuração inadequada do Stop Loss Limit pode levar a perdas ou perda de lucro.

  5. A posição em aberto de um único trader não permite que os fundos sejam utilizados para a negociação de diferença de preço.

Otimização de Estratégia

  1. Combinado com outros indicadores, como MACD, KD e outros, para determinar o sinal de negociação.

  2. Aplicação de uma média móvel adaptada para acompanhar tendências.

  3. Configure o parâmetro de compra e venda dinâmicos, ajustando-se à volatilidade do mercado.

  4. Otimização de algoritmos de stop loss, como o rastreamento de stop loss.

  5. Aumentar o mecanismo de gerenciamento de posições e ajustar as posições de acordo com a dinâmica do tamanho do capital.

  6. Adicionar filtros de tendências para evitar a frequência de negociações em mercados turbulentos.

  7. Fazer um retestamento dos parâmetros de otimização e escolher a combinação de parâmetros mais adequada.

Resumir

Esta estratégia baseia-se em um indicador RSI de overbought e oversold, que usa a média móvel para filtrar e gerar sinais de negociação, para realizar uma típica forma de negociação inter-ciclo. A estratégia tem uma estrutura lógica clara e configuração de parâmetros, que pode ser aplicada a diferentes variedades e períodos por meio do ajuste de parâmetros. É uma estratégia de negociação inter-ciclo confiável e eficaz.

Código-fonte da estratégia
/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-30 23:59:59
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © samuelkanneman

//@version=4
strategy("RSI KANNEMAN")
//////Entrada///////
i_startTime         = input(title="Start Date Filter", defval=timestamp("01 Nov 2020 13:30 +0000"), type=input.time, tooltip="Date & time to begin trading from")
i_endTime           = input(title="End Date Filter", defval=timestamp("1 Nov 2022 19:30 +0000"), type=input.time, tooltip="Date & time to stop trading")
sobrecompra= input(70, title="Sobre Compra", type=input.integer ,minval=50, maxval=100 )
sobreventa= input(30, title="Sobre Venta", type=input.integer ,minval=0, maxval=50 )
l1=hline(sobrecompra)
l2=hline(sobreventa, color=color.purple)
periodos= input(14, title="Periodos", type=input.integer ,minval=1, maxval=50 )
periodos_media= input(14, title="Logintud media movil", type=input.integer ,minval=1, maxval=200 )
var SL =0.0
var TP=0.0
StopLoss = input(2.0, title="SL %", step=0.2)
TakeProfit = input(5.0, title="TP %", step=0.2)

//////Proceso///////

mi_rsi=rsi(close,periodos)
mm_rsi=sma(mi_rsi,periodos_media)

Es_compra= crossover(mm_rsi,sobreventa)
Es_venta= crossunder(mm_rsi,sobrecompra)

comprado= strategy.position_size > 0
vendido = strategy.position_size < 0

//time to test 
dateFilter = true
//timePeriod = time >= timestamp(syminfo.timezone, 2020, 11, 1, 0, 0)


// long

if (not comprado and Es_compra and dateFilter  )
    // realizar long
    cantidad = strategy.equity/hlc3
    strategy.entry ("compra", strategy.long , cantidad)
    SL := close*(1-(StopLoss/100))
    TP := close*(1+(TakeProfit/100))
    
if close >= TP
    strategy.close ("compra" , comment="Salto TP")  

if (comprado and Es_venta  )
    strategy.close ("compra" , comment="Sobre Venta")

if close <= SL
    strategy.close ("compra" , comment="Salto SL")
    
// short

if (not vendido and Es_venta and dateFilter  )
    // realizar short
    cantidad = strategy.equity/hlc3
    strategy.entry ("venta", strategy.short , cantidad)
    SL := close*(1+(StopLoss/100))
    TP := close*(1-(TakeProfit/100))
    
if close <= TP
    strategy.close ("venta" , comment="Salto TP")  

if (vendido and Es_compra  )
    strategy.close ("venta" , comment="Sobre Compra")

if close >= SL
    strategy.close ("venta" , comment="Salto SL")

    

    
    
   ///////Salida//////
fill(l1,l2)
plot(mi_rsi)
plot(mm_rsi, color=color.yellow)

bgcolor(Es_compra ? color.blue : na , transp=0)
bgcolor(Es_venta ? color.red : na , transp=0)


// 1d 70 22 5 4 3 15    6 meses
//1h 70 20 6 4 5 7      1 mese
//15m 70 20 5 4 4 7      1 semana