Estrategia de trading de ciclo cruzado RSI


Fecha de creación: 2023-10-25 11:20:59 Última modificación: 2023-10-25 11:20:59
Copiar: 0 Número de Visitas: 758
1
Seguir
1617
Seguidores

Estrategia de trading de ciclo cruzado RSI

Descripción general

Esta estrategia utiliza el principio de sobreventa y sobreventa del indicador RSI, combinado con el RSI de varios períodos para juzgar y realizar operaciones transitorias. La estrategia determina las señales de sobreventa y sobreventa de acuerdo con la configuración periódica del RSI y utiliza la media móvil del RSI para filtrar y evitar señales erróneas. Cuando el RSI cruza su media móvil, genera una señal de compra, y cuando cruza, genera una señal de venta, formando un típico método de operación de cruce de línea.

Principio de estrategia

La estrategia genera señales de negociación principalmente a través de la determinación de la sobrecompra y la sobreventa en el indicador RSI. El indicador RSI representa un índice relativamente fuerte. Su fórmula de cálculo es: RSI = 100 - (100 / (1 + RS)), donde RS es igual a la relación entre el promedio de las ganancias de cierre promedio y el promedio de las pérdidas de cierre durante un período de tiempo. El índice RSI oscila entre 0 y 100, por lo general, se considera que menos de 30 es una sobrecompra y más de 70 es una sobrecompra.

Esta estrategia establece un sobrecompra de alto parámetro y un sobreventa de bajo parámetro, que se consideran sobrecomprados cuando el RSI está por encima del sobrecompra, y se consideran sobrevendidos cuando el RSI está por debajo del sobrecompra. La estrategia tiene el valor predeterminado de sobrecompra de 70 y el valor predeterminado de sobrecompra de 30.

Para generar señales de compra y venta, la estrategia utiliza las medias móviles del indicador RSI para filtrar. Cuando el indicador RSI atraviesa su media móvil, genera una señal de compra Es_compra, y cuando atraviesa su media móvil, genera una señal de venta Es_venta. El parámetro de media móvil periodos_media tiene 14 períodos por defecto.

Después de generar las señales de compra y venta, la estrategia abre posiciones para operaciones con más o menos cabeza. Además, la estrategia también establece un stop loss y un stop loss, “%”, para evitar que las pérdidas se expandan y bloquean las ganancias.

Ventajas estratégicas

  1. El indicador RSI es utilizado para evaluar las tendencias de sobrecompra y sobreventa, evitando las tendencias de alta y baja.

  2. Aplica el promedio móvil del RSI para filtrar las ondas y evitar falsas señales.

  3. La combinación de la configuración de varios períodos del indicador RSI permite una señal de negociación más estable.

  4. Configuración de mecanismos de prevención de daños para controlar el riesgo de manera efectiva.

  5. La lógica de la estrategia es simple y clara, fácil de entender y modificar.

  6. Los parámetros se pueden personalizar para diferentes variedades y períodos.

Riesgo estratégico

  1. El RSI está rezagado y puede haber perdido el mejor momento para que el precio se invierta.

  2. Los promedios móviles hacen que las señales de comercio se retrasen y no puedan captar la reversión de la tendencia a tiempo.

  3. Los parámetros fijos de sobrecompra y sobreventa no son lo suficientemente flexibles y necesitan ser ajustados para diferentes períodos y variedades.

  4. La configuración incorrecta de la parada de pérdidas puede causar pérdidas o pérdidas de ganancias.

  5. Las posiciones en blanco de varios jefes son monogámicas, lo que impide que los fondos se utilicen al máximo para el comercio de diferenciales.

Optimización de la estrategia

  1. En combinación con otros indicadores como MACD, KD y otros para juzgar la señal de negociación.

  2. Aplicación de la medias móviles adaptadas para el seguimiento de tendencias.

  3. Configuración de parámetros dinámicos de sobrecompra y sobreventa, ajustados según la volatilidad del mercado.

  4. Optimización de los algoritmos de stop loss, como el seguimiento de stop loss, etc.

  5. Aumentar el mecanismo de gestión de posiciones y ajustar las posiciones de forma dinámica en función del tamaño de los fondos.

  6. Añadir filtros de tendencia para evitar el uso frecuente de los mercados convulsionados.

  7. Realizar una revisión de los parámetros de optimización para seleccionar la combinación óptima de parámetros.

Resumir

Esta estrategia se basa en el indicador RSI de sobrecompra y sobreventa, que utiliza una media móvil para generar señales de negociación de filtración, lo que permite un método de negociación transitorio típico. La estrategia tiene una estructura lógica clara y una configuración de parámetros que se pueden aplicar a diferentes variedades y períodos mediante la adaptación de los parámetros.

Código Fuente de la Estrategia
/*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