
La estrategia de tendencias cuantitativas SuperZ es una estrategia de seguimiento de tendencias basada en indicadores cuantitativos. La estrategia utiliza indicadores personalizados en combinación con indicadores de tendencias super, para juzgar y seguir las tendencias.
El indicador central de la estrategia es el indicador cuantitativo personalizado VHMA. El indicador VHMA se calcula basado en el promedio móvil de Hull y se vuelve a suavizar el Hull MA mediante la función de la raíz cuadrada, formando una curva de buena suavidad. La curva VHMA puede determinar la dirección de la tendencia de los precios, representando que los precios están en una tendencia ascendente cuando el VHMA está en alza y una tendencia descendente cuando está en baja.
La estrategia también combina un indicador de tendencia súper, que puede detectar tendencias de precios de períodos más largos, ayudando al indicador VHMA a determinar la dirección de la tendencia. Cuando el precio rompe la línea de tendencia súper, la tendencia se invierte.
Por lo tanto, la estrategia determina la dirección de la tendencia a corto plazo a través del indicador VHMA, complementado con el indicador de tendencia súper para determinar el punto de inflexión de la tendencia a largo plazo, para lograr el seguimiento de la tendencia general. La lógica de negociación específica emite una señal de negociación cuando se rompe la línea de tendencia súper.
La estrategia tiene las siguientes ventajas:
Los indicadores VHMA son muy suaves, lo que reduce las señales falsas y permite determinar con precisión y fiabilidad la dirección de la tendencia.
La combinación de indicadores de tendencias súper puede detectar el cambio de tendencia a largo plazo a tiempo y aprovechar el momento de comprar y vender.
Usar diferentes colores de la entidad de la línea K y la línea de K vacío para representar la relación de tamaño entre el precio de cierre y el precio de apertura, la formación de indicadores visuales, auxiliar en el juicio de la tendencia;
El diseño de múltiples marcos de tiempo permite determinar la dirección de la tendencia en los marcos de tiempo superiores y emitir señales de negociación en los marcos de tiempo inferiores, lo que permite un filtrado eficiente.
Los parámetros de la estrategia han sido optimizados y son estables para ser aplicados en diversos entornos de mercado.
La estrategia también tiene los siguientes riesgos:
Los indicadores cuantitativos tienen un efecto de retroalimentación que puede ser menor que el efecto de disco duro;
La configuración incorrecta de los parámetros del indicador de tendencia súper puede causar oportunidades de negociación perdidas o aumentar las transacciones sin sentido;
El diseño de múltiples marcos de tiempo también puede fallar en condiciones reales.
Respuesta:
Aumentar la configuración del punto de deslizamiento y optimizar los parámetros para reducir el efecto de retroalimentación;
Ajuste de los parámetros del indicador de tendencia súper y optimización de la configuración de los parámetros;
Prueba de múltiples marcos de tiempo para asegurar la estabilidad de múltiples marcos de tiempo.
La estrategia se puede optimizar en los siguientes aspectos:
Prueba de diferentes promedios móviles lisos en lugar de los VHMA;
En lugar de los indicadores de tendencias, se puede intentar utilizar otros tipos de indicadores de tendencias.
Aumentar los parámetros de los indicadores de entrenamiento de los modelos de aprendizaje automático.
Estas optimizaciones pueden mejorar la adaptabilidad de las estrategias a situaciones complejas.
La estrategia de tendencias cuantitativas Super Z permite el juicio y el seguimiento de las tendencias de los precios a través de indicadores de tendencias personalizados VHMA en combinación con indicadores de tendencias super. La estrategia tiene una buena estabilidad y un excelente rendimiento en el disco.
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//Original script
//https://www.tradingview.com/script/wYknDlLx-super-Z/
//@version=4
strategy("Super Z strategy - Thanks to Rafael Zioni", shorttitle="Super Z strategy",overlay=true )
src5 = input(close)
tf = input(1440)
len5 = timeframe.isintraday and timeframe.multiplier >= 1 ?
tf / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
ma = ema(src5*volume, len5) / ema(volume, len5)
//script taken from https://www.tradingview.com/script/kChCRRZI-Hull-Moving-Average/
src1 = ma
p(src1, len5) =>
n = 0.0
s = 0.0
for i = 0 to len5 - 1
w = (len5 - i) * len5
n := n + w
s := s + src5[i] * w
s / n
hm = 2.0 * p(src1, floor(len5 / 2)) - p(src1, len5)
vhma = p(hm, floor(sqrt(len5)))
lineColor = vhma > vhma[1] ? color.lime : color.red
plot(vhma, title="VHMA", color=lineColor ,linewidth=3)
hColor = true,vis = true
hu = hColor ? (vhma > vhma[2] ? #00ff00 : #ff0000) : #ff9800
vl = vhma[0]
ll = vhma[1]
m1 = plot(vl, color=hu, linewidth=1, transp=60)
m2 = plot(vis ? ll : na, color=hu, linewidth=2, transp=80)
fill(m1, m2, color=hu, transp=70)
//
b = timeframe.isintraday and timeframe.multiplier >= 1 ?
60 / timeframe.multiplier * 7 :
timeframe.isintraday and timeframe.multiplier < 60 ?
60 / timeframe.multiplier * 24 * 7 : 7
//
res5 = input("D", type=input.resolution)
o = security(syminfo.tickerid, res5, open, barmerge.gaps_off, barmerge.lookahead_on)
c = security(syminfo.tickerid, res5, close, barmerge.gaps_off, barmerge.lookahead_on)
hz = security(syminfo.tickerid, res5, high, barmerge.gaps_off, barmerge.lookahead_on)
l = security(syminfo.tickerid, res5, low, barmerge.gaps_off, barmerge.lookahead_on)
col = c >= o ? color.lime : color.red
ppo = plot(b ? o >= c ? hz : l : o, color=col, title="Open", style=plot.style_stepline, transp=100)
ppc = plot(b ? o <= c ? hz : l : c, color=col, title="Close", style=plot.style_stepline, transp=100)
plot(b and hz > c ? hz : na, color=col, title="High", style=plot.style_circles, linewidth=2,transp=60)
plot(b and l < c ? l : na, color=col, title="Low", style=plot.style_circles,linewidth=2, transp=60)
fill(ppo, ppc, col)
//
// INPUTS //
st_mult = input(1, title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(50, title = 'SuperTrend Period', minval = 1)
// CALCULATIONS //
up_lev =l - (st_mult * atr(st_period))
dn_lev = hz + (st_mult * atr(st_period))
up_trend = 0.0
up_trend := c[1] > up_trend[1] ? max(up_lev, up_trend[1]) : up_lev
down_trend = 0.0
down_trend := c[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev
// Calculate trend var
trend = 0
trend := c > down_trend[1] ? 1: c < up_trend[1] ? -1 : nz(trend[1], 1)
// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend
// Plotting
//plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( c, st_line)
sell=crossunder(c, st_line)
signal=input(false)
/////////////// Plotting ///////////////
plotshape(signal and buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.lime)
plotshape(signal and sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.red)
if (buy)
strategy.entry("My Long Entry Id", strategy.long)
if (sell)
strategy.entry("My Short Entry Id", strategy.short)