Estrategia de trading de umbral basada en el RSI


Fecha de creación: 2023-10-30 14:58:38 Última modificación: 2023-10-30 14:58:38
Copiar: 0 Número de Visitas: 805
1
Seguir
1617
Seguidores

Estrategia de trading de umbral basada en el RSI

Descripción general

La estrategia se basa en un indicador RSI relativamente fuerte para lograr una estrategia de negociación de desvalorización simple. Comprar cuando el RSI está por debajo de los 30 y vender cuando el RSI está por encima de los 40. El período de tenencia de la posición se fija en 10 días.

Principio de estrategia

La estrategia se basa principalmente en la generación de señales de negociación en las zonas de sobreventa y sobreventa del RSI. El RSI refleja la lentitud de la caída de las tendencias intradiarias. Un RSI por debajo de 30 indica que está por encima de la zona de venta y el precio de las acciones puede rebotar; un RSI por encima de 70 indica que está por encima de la zona de compra y el precio de las acciones puede caer.

En concreto, la estrategia primero calcula el RSI de 10 días y luego establece los umbrales de 30 y 40. Cuando el RSI de 10 días es inferior a 30 genera una señal de compra y cuando el RSI de 10 días es superior a 40 genera una señal de venta. Una vez que se recibe la señal de compra, se abre una posición de compra. Una vez que se recibe la señal de venta, se vende directamente una posición cerrada si la posición tiene más de 10 días; Si la posición tiene menos de 10 días, se continúa hasta el día 10 y se vende.

La estrategia es simple y fácil de entender, con el indicador RSI para juzgar las zonas de sobreventa y sobrecompra, para lograr una estrategia de negociación de desvalorización basada en el indicador.

Ventajas estratégicas

  1. El uso de un amplio rsi, con un gran espacio para la optimización de los parámetros

La estrategia utiliza un indicador RSI ampliamente utilizado. Los parámetros RSI pueden ajustarse y optimizarse para diferentes ciclos y entornos de mercado.

  1. El seguimiento de tendencias es simple.

El RSI puede reflejar la tendencia de los cambios en los precios. La estrategia determina el movimiento de los precios en función del indicador RSI, lo que permite un seguimiento de tendencias sencillo.

  1. Mejor control de riesgos

La estrategia adopta un plazo de tenencia fijo, lo que permite un control efectivo de las pérdidas individuales. Al mismo tiempo, los parámetros RSI se pueden ajustar para reducir la probabilidad de operaciones erróneas.

Riesgo estratégico

  1. Los parámetros del RSI son fácilmente sobre optimizados

Los parámetros del RSI pueden ajustarse con flexibilidad, pero la optimización excesiva y la desviación de retroalimentación pueden generar riesgos en el mercado real.

  1. Hay un cierto retraso

El RSI es un indicador de seguimiento de tendencias, es una reacción lenta a los eventos inesperados, y existe un cierto retraso. Debe optimizarse en combinación con otros indicadores.

  1. No hay suficiente flexibilidad en los plazos fijos

El tiempo de mantenimiento fijo impone un punto de parada y no se puede ajustar según los cambios en el mercado. Se espera que se optimice aún más el ajuste dinámico del punto de parada.

Dirección de optimización de la estrategia

  1. Optimización de los parámetros del RSI para probar el impacto de los diferentes parámetros en la estrategia

  2. Añadir otros indicadores para formar una combinación de indicadores y aprovechar las ventajas de los diferentes indicadores

  3. Optimización de la estrategia de stop loss para permitir un ajuste dinámico a los cambios en el mercado

  4. Optimización de la gestión de posiciones y ajuste dinámico de las posiciones en función de las condiciones del mercado

  5. Prueba las variedades adecuadas para la estrategia y selecciona variedades con buena fluidez y gran volatilidad

  6. Optimización de los tiempos de negociación, prueba de los efectos de los diferentes tiempos de negociación en la estrategia

Resumir

La estrategia en general es más simple, la estrategia de negociación basada en la pérdida de valor a través del indicador RSI. La estrategia es simple, fácil de entender y el control de riesgo es relativamente bueno. Pero también hay problemas como la dificultad de optimizar los parámetros RSI, la falta de flexibilidad de los parámetros de parada y pérdida.

Código Fuente de la Estrategia
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke

//@version=4
// strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)
overbought = input(40, title="overbought value")
oversold = input(30, title="oversold value")
// Component Test Periods Code Begin
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(16, "Backtest Stop Month")
testStopDay = input(2, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Test Periods Code End
//////////////////////////////////////////////////////////////////////

myrsi = rsi(close, 10) > overbought
myrsi2 = rsi(close, 10) < oversold

barcolor(myrsi ? color.black : na)
barcolor(myrsi2 ? color.blue : na)


myEntry = myrsi2 and hour(time) <= 9

strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod())

// Close 10 bar periods after the condition that triggered the entry

//if (myEntry[10])
    //strategy.close("Buy Signal")
strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod())

//strategy.entry("Sell Signal",strategy.short, when = myrsi2)