Estrategia cuantitativa basada en el indicador TSI y la media móvil de Hull


Fecha de creación: 2023-12-18 16:56:22 Última modificación: 2023-12-18 16:56:22
Copiar: 0 Número de Visitas: 793
1
Seguir
1621
Seguidores

Estrategia cuantitativa basada en el indicador TSI y la media móvil de Hull

Descripción general

La estrategia se llama estrategia de trading cuantitativa basada en el índice TSI y el promedio móvil de Hull. La idea principal es la combinación del índice TSI y el promedio móvil de Hull para identificar tendencias en acciones, monedas digitales o divisas y generar señales de negociación cuando comienzan las tendencias.

Principio de estrategia

La estrategia utiliza el indicador TSI para determinar la tendencia y el movimiento de los precios. El indicador TSI es una media móvil doble basada en la tasa de cambio de los precios.

La estrategia también utiliza Hull Moving Averages para determinar la tendencia de los precios. Hull Moving Averages se construye a través de una doble ponderación de las medias móviles, que filtran eficazmente el ruido del mercado.

Al mismo tiempo que el indicador TSI emite una señal, se emite una señal de negociación correspondiente si el promedio móvil de Hull también confirma una tendencia en la misma dirección. Además, la estrategia también examina la dirección de la entidad de la línea K para confirmar la tendencia. La señal de negociación solo se emite cuando la señal del indicador, la señal de Hull y la dirección de la entidad de la línea K coinciden.

Análisis de las ventajas

Esta estrategia combina varios indicadores de tendencia, dinámica y promedio, lo que permite identificar con eficacia el inicio de una tendencia del mercado y evitar una gran cantidad de falsas señales. Las medias móviles dobles también pueden filtrar parte del ruido.

En comparación con un solo indicador, la estrategia puede mejorar considerablemente la calidad de la señal mediante la combinación de múltiples indicadores de filtración. Las múltiples condiciones de confirmación también hacen que la estrategia tenga una gran certeza al generar una señal.

Análisis de riesgos

Esta estrategia, aunque puede ser eficaz para identificar el inicio de una tendencia, puede generar ciertas señales erróneas y exceso de comercio en momentos de agitación del mercado. Además, la configuración incorrecta de los parámetros también puede conducir a posiciones cerradas innecesarias.

Para reducir el riesgo, se puede ajustar adecuadamente el ciclo de la media móvil de Hull o el parámetro TSI, o se puede agregar un stop loss para controlar los daños. En el proceso de optimización, se debe prestar atención a la relación de ruido de la señal para obtener el mejor parámetro.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de los parámetros de las medias móviles de Hull, suavizando las curvas para filtrar falsas señales
  2. Optimización de los parámetros de la TSI, equilibrando la sensibilidad y la estabilidad
  3. La estrategia de control de pérdidas
  4. Ajuste la longitud de la señal para filtrar el ruido de corta duración
  5. Prueba de diferentes variedades de estrategias y períodos de tiempo
  6. Verificación de señales en combinación con otros indicadores

Resumir

Esta estrategia, combinada con el indicador TSI y la media móvil Hull, genera una señal de negociación después de determinar la tendencia del mercado. La estrategia tiene una alta puntualidad y calidad de la señal. A través de la optimización de los parámetros y la combinación de estrategias, se puede aumentar considerablemente la rentabilidad y reducir el riesgo.

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

//@version=2
strategy("TSI/HullMA/VWMA strategy", shorttitle="TSI/HullMA/VWMA", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
TP = input(defval=200.00, title="TargetPoint in $", type=float, step=1)
SL = input(defval=-2000.00, title="StopLoss in $", type=float, step=1)
signal = input(title="Signal Length",  defval=6)
keh=input(title="HullMA cross",defval=2)
a=input(title="VWMA",defval=2)
long=35,short=35,linebuy=4,linesell=-4,ot=1,p=ohlc4[0]
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(p)
rvwma=vwma(p,round(a))
rvwma2=vwma(p,round(a*2))
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
hullbuy=n1>n2 and n1>n2[1] and rvwma>rvwma2
hullsell=n1<n2 and n1<n2[1] and rvwma<rvwma2
candlebuy=ohlc4[0]>ohlc4[1] and ohlc4[0]>ohlc4[2] and ohlc4[0]>ohlc4[3]
candlesell=ohlc4[0]<ohlc4[1] and ohlc4[0]<ohlc4[2] and ohlc4[0]<ohlc4[3]
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)
strategy.entry("buy", true, na, when = tsi_value>ema(tsi_value, signal) and candlebuy and hullbuy)
strategy.entry("sell", false, na, when = tsi_value<ema(tsi_value, signal) and candlesell and hullsell)
strategy.close_all(when = strategy.openprofit>TP or strategy.openprofit<SL)