Esta estrategia utiliza el indicador RSI para determinar el momento de entrada a través de juicios de ciclos cruzados y adopta el mecanismo de ganancia y parada ATR para estrategias de seguimiento de tendencias. Determina el punto de inflexión de la tendencia del mercado a través del cruce del indicador RSI de diferentes ciclos y combina el precio de cierre para filtrar el momento de posiciones largas y cortas. El mecanismo de ganancia y parada controla eficazmente los riesgos y bloqueos en las ganancias.
La estrategia utiliza primero la tecnología de suavizado de SMA para calcular el promedio móvil de 26 semanas como el punto de referencia para juzgar el mercado alcista. Luego, calcular el valor del indicador RSI de 4 semanas, cuando cruza por debajo de 30 en el área de sobreventa, se considera que el mercado puede rebotar. En este momento, juzgar si el nuevo máximo del parámetro de los días cortos puede romper el nuevo máximo reciente del parámetro de los días largos, lo que indica que la tendencia a corto plazo se está fortaleciendo. Si se cumplen las condiciones anteriores al mismo tiempo, se emite una señal larga.
Después de entrar en el mercado, utilice los múltiplos del indicador ATR como rango de ganancias y detenga la pérdida en un cierto porcentaje del punto alto del precio de cierre.
La estrategia tiene las siguientes ventajas:
Utilice el indicador RSI para determinar los puntos de reversión con una buena capacidad de sincronización.
Aplicar el nuevo mecanismo de altibajos para evitar señales falsas.
Utilice ATR para obtener ganancias y stop loss para rastrear automáticamente el punto de salida óptimo.
Los parámetros flexibles se pueden ajustar a niveles óptimos.
La idea estratégica es clara y fácil de entender, con una fuerte estabilidad.
La estrategia también presenta los siguientes riesgos:
El indicador RSI puede emitir una señal errónea, lo que resulta en un tiempo incorrecto.
El rango de ganancias ATR puede ser demasiado grande o demasiado pequeño para bloquear el máximo beneficio.
Si el punto de stop loss está demasiado cerca y puede romperse, relajar adecuadamente la distancia de stop loss.
Los datos insuficientes de los retrospectivos pueden sobreestimar la tasa de rentabilidad de la estrategia.
La estrategia se puede optimizar en los siguientes aspectos:
Prueba y optimiza los parámetros del RSI y los múltiplos de pérdida y ganancia para encontrar la mejor combinación de parámetros.
Aumentar otros indicadores para mejorar la precisión de la estrategia, como MACD, KD, etc.
Optimizar el mecanismo de stop loss y ajustarlo dinámicamente de acuerdo con el rango de fluctuación del ATR.
Prueba el efecto del rendimiento en diferentes variedades de negociación.
Comparar el rendimiento de los diferentes tipos de pérdidas de parada, tales como pérdida de parada proporcional, pérdida de parada móvil, etc.
El funcionamiento general de esta estrategia es claro y sin problemas, la selección de indicadores y la configuración de parámetros son razonables, y tiene una gran practicidad. Todavía hay espacio para una mayor mejora a través de la optimización de parámetros y la mejora del mecanismo. En general, la estrategia tiene una capacidad relativamente alta para obtener ganancias estables. Vale la pena depurar en transacciones reales y ponerla en uso.
/*backtest start: 2023-02-05 00:00:00 end: 2024-01-18 05:20:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //A translation from info found at http://backtestwizard.com/swing-trading-system-for-stocks/ strategy("Swing Trading System RSI", overlay=true) source = close[1] longperiod = input(26,"long week",minval=2,maxval=500,step=1) s = request.security(syminfo.tickerid, "W", sma(close[1], longperiod)) // 1 Day plot(s) shortdays = input(21,"short days high period",minval=2,maxval=500,step=1) longdays = input(50,"long days high period",minval=2,maxval=500,step=1) rsiperiod = input(4,"rsi period",minval=2,maxval=500,step=1) rsithresh = input(30,"rsi thresh",minval=2,maxval=500,step=1) highcheck = highest(source,shortdays) == highest(source,longdays) rsicheck = crossunder(rsi(source,rsiperiod),rsithresh) longCondition = (highcheck) and (rsicheck) and source > s if (longCondition) strategy.entry("My Long Entry Id", strategy.long) profittarget = input(3,"profit target",minval=2,maxval=500,step=1) stoploss = input(2,"stop target",minval=2,maxval=500,step=1) exitCondition1 = source > strategy.position_avg_price + (atr(50) * profittarget) exitCondition2 = source < strategy.position_avg_price - (atr(50) * stoploss) if (exitCondition1) strategy.close_all() if (exitCondition2) strategy.close_all()