Estrategia cuantitativa de negociación basada en el indicador de la ETI y la media móvil del casco

El autor:¿ Qué pasa?, Fecha: 2023-12-18 16:56:22
Las etiquetas:

img

Resumen general

Esta estrategia se llama Quantitative Trading Strategy Based on TSI Indicator and Hull Moving Average. La idea principal es identificar tendencias en acciones, criptomonedas o divisas combinando el indicador TSI y el promedio móvil de Hull, y generar señales comerciales cuando comienza una tendencia.

Estrategia lógica

La estrategia utiliza el indicador de la ETI para determinar las tendencias y el impulso de los precios. El indicador de la ETI se basa en una media móvil doble suavizada de la tasa de cambio de precios. Genera señales de compra cuando el valor de la ETI se cruza por encima de su media móvil y señales de venta cuando se cruza por debajo.

La estrategia también utiliza el promedio móvil de Hull para determinar las tendencias de precios. El promedio móvil de Hull se construye con promedios móviles doblemente ponderados y puede filtrar el ruido del mercado de manera efectiva.

Cuando el indicador TSI genera una señal, si el Hull Moving Average confirma la tendencia en la misma dirección, se activarán las señales comerciales correspondientes. Además, la estrategia también verifica la dirección de los cuerpos de las velas para confirmar la tendencia. Las señales se generan solo cuando la señal del indicador, la señal del casco y la dirección del cuerpo de las velas están alineadas de manera consistente.

Análisis de ventajas

Al combinar indicadores de tendencia, impulso y medias móviles, esta estrategia puede identificar eficazmente el inicio de las tendencias del mercado y evitar señales falsas excesivas.

En comparación con las estrategias de un solo indicador, esta estrategia filtra las señales mediante la combinación de múltiples indicadores, lo que puede mejorar en gran medida la calidad de las señales.

Análisis de riesgos

Aunque esta estrategia puede identificar efectivamente los comienzos de tendencia, puede generar algunas señales falsas y un exceso de negociación durante las consolidaciones del mercado.

Para reducir los riesgos, los parámetros del período del casco o de la ETI se pueden ajustar en consecuencia. También se pueden agregar paradas para controlar las pérdidas. Durante las optimizaciones, se debe prestar atención a garantizar una alta relación señal-ruido para obtener los mejores parámetros.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimice los parámetros de la media móvil del casco para suavizar las curvas y filtrar señales falsas
  2. Optimizar los parámetros de la ETI para equilibrar sensibilidad y estabilidad
  3. Añadir estrategias de stop loss para controlar el tamaño de la pérdida
  4. Ajustar la longitud de la señal para filtrar el ruido a corto plazo
  5. Prueba en diferentes productos y plazos
  6. Incorporar otros indicadores para la verificación de señales

Conclusión

Esta estrategia combina el indicador TSI y el promedio móvil de Hull para generar señales comerciales después de confirmar las tendencias del mercado. La estrategia tiene un alto tiempo y calidad de señal. A través de la optimización de parámetros y la combinación de estrategias, la rentabilidad puede mejorarse en gran medida al tiempo que se reducen los riesgos. La estrategia es adecuada para identificar tendencias a medio y largo plazo, y tiene perspectivas de aplicación prometedoras, especialmente en los mercados de criptomonedas y divisas.


/*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)

Más.