Estrategia de posición larga RSI50_EMA

EMA RSI ATR
Fecha de creación: 2024-05-11 11:49:29 Última modificación: 2024-05-11 11:49:29
Copiar: 3 Número de Visitas: 327
1
Seguir
1226
Seguidores

Estrategia de posición larga RSI50_EMA

Descripción general

La estrategia se llama “estrategia de posición larga RSI50_EMA”, y la idea principal es utilizar las señales cruzadas de los dos indicadores técnicos del índice relativamente débil ((RSI) y el promedio móvil del índice ((EMA) para tomar decisiones comerciales. Se toma una posición alta cuando el precio rompe la vía superior de la EMA desde abajo y el RSI es mayor que 50, y se toma una posición alta cuando el precio rompe la vía inferior de la EMA desde arriba hacia abajo o el RSI cae por debajo de la posición plana de 50.

Principio de estrategia

  1. Calcule el EMA y el ATR, obteniendo la subida y bajada del EMA.
  2. Calcula el RSI.
  3. Cuando el precio de cierre cruza la EMA y el RSI es mayor que 50, abre una posición para hacer más.
  4. Cuando el precio de cierre cruza la EMA o el RSI cae por debajo de los 50, se eliminan todas las ofertas.
  5. Haga más, no menos.

Ventajas estratégicas

  1. Es una herramienta ideal para usar en mercados fuertes, donde se puede capturar con eficacia la tendencia al alza de acciones fuertes.
  2. Al mismo tiempo, el uso de dos indicadores, EMA y RSI, permite una mejor confirmación de las señales de tendencia y una mayor fiabilidad de la señal.
  3. La gestión de la posición se basa en el porcentaje de pérdidas, el riesgo es controlado.
  4. La lógica del código es clara, simple, fácil de entender y de implementar.

Riesgo estratégico

  1. Los mercados convulsionados son propensos a operaciones frecuentes y grandes retiradas.
  2. La elección incorrecta de los parámetros puede causar la falla de la señal. Por ejemplo, la elección incorrecta de la longitud del EMA puede causar un retraso en el juicio de la tendencia. La elección incorrecta del límite superior e inferior del RSI puede causar un punto de apertura de posición no deseable.
  3. Las estrategias sólo capturan las tendencias de alza unilaterales, las tendencias de caída y oscilación no son capturadas y son fácilmente tropezadas.

Dirección de optimización de la estrategia

  1. La introducción de indicadores de confirmación de tendencias, como el MACD, mejora la precisión de las tendencias.
  2. Optimización de los parámetros del RSI o introducción de señales de mejora como la desviación del RSI.
  3. Considere la posibilidad de añadir un stop móvil o un stop de fluctuación y mejorar el control del viento.
  4. Se puede considerar la inclusión de la lógica de apertura de posición inversa en mercados convulsivos y tendencias bajistas.

Resumir

La estrategia de posición larga RSI50_EMA es una estrategia de seguimiento de tendencias simple y fácil de usar basada en el RSI y la EMA, adecuada para su uso en situaciones de tendencia unilateral. La lógica de la estrategia es clara, las ventajas son evidentes, pero también hay algunas deficiencias y riesgos.

Código Fuente de la Estrategia
/*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)