Estrategia de trading con media móvil de cierre lento


Fecha de creación: 2023-12-22 13:18:34 Última modificación: 2023-12-22 13:18:34
Copiar: 0 Número de Visitas: 687
1
Seguir
1623
Seguidores

Estrategia de trading con media móvil de cierre lento

Descripción general

Esta estrategia se combina con el uso de Heiken Ashi lento y las medias móviles del índice para identificar la tendencia, y para hacer operaciones de largo y corto en un momento de tendencia. Hacer operaciones de largo y corto cuando el precio está por encima de la EMA de 100 días, hacer operaciones de corto cuando está por debajo de la EMA de 100 días, y cerrar posiciones bajo ciertas condiciones.

Principio de estrategia

La estrategia utiliza la siguiente combinación de indicadores:

  1. Heiken Ashi: un tipo especial de gráfico de K que se traza utilizando la media de la línea K anterior para filtrar el ruido del mercado y identificar tendencias. Esto se logra mediante el auto-adaptado filtro Kama.

  2. Media móvil: la media de los precios después de la suavización del índice, donde se incluyen los EMA de más de un período de 5 días a 100 días.

La lógica de la transacción es la siguiente:

  1. Cuando el precio sube por encima de la EMA de 100 días, haga más; cuando el precio baja por debajo de la EMA de 100 días, haga vacío.

  2. Condiciones de posición plana: cuando el precio de apertura de Heiken Ashi cruza su precio de cierre (potencial señal de reversión), la posición de múltiples cabezas correspondiente se apaga por el cruce inverso, y la posición de cabeza vacía es equivalente.

Análisis de las ventajas

Esta estrategia, combinada con el juicio de tendencia y la señal de reversión, puede capturar una fluctuación de precios más grande en una situación de tendencia, mientras que evita la expansión de las pérdidas mediante una señal de reversión.

  1. Utiliza la EMA para determinar la dirección de las tendencias globales y evitar ser engañado por las perturbaciones locales.

  2. La señal de cruce de Heiken Ashi puede detectar la oportunidad de una reversión temprano.

  3. El adaptador de filtros Kama reduce la probabilidad de falsas señales.

Análisis de riesgos

  1. Una ruptura significativa de la EMA puede causar una expansión de la pérdida. Se puede reducir el período de tenencia de la posición o establecer un stop loss.

  2. Las señales de reversión pueden estar retrasadas y se puede considerar reducir el tamaño de la posición para controlar el riesgo.

  3. La configuración incorrecta de los parámetros de la EMA también puede afectar el rendimiento de la estrategia, y debe ajustarse según las diferentes variedades y el entorno del mercado.

Dirección de optimización

  1. Se puede combinar varios indicadores para evitar que tanto EMA como Heiken Ashi emitan señales erróneas. Por ejemplo, se puede agregar MACD, banda de Brin, etc.

  2. Se pueden optimizar los parámetros de EMA en tiempo real en función de la volatilidad del mercado, apretando el stop loss en momentos de alta volatilidad y relajando el punto de deslizamiento en momentos de baja volatilidad.

  3. Los algoritmos de aprendizaje automático optimizan la configuración de los parámetros y las reglas de filtrado, lo que hace que las estrategias sean más sólidas.

Resumir

La estrategia en general es sencilla y práctica, pero al mismo tiempo combina tendencia y reversión, con la optimización de los parámetros y el control del riesgo en su lugar, todavía hay un buen espacio de ganancias. A continuación, puede comenzar en la dirección de la optimización para que la estrategia se adapte mejor a los cambios en el entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-19 10:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("NoScoobies Slow Heiken Ashi and Exponential Moving average Strategy 2.2", overlay=true)

//SHA
p=input(6,title='Period')
fastend=input(0.666,step=0.001)
slowend=input(0.0645,step=0.0001)
kama(close,amaLength)=>
    diff=abs(close[0]-close[1])
    signal=abs(close-close[amaLength])
    noise=sum(diff, amaLength)
    efratio=noise!=0 ? signal/noise : 1
    smooth=pow(efratio*(fastend-slowend)+slowend,2)
    kama=nz(kama[1], close)+smooth*(close-nz(kama[1], close))
    kama
hakamaper=1
Om=sma(open,p)
Hm=sma(high,p)
Lm=sma(low,p)
Cm=sma(close,p)
vClose=(Om+Hm+Lm+Cm)/4
vOpen= kama(vClose[1],hakamaper)
vHigh= max(Hm,max(vClose, vOpen))
vLow=  min(Lm,min(vClose, vOpen))
asize=vOpen-vClose
size=abs(asize)

//MMAR
exponential = input(true, title="Exponential MA")
src = close
ma05 = exponential ? ema(src, 05) : sma(src, 05)
ma10 = exponential ? ema(src, 10) : sma(src, 10)
ma15 = exponential ? ema(src, 15) : sma(src, 15)
ma20 = exponential ? ema(src, 20) : sma(src, 20)
ma25 = exponential ? ema(src, 25) : sma(src, 25)
ma30 = exponential ? ema(src, 30) : sma(src, 30)
ma35 = exponential ? ema(src, 35) : sma(src, 35)
ma40 = exponential ? ema(src, 40) : sma(src, 40)
ma45 = exponential ? ema(src, 45) : sma(src, 45)
ma50 = exponential ? ema(src, 50) : sma(src, 50)
ma55 = exponential ? ema(src, 55) : sma(src, 55)
ma60 = exponential ? ema(src, 60) : sma(src, 60)
ma65 = exponential ? ema(src, 65) : sma(src, 65)
ma70 = exponential ? ema(src, 70) : sma(src, 70)
ma75 = exponential ? ema(src, 75) : sma(src, 75)
ma80 = exponential ? ema(src, 80) : sma(src, 80)
ma85 = exponential ? ema(src, 85) : sma(src, 85)
ma90 = exponential ? ema(src, 90) : sma(src, 90)
ma95 = exponential ? ema(src, 95) : sma(src, 95)
ma100 = exponential ? ema(src, 100) : sma(src, 100)

longcondition=src>ma100
shortcondition=src<ma100
long=longcondition and size<size[1] and (vOpen<vClose or vOpen>vClose)
short=shortcondition and size<size[1] and (vOpen>vClose or vOpen<vClose)
close_long=longcondition and crossunder(open, vClose)
close_short=shortcondition and crossover(open, vClose)
_close=close_long[2] or close_short[2]

if long
    strategy.entry("LONG", strategy.long)
    strategy.close("LONG", when = _close)
if short
    strategy.entry("SHORT", strategy.short)
    strategy.close("SHORT", when = _close)