
La estrategia es un sistema de seguimiento de tendencias basado en un indicador relativamente débil (RSI) combinado con un promedio móvil (MA). El núcleo de la estrategia es capturar cambios en la dinámica de los precios a través del indicador RSI, mientras que la combinación de la media móvil de 90 días como un filtro de tendencia permite un seguimiento eficaz de las tendencias del mercado. La estrategia utiliza el RSI ajustable para superar el umbral de compra y venta, y establece un período de retraso de 2500 días para garantizar la viabilidad y la estabilidad de la estrategia.
La estrategia se basa en los siguientes componentes centrales:
La activación de las condiciones de compra requiere que el RSI pase por encima de 70, mientras que la señal de venta se produce cuando el RSI pasa por debajo de 62. El sistema calcula automáticamente y ejecuta la operación de apertura de posición completa cuando cumple con las condiciones de apertura y se encuentra dentro del período de retroalimentación efectivo.
Sugerencias para el control de riesgos:
Optimización del sistema de señales:
Optimización de la gestión de posiciones:
Optimización del control de riesgos:
Optimización del sistema de detección:
La estrategia, combinada con el indicador de dinámica RSI y el filtro de tendencia de la línea media, construye un sistema de negociación relativamente completo. La estrategia tiene la ventaja de su gran adaptabilidad y control de riesgo, pero aún debe tener en cuenta la sensibilidad de los parámetros y los efectos de los cambios en el entorno del mercado.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple RSI Strategy - Adjustable Levels with Lookback Limit and 30-Day MA", overlay=true)
// Parameters
rsi_length = input.int(12, title="RSI Length", minval=1) // RSI period
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1, maxval=100) // Overbought level
rsi_oversold = input.int(62, title="RSI Oversold Level", minval=1, maxval=100) // Oversold level
ma_length = input.int(90, title="Moving Average Length", minval=1) // Moving Average period
// Calculate lookback period (2000 days)
lookback_period = 2500
start_date = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - lookback_period)
// RSI Calculation
rsi_value = ta.rsi(close, rsi_length)
// 30-Day Moving Average Calculation
ma_value = ta.sma(close, ma_length)
// Buy Condition: Buy when RSI is above the overbought level
long_condition = rsi_value > rsi_overbought
// Sell Condition: Sell when RSI drops below the oversold level
sell_condition = rsi_value < rsi_oversold
// Check if current time is within the lookback period
in_lookback_period = (time >= start_date)
// Execute Buy with 100% equity if within lookback period
if (long_condition and strategy.position_size == 0 and in_lookback_period)
strategy.entry("Buy", strategy.long, qty=strategy.equity / close)
if (sell_condition and strategy.position_size > 0)
strategy.close("Buy")
// Plot RSI on a separate chart for visualization
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)
plot(rsi_value, title="RSI", color=color.blue)
// Plot the 30-Day Moving Average on the chart
plot(ma_value, title="30-Day MA", color=color.orange, linewidth=2)