La estrategia Bull Market Buy Dips tiene como objetivo comprar las caídas en el mercado alcista utilizando el indicador RSI y confirmar la tendencia mediante promedios móviles dobles.
La estrategia establece primero la fecha de inicio y finalización de las pruebas retroactivas, y luego configura los parámetros para el RSI y las medias móviles rápidas/lentas.
La lógica de la señal de estrategia es:
Cuando el RSI cae por debajo del umbral (default 35), activa la señal de compra, ya que indica el área de sobreventa.
El MA rápido debe estar por encima del MA lento, lo que confirma la tendencia alcista actual y evita las compras en consolidación.
Cuando el precio va por encima de MA rápido y MA rápido está por encima de MA medio, desencadena la señal de cierre para tomar ganancias.
La aplicación razonable de los principios de cruce de RSI y MA ayuda a atrapar oportunidades de retroceso en el mercado alcista y obtener ganancias una vez que el precio reanude la tendencia.
El RSI es muy adecuado para capturar puntos de reversión. Comprar cuando el RSI entra en el área de sobreventa permite bloquear con precisión las oportunidades de sobreventa. El uso de MA para determinar la tendencia puede filtrar el mercado y evitar compras repetidas en la consolidación. Finalmente, el cruce de MA confirma la tendencia nuevamente para obtener ganancias oportunas y evitar pérdidas de retroceso.
Si el parámetro RSI se establece demasiado ancho o demasiado estrecho, puede perder la precisión para juzgar los niveles de sobreventa. Los períodos de MA rápidos o lentos elegidos incorrectamente también pueden conducir a una determinación de tendencia falsa. Si el momento de toma de ganancias es inadecuado, demasiado pronto puede perder más ganancias mientras que demasiado tarde puede sacrificar las ganancias ganadas.
Los parámetros del RSI se pueden optimizar, se pueden seleccionar períodos MA adecuados y se pueden probar diferentes mecanismos de obtención de beneficios para mejorar el rendimiento de la obtención de beneficios.
Se pueden probar diferentes períodos de RSI para optimizar el juicio del área de sobreventa. Se pueden probar diferentes combinaciones de períodos de MA para encontrar los mejores parámetros para la determinación de la tendencia. También se pueden probar otros mecanismos de toma de ganancias como el stop de seguimiento, el stop de resistencia. La optimización del tamaño de la posición puede controlar mejor los riesgos. Por último, considerando los costos de negociación puede hacer que la estrategia esté más cerca del comercio en vivo.
La estrategia Bull Market Buy Dips tiene una lógica clara y sensata en general, utiliza hábilmente los principios de RSI y MA para capturar el tiempo de compra y toma de ganancias en el mercado de tendencia. A través de la optimización de parámetros, las pruebas de toma de ganancias y la gestión del tamaño de la posición, se puede mejorar aún más la robustez y el rendimiento comercial real. Con una idea simple y práctica, esta estrategia es adecuada para atrapar retrocesos en el mercado alcista y puede traer ganancias decentes a la cartera.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Buy The Dips in Bull Market',title='Buy The Dips in Bull Market (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //MA inputs and calculations inSignal=input(9, title='MAfast') inlong1=input(50, title='MAslow') inlong2=input(200, title='MAslow') MAfast= sma(close, inSignal) MAslow= sma(close, inlong1) MAlong= sma(close, inlong2) RSI_buy_signal= input(35, title='RSI Buy Signal') //Entry strategy.entry(id="long", long = true, when = RSI < RSI_buy_signal and MAlong < MAslow and window()) //Exit strategy.close("long", when = close > MAfast and MAfast > MAslow and window()) plot(MAslow, color=color.orange, linewidth=1) plot(MAfast, color=color.purple, linewidth=1) plot(MAlong, color=color.blue, linewidth=2)