RSI Promedio móvil Estrategia de oscilación cruzada doble

El autor:¿ Qué pasa?, Fecha: 2024-02-23 14:07:43
Las etiquetas:

img

Resumen general

La estrategia de doble oscilación cruzada del RSI es una estrategia de trading cuantitativa que utiliza tanto los cruces del indicador RSI como los promedios móviles para determinar entradas y salidas. Utiliza el indicador RSI para juzgar si el mercado está sobrecomprado o sobrevendido, combinado con el juicio de tendencia de los promedios móviles, para emitir señales comerciales cuando el RSI muestra condiciones extremas. Esto puede filtrar eficazmente las señales falsas y mejorar la estabilidad de la estrategia.

Estrategia lógica

La estrategia se basa principalmente en el uso combinado del indicador RSI y los promedios móviles. En primer lugar, calcular el valor del RSI durante un cierto período y establecer líneas de sobrecompra / sobreventa. En segundo lugar, calcular promedios móviles rápidos y lentos. Cuando el RSI cruza por encima del promedio móvil lento, mientras que el valor del RSI está por debajo de la línea de sobreventa y la banda inferior, se genera una señal de compra; Cuando el RSI cruza por debajo del promedio móvil lento, mientras que el RSI está por encima de la línea de sobrecompra y la banda superior, se genera una señal de venta.

Análisis de ventajas

La mayor ventaja de esta estrategia es que utiliza tanto el indicador RSI para juzgar las condiciones de sobrecompra / sobreventa como los promedios móviles para determinar la dirección de la tendencia, lo que puede evitar efectivamente las fallas falsas.

Análisis de riesgos

Los principales riesgos de esta estrategia pueden incluir: alta frecuencia de negociación que conduce a una sobre negociación; configuración inadecuada de parámetros puede reducir la precisión de la señal.

Optimización

Considere ajustar los parámetros del RSI o del período promedio móvil para adaptarse a diferentes ciclos; Combinar con otros indicadores para filtrar las señales; Establecer stop loss y take profit para controlar los riesgos; Optimizar el tamaño de la posición en cada operación.

Conclusión

En general, la estrategia de oscilación doble cruzada del RSI es una estrategia comercial relativamente estable y confiable a corto plazo. Con el ajuste adecuado de los parámetros y el control de riesgos, puede lograr un buen retorno de la inversión. La estrategia es fácil de entender e implementar, muy adecuada para los principiantes para aprender y aplicar el comercio cuantitativo.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Definir la longitud del RSI
rsi_length = input(title='RSI Length', defval=14)

//media 
Fast = input(title='Fast', defval=7)
slow = input(title='Slow', defval=2)

// Definir los niveles de sobrecompra y sobreventa del RSI
rsi_overbought = input(title='RSI Overbought Level', defval=72)
rsi_oversold = input(title='RSI Oversold Level', defval=29)

// Definir la longitud y la desviación estándar de las Bandas de Bollinger
bb_length = input(title="Bollinger Bands Length", defval=14)
bb_stddev = input(title="Bollinger Bands StdDev", defval=2)

// Calcular RSI
rsi_value = ta.rsi(close, rsi_length)

// Calcular Bandas de Bollinger
bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length)
bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length)

//media movil adelantada
fastMA = ta.sma(rsi_value, Fast)
slowMA = ta.sma(rsi_value, slow)

// Definir la señal de compra y venta
buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold)
sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought)

// Configurar las condiciones de entrada y salida del mercado
if buy_signal
    strategy.entry("Buy", strategy.long)

if sell_signal
    strategy.close("Buy")

// Configurar el stop loss y el take profit
stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3)
take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8)

strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100)

// Configurar la visualización del gráfico
plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(rsi_value, title='RSI', color=color.purple, linewidth=1)

// Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI
hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
fill(hl,hll, color= color.new(color.purple, 91))

bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1)
bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1)
fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))


Más.