Estrategia de negociación de criptomonedas de retroceso basada en el cruce entre el RSI estocástico y la EMA

El autor:¿ Qué pasa?, Fecha: 2024-03-08 16:44:51
Las etiquetas:

img

Resumen de la estrategia

Esta estrategia combina el RSI estocástico y el EMA para detectar tendencias y verificar las señales comerciales. Cuando el precio se recupera por encima de la EMA20 a entre la EMA9 y la EMA14, y el RSI estocástico está por debajo del nivel de sobreventa, se genera una señal larga; cuando el precio se recupera por debajo de la EMA20 a entre la EMA9 y la EMA14, y el RSI estocástico está por encima del nivel de sobrecompra, se genera una señal corta.

Principios de estrategia

  1. Utilice la función ta.ema para calcular 3 EMA con períodos diferentes, a saber, EMA9, EMA14 y EMA20, para determinar el estado de tendencia del precio.
  2. Utilice la función ta.rsi para calcular el indicador RSI, luego use la función ta.stoch para convertir el RSI en el indicador RSI estocástico para determinar si el precio está sobrecomprado o sobrevendido.
  3. Cuando el precio de cierre > EMA20 y el precio de cierre < EMA9 y EMA14, y el RSI estocástico < nivel de sobreventa, se activa una señal larga y se ejecuta una operación de compra.
  4. Cuando el precio de cierre < EMA20 y el precio de cierre > EMA9 y EMA14, y el RSI estocástico > están sobrecomprados, se activa una señal corta y se ejecuta una operación de venta.

La idea central de esta estrategia es utilizar el RSI estocástico para determinar si el retroceso de precios en la tendencia principal (representada por EMA20) ha alcanzado un área de sobrecompra o sobreventa apropiada, mientras que se utiliza el EMA rápido y el EMA medio para verificar la fuerza del retroceso. Si el precio rompe la EMA rápida y el EMA medio, el retroceso puede terminar y la tendencia puede revertirse, lo que no es adecuado para ingresar a una posición. Solo cuando el precio se retrocesa entre EMA9 y EMA14 se considera que se ingresa a una posición en la dirección de la tendencia. Este método de verificación multi-condicional puede mejorar efectivamente la calidad de la señal y reducir los errores de juicio.

Ventajas estratégicas

  1. Combina indicadores de tendencia (EMA) e indicadores de oscilador (RSI) para comprender mejor la tendencia y el momento de sobrecompra/sobreventa.
  2. Adopta el RSI estocástico, que tiene dos ventajas en comparación con el indicador RSI original: una es el aumento de la suavidad del indicador y la otra es evitar que el indicador se adhiera a valores extremos durante mucho tiempo.
  3. La verificación de múltiples condiciones puede filtrar eficazmente muchas señales falsas y mejorar la fiabilidad de las señales.
  4. La lógica del código es clara y simple, fácil de entender y modificar, y puede ser utilizada como plantilla para que los principiantes aprendan.

Riesgos estratégicos

  1. No es adecuado para los mercados laterales, porque las EMA se cruzan con frecuencia, lo que puede producir muchas señales falsas.
  2. Si la tendencia es muy fuerte y el precio sube o baja unilateralmente, esta estrategia perderá muchas oportunidades porque el retroceso es muy superficial.
  3. La selección de los parámetros de la EMA tiene un gran impacto en la estrategia y debe ajustarse por separado para las diferentes variedades y períodos.
  4. Los parámetros del RSI estocástico también deben ajustarse de acuerdo con la situación real, y los valores por defecto actuales pueden no funcionar bien en algunas variedades.

Direcciones de optimización

  1. Considerar la introducción del indicador ATR para ajustar dinámicamente los niveles de sobrecompra y sobreventa para adaptarse a los diferentes niveles de volatilidad.
  2. Añadir más EMA con períodos diferentes para describir con mayor precisión la posición de las retraces de precios.
  3. También deben considerarse el stop loss y el take profit, utilizando el stop loss porcentual o el ATR stop loss, y el trailing stop loss para proteger las ganancias.
  4. Los patrones de candelabros como barras de alfiler y patrones de engulfing se pueden utilizar para ayudar a juzgar las inversiones de tendencia como condiciones suplementarias para mejorar la precisión.

Resumen de las actividades

Esta estrategia utiliza el RSI estocástico combinado con la verificación multicondicional de la EMA para controlar eficazmente el riesgo al tiempo que capta los retrocesos de tendencia. La idea general es simple y fácil de entender, adecuada para que los principiantes aprendan y usen. Sin embargo, la estrategia en sí también tiene algunas limitaciones, como un bajo rendimiento en los mercados laterales, una comprensión insuficiente de los movimientos de la tendencia, etc., que deben ajustarse de manera flexible de acuerdo con la situación real. En el futuro, también se puede considerar la optimización y mejora de la estrategia desde aspectos como parámetros dinámicos, más verificación de indicadores y gestión de dinero para obtener rendimientos más robustos. En general, esta estrategia puede servir como una plantilla básica que se puede modificar y ampliar, y es un buen punto de partida y material de aprendizaje.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)


Más.