
La estrategia utiliza el indicador RSI para determinar el momento de compra a través de períodos cruzados, y el mecanismo de stop loss ATR es una estrategia de seguimiento de tendencias. Determina el punto de inflexión de la tendencia del mercado a través del cruce de diferentes indicadores RSI de períodos, junto con el filtro de liquidación para determinar el momento de hacer más descuentos. El mecanismo de stop loss controla el riesgo de manera efectiva y bloquea los beneficios.
La estrategia primero utiliza la técnica de suavización SMA para calcular el promedio de movimiento del índice de 26 ciclos como referencia para el juicio del mercado de múltiples cabezas. Luego, calcula el valor de 4 ciclos del indicador RSI, cuando cruza hacia abajo la zona de venta excesiva de 30 y considera que la situación puede revertirse. En este momento, se determina si el nuevo máximo del parámetro de los días cortos puede romper el último máximo del parámetro de los días largos, lo que indica que la tendencia a corto plazo es fuerte.
Después de la entrada, el múltiplo del indicador ATR como la amplitud de la parada de descenso, con un alto precio de cierre de ciertas pérdidas proporcionales.
La estrategia tiene las siguientes ventajas:
El indicador RSI es utilizado para determinar el punto de inflexión y tiene una mejor capacidad de captura de tiempo.
Aplicar un nuevo mecanismo de subida y bajada para evitar señales erróneas.
Utiliza el ATR Stop Loss para rastrear automáticamente los mejores puntos de salida.
La configuración de los parámetros es flexible y se puede ajustar al nivel óptimo.
La estrategia es clara y fácil de entender, y tiene una gran estabilidad.
La estrategia también tiene los siguientes riesgos:
El indicador RSI puede emitir una señal errónea, lo que hace que el momento de entrada no sea el adecuado. Se puede ajustar adecuadamente el parámetro RSI o agregar filtros para otros indicadores.
La amplitud de frenado de ATR puede estar demasiado grande o demasiado pequeña para bloquear el máximo beneficio. Se puede probar una combinación de parámetros más favorable.
El punto de parada está demasiado cerca y puede ser superado. La distancia de parada se puede relajar adecuadamente.
Los datos de retroalimentación son insuficientes y se puede haber sobreestimado la rentabilidad de la estrategia. Se deben aumentar los ciclos de retroalimentación y las pruebas de entorno de mercado.
La estrategia puede ser optimizada en los siguientes aspectos:
Prueba la optimización de los parámetros RSI y los parámetros de stop-loss para encontrar la combinación óptima de parámetros.
Añadir otros indicadores de juicio para mejorar la precisión de la estrategia, como MACD, KD, etc.
Optimización de los mecanismos de detención de pérdidas y ajuste dinámico según el rango de fluctuación de ATR.
Prueba el rendimiento en diferentes variedades comerciales. Selecciona variedades con buena liquidez y alta volatilidad.
Comparar el rendimiento de diferentes tipos de pérdidas, como pérdidas proporcionales, pérdidas móviles, etc.
En general, la estrategia funciona con claridad y fluidez, la selección de indicadores y la configuración de parámetros son razonables y tienen una gran utilidad. Todavía hay espacio para mejorar aún más a través de la optimización de parámetros y la mejora del mecanismo. En general, la estrategia tiene una alta rentabilidad estable.
/*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()