- Cuadrado
- El RSI50_EMA es una estrategia de largo plazo.
El RSI50_EMA es una estrategia de largo plazo.
El autor:
¿ Qué pasa?, fecha: 2024-05-11 11:49:29
Las etiquetas:
El EMAIndicador de riesgoEl ATR
Resumen general
La estrategia llamada RSI50_EMA Long Only Strategy utiliza principalmente las señales de cruce de dos indicadores técnicos, el índice de fuerza relativa (RSI) y el promedio móvil exponencial (EMA), para tomar decisiones comerciales.
Principio de la estrategia
- Calcular EMA y ATR para obtener las bandas superior e inferior de EMA.
- Calcula el índice de resistencia.
- Cuando el precio de cierre cruza por encima de la banda superior de la EMA y el RSI está por encima de 50, abra una posición larga.
- Cuando el precio de cierre se cruza por debajo de la banda inferior de la EMA o el RSI cae por debajo de 50, cierre todas las posiciones largas.
- Sólo largo, no corto.
Ventajas estratégicas
- Adecuado para su uso en un mercado fuerte, puede capturar eficazmente la tendencia al alza de las existencias fuertes.
- Utiliza indicadores EMA y RSI para confirmar mejor las señales de tendencia y mejorar la fiabilidad de las señales.
- La gestión de posiciones utiliza el porcentaje de stop loss, el riesgo es controlable.
- La lógica del código es clara y simple, fácil de entender e implementar.
Riesgos estratégicos
- Es propenso a las operaciones frecuentes y a las grandes reducciones en mercados volátiles.
- Por ejemplo, la selección inadecuada de la longitud de la EMA dará lugar a un juicio de tendencia rezagado; la selección inadecuada de los límites superiores e inferiores del RSI dará lugar a puntos de entrada y salida indeseables.
- La estrategia sólo puede capturar tendencias ascendentes unilaterales, y no puede captar tendencias descendentes y oscilantes, fácil de perder oportunidades.
Direcciones para la optimización de la estrategia
- Introducir indicadores de confirmación de tendencia, como el MACD, para mejorar la precisión del juicio de tendencia.
- Optimizar los parámetros para el RSI o introducir divergencia del RSI y otras mejoras en las señales.
- Se considerará la posibilidad de añadir un stop loss de pérdida o un stop loss de volatilidad para mejorar el control del riesgo.
- Considere la posibilidad de añadir una lógica de entrada inversa en mercados oscilantes y tendencias a la baja.
Resumen de las actividades
La estrategia RSI50_EMA Long Only es una estrategia simple y fácil de usar de seguimiento de tendencias basada en RSI y EMA, adecuada para su uso en tendencias alcistas unilaterales. La estrategia tiene una lógica clara y ventajas obvias, pero también tiene algunas deficiencias y riesgos. Al introducir más indicadores auxiliares, optimizar parámetros, mejorar el control de riesgos y otras medidas, la estabilidad y rentabilidad de la estrategia se pueden mejorar aún más. Sin embargo, en la aplicación real, es necesario ajustar y mejorar de manera flexible de acuerdo con las características del mercado, las preferencias personales de riesgo y otros factores.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
strategy.close("RSICLose", when=bull_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)
Relacionados
Más.