Estrategia de seguimiento de oportunidades de EMA, Hull y RSI

El autor:¿ Qué pasa?, Fecha: 2024-01-18 15:46:35
Las etiquetas:

img

Resumen general

Esta estrategia construye señales comerciales basadas en promedios móviles, promedios móviles de Hull y el índice de fuerza relativa (RSI). Pertenece a una estrategia típica de seguimiento de oportunidades que puede identificar automáticamente las oportunidades de mercado y cambiar entre posiciones largas y cortas. Es adecuado para el comercio a medio y corto plazo.

Estrategia lógica

  1. Calcular la media móvil exponencial (EMA) de 50 períodos como indicador para juzgar la tendencia.
  2. Calcular el promedio móvil de Hull de 7 días como un indicador promedio más sensible y líder, cruzando la EMA para formar cruces doradas y cruces muertas.
  3. Establezca la línea de sobrecompra y la línea de sobreventa para el RSI en 60 y 45 respectivamente.
  4. Cuando la sobrecompra ocurre al mismo tiempo que una penetración al alza de la EMA, es una señal corta.
  5. Cuando la sobreventa ocurre al mismo tiempo que una penetración a la baja de la EMA, es una señal larga.

Ventajas de la estrategia

  1. Utiliza una combinación de EMA, Hull y RSI para juzgar de manera exhaustiva las tendencias del mercado, el impulso y las áreas de sobrecompra / sobreventa, mejorando la precisión de la señal.
  2. La EMA juzga las tendencias a medio y largo plazo, Hull lidera los movimientos a corto plazo, el RSI identifica los niveles de sobrecompra / sobreventa.
  3. Las señales de entrada deben cumplir los criterios de tendencia, impulso y zonas de sobrecompra/sobreventa para activarse simultáneamente, filtrando efectivamente las falsas señales.

Riesgos de la estrategia

  1. El uso de sólo 3 indicadores puede perder algunas oportunidades comerciales.
  2. Los períodos EMA y Hull requieren pruebas y optimización continuas, las selecciones incorrectas de parámetros pueden afectar la calidad de la señal.
  3. Los parámetros del RSI también deben ajustarse para diferentes acciones y monedas que pueden tener diferentes estándares de sobrecompra/sobreventa.

Áreas de mejora

  1. Se pueden introducir más indicadores auxiliares, por ejemplo, bandas de Bollinger, líneas de KC, etc., para crear una toma de decisiones multi-resonancia.
  2. Los parámetros se pueden optimizar para diferentes productos.
  3. Se puede incorporar un análisis de marcos de tiempo más altos para evitar ser engañado por falsificaciones a corto plazo.
  4. Las estrategias de stop loss pueden implementarse para gestionar el riesgo.

Resumen de las actividades

Esta estrategia utiliza la combinación de EMA, Hull y RSI a través de marcos de tiempo para capturar oportunidades comerciales a mediano y corto plazo. Las señales de entrada deben cumplir con criterios en tendencia, impulso y dimensiones de sobrecompra / sobreventa simultáneamente para filtrar señales falsas. La estrategia puede mejorarse aún más mediante la optimización de parámetros e introducir más indicadores auxiliares para mejorar la estabilidad y el rendimiento comercial.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke

//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false, 
     calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
     default_qty_value=1000, currency=currency.USD, initial_capital=1000,
     commission_type=strategy.commission.percent, commission_value=0.075)

// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")

overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")

overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)

// Strategy Logic
longCondition =  overbought_signal and crossover(n1,final_ema) 
shortCondition = oversold_signal and crossover(final_ema,n1) 

strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)


Más.