Estrategia de cruce de EMA y RSI

EMA RSI ATR
Fecha de creación: 2024-06-03 11:08:30 Última modificación: 2024-06-03 11:08:30
Copiar: 0 Número de Visitas: 933
1
Seguir
1617
Seguidores

Estrategia de cruce de EMA y RSI

Descripción general

La estrategia de cruce entre EMA y RSI identifica una posible señal de compra o venta mediante la combinación de dos indicadores técnicos, el promedio móvil del índice (EMA) y el índice relativamente fuerte (RSI). Cuando se cruzan los EMA y el RSI, la dinámica del mercado puede cambiar. Por ejemplo, cuando un EMA de período más corto atraviesa un EMA de período más largo y un umbral en el RSI, se indica una posible tendencia alcista, conocida como cruce de venta. Por el contrario, cuando un EMA de período más corto atraviesa un umbral en el RSI y un umbral en el RSI, se indica una posible tendencia bajista, conocida como cruce de venta.

Principio de estrategia

  1. Calcula el valor del indicador RSI para el período especificado y lo traza en un gráfico.
  2. Calcular el valor del indicador EMA para el período especificado y dibujarlo en un gráfico.
  3. Cuando el precio está por debajo de la EMA y el RSI es menor que 20, se considera una señal de compra; cuando el precio está por encima de la EMA y el RSI es mayor que 80, se considera una señal de venta.
  4. Cuando aparezca una señal de compra y el precio de cierre de la línea de anclaje actual sea superior al precio de cierre de la línea de anclaje anterior, se abrirá una posición adicional; cuando aparezca una señal de venta y el precio de cierre de la línea de anclaje actual sea inferior al precio de cierre de la línea de anclaje anterior, se abrirá una posición en blanco.
  5. Calcula el precio de parada y el precio de parada utilizando la amplitud de fluctuación real promedio (ATR). El precio de parada es el precio de apertura menos (ATR + longitud de la línea de anclaje), el precio de parada es el precio de apertura más (ATR + longitud de la línea de anclaje).*(ATR + longitud de la entidad del cable de acero))

Ventajas estratégicas

  1. La combinación de los indicadores de seguimiento de tendencias EMA y el indicador de dinámica RSI permite un juicio más completo de la tendencia del mercado.
  2. Las señales de trading se emiten al inicio de la formación de una tendencia, lo que ayuda a aprovechar las oportunidades de tendencia lo antes posible.
  3. El uso de ATR para ajustar dinámicamente el stop loss y la distancia de parada para adaptarse mejor a la volatilidad del mercado.
  4. Al mismo tiempo, se tiene en cuenta la relación entre la posición del precio y el indicador y la forma del cable, lo que mejora la fiabilidad de la señal.

Riesgo estratégico

  1. Los indicadores EMA y RSI tienen cierta retraso, que puede ocurrir cuando los indicadores se cruzan y el precio no se invierte de inmediato, lo que genera falsas señales.
  2. El RSI produce señales de cruce frecuentes en mercados convulsivos, lo que puede conducir a una sobrecambio.
  3. Los límites fijos del RSI pueden no aplicarse a todas las condiciones del mercado y deben ajustarse a las características del mismo.
  4. La estrategia depende en gran medida de los cálculos de stop loss y stop loss de ATR, pero los valores de ATR pueden ser distorsionados por las fluctuaciones súbitas de los precios.

Dirección de optimización de la estrategia

  1. Optimizar los parámetros de EMA y RSI para encontrar la combinación de parámetros más adecuada para el mercado actual.
  2. En los mercados convulsivos se añaden otros filtros, como cambios en el volumen de transacciones, volatilidad, etc., para filtrar las frecuentes señales falsas.
  3. El RSI se ajusta a sí mismo para adaptarse a las diferentes condiciones del mercado.
  4. El uso de varios métodos de detención de pérdidas y paradas, como paradas de pérdidas basadas en la resistencia de soporte, o paradas móviles combinadas con la dirección de la tendencia, para mejorar la capacidad de control de riesgos.
  5. El módulo de gestión de posiciones permite ajustar el tamaño de las posiciones de cada transacción en función de la fluctuación del mercado y la situación de riesgo de la cuenta.

Resumir

La estrategia de cruce entre EMA y RSI es una estrategia de seguimiento de tendencias simple y fácil de usar, que combina indicadores de dos dimensiones de tendencia y dinámica para determinar la dirección del mercado de manera más completa. Al mismo tiempo, la estrategia utiliza algunas condiciones de filtración y métodos de parada de pérdidas dinámicas para mejorar la calidad de la señal y la capacidad de controlar el riesgo. Sin embargo, la estrategia también tiene algunas limitaciones, como el retraso de los indicadores y el comercio frecuente.

Código Fuente de la Estrategia
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pritom980

//@version=5
strategy("EMA RSI Cross", overlay=true, margin_long=100, margin_short=100)

// add RSI

rsi_period = input.int(7,"RSI Period")
rsi_val =  ta.rsi(close[1],rsi_period)
plot(rsi_val, color=color.blue, linewidth=2, title="RSI")

buyRsiFlag = rsi_val < 20
sellRsiFlag = rsi_val > 80

// add EMA
ema = ta.ema(close, 50)
plot(ema, color=color.red, linewidth=2, title="EMA")


// check buy

// buy when the price is below ema 
buyFlag = ema > close ? true : false

// sell when the price is above ema
sellFlag = ema < close ? true : false


bgcolor(buyFlag and buyRsiFlag ? color.green : na )
bgcolor(sellFlag and sellRsiFlag ? color.red : na )




// Check if current candle's body is bigger than previous candle's body and of opposite color
is_body_bigger_long = math.abs(close - open) > math.abs(close[1] - open[1]) and close > open != close[1] > open[1]


greenCandle = close > close[1]
redCandle = close < close[1]
// Mark the candle
bgcolor(is_body_bigger_long and greenCandle and buyFlag  ? color.blue : na, transp=70)


// ENTRY ---------------------

// Input for ATR period
atr_length = input(14, title="ATR Length")

// Calculate ATR
atr_value = ta.atr(atr_length)

// Calculate stop loss and take profit levels
candleBody = math.abs(close-open)
slDist = atr_value + candleBody

stop_loss_long = close - slDist
take_profit_long = close + (1.2 * slDist) 


stop_loss_short = high + slDist
take_profit_short = high - (1.2 * slDist)

// Entry and exit conditions
if (buyFlag and buyRsiFlag  and strategy.opentrades >= 0 and greenCandle)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long)

// Entry and exit conditions
if (sellFlag and sellRsiFlag   and strategy.opentrades <= 0 and redCandle)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short)