Estrategia de tendencia adaptativa combinada de múltiples indicadores


Fecha de creación: 2023-12-19 11:01:05 Última modificación: 2023-12-19 11:01:05
Copiar: 1 Número de Visitas: 608
1
Seguir
1621
Seguidores

Estrategia de tendencia adaptativa combinada de múltiples indicadores

Descripción general

Esta estrategia permite un juicio preciso de las tendencias mediante la combinación del uso de un doble indicador de promedios móviles de Hull, un indicador de promedios móviles ponderados por capacidad, un indicador MACD y un indicador de índice de fuerza real. Puede adaptarse automáticamente a los cambios en el entorno del mercado y tiene una mayor adaptabilidad.

Principio de estrategia

El indicador central de la estrategia es el promedio móvil de doble Hull, que se calcula mediante el control de dos parámetros, keh y teh. Estos dos parámetros determinan la periodicidad de la línea rápida y la línea lenta respectivamente.

La media móvil ponderada por capacidad de los indicadores de ayuda para la determinación de meh1 ❚ cuando el precio es superior a meh1 para la situación de la tendencia alcista; cuando el precio es inferior a meh1 para la situación de la tendencia bajista ❚

Otro indicador de juicio auxiliar es el MACD. Se obtiene el MACD de la media móvil rápida menos la media móvil lenta, y luego se obtiene la línea de señal de la media móvil de la MACD. Cuando la MACD es superior a la línea de señal, se observa la situación.

El último indicador auxiliar de juicio es el TSI, que se obtiene mediante un cálculo doble y suave de la tasa de cambio de precios. Su tamaño en valores absolutos representa el impulso del cambio de precios. En las condiciones de compra y venta, se juzga la línea de señal del TSI, controlando el tiempo de entradas y salidas.

La combinación de estos indicadores permite determinar con precisión las tendencias y ajustar automáticamente los parámetros para estar a la par del mercado.

Ventajas estratégicas

  1. El uso de la media móvil doble de Hull como indicador principal de juicio, complementado con el uso de varias combinaciones de otros indicadores, puede mejorar la precisión de juicio y reducir las falsas señales.

  2. La aplicación de los indicadores TSI para determinar el momento de entrada y salida de la bolsa puede controlar el riesgo.

  3. Los diversos parámetros se pueden ajustar por sí mismos, son muy adaptables y pueden adaptarse automáticamente a los cambios en el mercado.

  4. La adopción de una combinación de indicadores y parámetros que se adaptan a sí mismos hace que la estrategia sea estable y rentable continuamente.

Análisis de riesgos

  1. A pesar de la inclusión del índice TSI para determinar el momento, el indicador utilizado por el algoritmo es el tipo de tendencia, que aumenta la fluctuación de ganancias y pérdidas si se encuentra en un mercado de tiradores de temblor.

  2. La configuración incorrecta de los parámetros puede causar que la estrategia falle, por lo que es necesario ajustar los parámetros de manera razonable en función de su propia experiencia.

  3. La combinación de múltiples indicadores aumenta el volumen de cálculo, aumenta la probabilidad de errores en las acciones y los períodos de tiempo con gran cantidad de datos, y se necesita controlar el alcance de los datos.

  4. Se requiere monitorear la efectividad de los cálculos de los indicadores para evitar la interferencia de datos anormales.

Dirección de optimización de la estrategia

  1. Se puede probar la adición de otros indicadores auxiliares, como el indicador BOLL, para que la señal sea más precisa y fiable.

  2. Optimización de la lógica de entrada y salida, configuración de condiciones de stop loss y control de pérdidas y ganancias individuales.

  3. Entrenar y optimizar los parámetros de las variedades de comercio para adaptarlos mejor a las diferentes variedades.

  4. Se ha añadido un módulo de adaptación de parámetros para que los parámetros de la estrategia se ajusten automáticamente en función de los resultados de las operaciones más recientes.

Resumir

Esta estrategia integra las ventajas de varios indicadores, utiliza una combinación de indicadores para determinar la dirección de la tendencia y, al mismo tiempo, controla el riesgo. A través de la optimización de los parámetros y la optimización lógica, la estrategia puede adaptarse mejor a los cambios en el mercado y obtener más ganancias sobre la base de la reducción de las pérdidas continuas. Esta estrategia es estable y puede aplicarse a largo plazo en variedades como acciones y criptomonedas.

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

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)