La estrategia de seguimiento de la tendencia de la EMA y el RSI

El autor:¿ Qué pasa?, Fecha: 2024-03-01 13:26:24
Las etiquetas:

img

Resumen general

Este artículo analiza principalmente la estrategia de negociación cuantitativa desarrollada por Ravikant_sharma basada en múltiples promedios móviles exponenciales (EMA) e índice de fuerza relativa (RSI).

Principio de la estrategia

Cálculo del indicador

La estrategia utiliza 5 EMA con diferentes períodos, incluyendo líneas de 9 días, 21 días, 51 días, 100 días y 200 días.

Condiciones de entrada

Antes de comprar, debe cumplirse una de las siguientes condiciones:

  1. La EMA de 9 días se cruza por encima de la EMA de 21 días
  2. La EMA de 9 días se cruza por encima de la EMA de 51 días
  3. La EMA de 51 días se cruza por debajo de la EMA de 100 días

Al mismo tiempo, el RSI debe ser superior a 65, lo que indica una fuerte tendencia alcista.

Condiciones de salida

Una de las siguientes condiciones debe cumplirse antes de cerrar la posición:

  1. La EMA de 9 días se cruza por debajo de la EMA de 51 días, lo que indica un cambio de tendencia
  2. El precio de cierre excede el 125% del precio de entrada, alcanzando el objetivo de ganancia
  3. RSI cae por debajo de 40, señalando la reversión
  4. El precio de cierre cae por debajo del 98% del precio de entrada, se activa el stop loss

Análisis de ventajas

Se trata de una tendencia típica que sigue una estrategia con los siguientes puntos fuertes:

  1. Uso de los cruces de la EMA para determinar la dirección de la tendencia para un seguimiento eficaz de la tendencia
  2. La combinación de EMA de diferentes períodos identifica señales de tendencia más fiables
  3. El filtro RSI evita señales falsas en los mercados de rango
  4. Los ajustes de toma de ganancias y de stop loss bloquean las ganancias y controlan los riesgos

Riesgos y soluciones

Todavía hay algunos riesgos:

  1. Los periodos de EMA y las condiciones del filtro del RSI pueden ajustarse.
  2. Las señales de cruce de la EMA pueden retrasarse durante las inversiones bruscas, sin poder salir a tiempo.
  3. Los parámetros deben optimizarse de acuerdo con diferentes productos y entornos de mercado.

Direcciones de optimización

La estrategia se puede optimizar aún más de las siguientes maneras:

  1. Optimización de parámetros para diferentes productos
  2. Añadir otros indicadores técnicos para construir modelos multifactoriales
  3. Incorporación de algoritmos de aprendizaje automático para juzgar la calidad de la señal
  4. Combinar análisis de sentimientos para evitar trampas emocionales
  5. Prueba de diferentes estrategias de toma de ganancias/detención de pérdidas para encontrar la óptima

Conclusión

En conclusión, esta es una estrategia de seguimiento de tendencias confiable y fácil de implementar en general. Con el cruce de EMA para la dirección de la tendencia y el filtro RSI para señales falsas, los buenos resultados de las pruebas de retroceso proporcionan una base sólida para una mayor optimización de parámetros y modelos para obtener ganancias constantes. Sin embargo, los operadores aún deben tener cuidado con las reversiones bruscas y los parámetros inadecuados que representan riesgos.


/*backtest
start: 2024-01-30 00:00:00
end: 2024-02-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ravikant_sharma

//@version=5

strategy('new', overlay=true)

start = timestamp(1990, 1, 1, 0, 0)
end = timestamp(2043, 12, 12, 23, 59)
ema0 = ta.ema(close, 9)
ema1 = ta.ema(close, 21)
ema2 = ta.ema(close, 51)
ema3 = ta.ema(close, 100)
ema4 = ta.ema(close, 200)

rsi2=ta.rsi(ta.sma(close,14),14)
plot(ema0, '9', color.new(color.green, 0))
plot(ema1, '21', color.new(color.black, 0))
plot(ema2, '51', color.new(color.red, 0))
plot(ema3, '200', color.new(color.blue, 0))   

//plot(ema4, '100', color.new(color.gray, 0)) 


//LongEntry = (  ta.crossover(ema0,ema3)  or  ta.crossover(ema0,ema2) or  ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) //
LongEntry=false
if ta.crossover(ema0,ema1) 
    if rsi2>65
        LongEntry:=true
if ta.crossover(ema1,ema2)
    if rsi2>65
        LongEntry:=true
        
LongExit =  ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98)



if time >= start and time <= end 
    if(LongEntry and rsi2>60)
        strategy.entry('Long', strategy.long, 1)
    if(LongExit)
        strategy.close('Long') 



Más.