Estrategia de seguimiento de tendencias basada en Kama y media móvil


Fecha de creación: 2024-02-06 09:53:22 Última modificación: 2024-02-06 09:53:22
Copiar: 5 Número de Visitas: 788
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en Kama y media móvil

Descripción general

La idea central de esta estrategia es la combinación de la línea media de Kama y la línea media para identificar la tendencia del mercado, para lograr el seguimiento de la tendencia. Cuando la línea media de Kama y la línea media se cruzan en oro, se juzga que se entra en una tendencia alcista, hacer más; cuando la línea media de Kama y la línea media se cruzan en muerte, se juzga que se entra en una tendencia bajista, hacer vacío.

Principio de estrategia

  1. Calcular la línea media de Kama. La línea media de Kama es un indicador de seguimiento de tendencias que es más sensible al ruido del mercado y se puede usar para determinar la tendencia de los precios.
  2. Calculación del promedio 。 Aquí se calculan dos promedios, uno es el promedio móvil de doble índice más rápido, y el otro es el promedio móvil ponderado ordinario 。
  3. Cuando la línea rápida rompe la línea lenta desde abajo, haga más; cuando la línea rápida rompe la línea lenta desde arriba, haga un hueco. Así se completa el juicio y el seguimiento de la tendencia.
  4. Después de la entrada, salir de la posición cuando el precio rompe la línea media de Kama, para lograr una salida de seguimiento de tendencia.

Ventajas estratégicas

  1. Esta estrategia, combinada con la línea de Kama y el indicador de la línea de Kama, permite un juicio más preciso de las tendencias del mercado y una mayor capacidad de seguimiento de tendencias y control de retroceso.
  2. La línea media de Kama es más sensible al ruido del mercado y permite detectar los puntos de inflexión de tendencias con anticipación.
  3. La combinación de líneas medias es clara en el juicio, la especificación de operación es fácil de entender.
  4. El espacio para optimizar los parámetros de la estrategia es amplio y se pueden ajustar los parámetros de optimización según las diferentes variedades y variedades de transacción.

Análisis de riesgos

  1. También puede haber un error de juicio cuando se juzga la tendencia del mercado con la combinación de la línea media de Kama y la línea media. Se necesita combinar con otros indicadores para verificar el juicio.
  2. La configuración sin pérdidas, en circunstancias excepcionales, puede generar grandes pérdidas.
  3. La configuración incorrecta de los parámetros en el momento adecuado también puede conducir a errores de juicio, por lo que es necesario ajustar los parámetros según las diferentes variedades.

Recomendaciones para la optimización

  1. Se puede considerar la inclusión de los indicadores ATR para la configuración de stop loss.
  2. Se puede probar el impacto de diferentes parámetros en la rentabilidad de la estrategia, seleccionando los parámetros óptimos.
  3. Se puede considerar la verificación de la inclusión de otros indicadores, como el indicador de conmoción, para mejorar la precisión del juicio.
  4. Se puede crear un marco para la adaptación y optimización dinámica de los parámetros, lo que permite optimizar automáticamente los parámetros de la política.

Resumir

La idea general de esta estrategia es clara, el uso de la línea de karma promedio y el indicador de la línea promedio de la cruz de oro y el cruce de la muerte para juzgar y seguir la tendencia, el control de reversión es fuerte, se puede obtener un mejor efecto a través del ajuste y la optimización de los parámetros. Pero también hay cierto espacio para mejorar, si se agregan más indicadores de verificación y módulos de detención de pérdidas, se puede mejorar aún más la estabilidad y la capacidad de obtener ganancias de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//synapticex.com
kamaPeriod = input(8, minval=1) 
ROCLength=input(4, minval=1) 

kama(length)=>
    volatility = sum(abs(close-close[1]), length)
    change = abs(close-close[length-1])
    er = iff(volatility != 0, change/volatility, 0)
    sc = pow((er*(0.666666-0.064516))+0.064516, 2)
    k = nz(k[1])+(sc*(hl2-nz(k[1])))
    

n=input(title="period",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?lime:red
ma=plot(n1,color=c, linewidth = 3)
plot(cross(nma, nma1) ? nma : na, style = cross, color = c, linewidth = 5)
    
kamaEntry = request.security(syminfo.tickerid,timeframe.period,kama(kamaPeriod))

plot(kamaEntry, color=gray, title="Kama",transp=0, trackprice=false, style=line)


strategy("Kama VS HeikinAshi", overlay=true, pyramiding=0, calc_on_every_tick=true, calc_on_order_fills=true)

buyEntry =  n1 > n2
sellEntry = close < kamaEntry and n1 < n2 

buyExit = close < kamaEntry and n1 < n2
sellExit = n1 > n2 
if (buyEntry)
    strategy.entry("KAMAL", strategy.long, comment="KAMAL")
else
    strategy.close("KAMAL", when=buyExit)

if (sellEntry)
    strategy.entry("KAMAS", strategy.short, comment="KAMAS")
else
    strategy.close("KAMAS", when = sellExit)