En la carga de los recursos... Cargando...

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

img

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

  1. Calcular EMA y ATR para obtener las bandas superior e inferior de EMA.
  2. Calcula el índice de resistencia.
  3. 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.
  4. 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.
  5. Sólo largo, no corto.

Ventajas estratégicas

  1. Adecuado para su uso en un mercado fuerte, puede capturar eficazmente la tendencia al alza de las existencias fuertes.
  2. Utiliza indicadores EMA y RSI para confirmar mejor las señales de tendencia y mejorar la fiabilidad de las señales.
  3. La gestión de posiciones utiliza el porcentaje de stop loss, el riesgo es controlable.
  4. La lógica del código es clara y simple, fácil de entender e implementar.

Riesgos estratégicos

  1. Es propenso a las operaciones frecuentes y a las grandes reducciones en mercados volátiles.
  2. 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.
  3. 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

  1. Introducir indicadores de confirmación de tendencia, como el MACD, para mejorar la precisión del juicio de tendencia.
  2. Optimizar los parámetros para el RSI o introducir divergencia del RSI y otras mejoras en las señales.
  3. 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.
  4. 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.