Estrategia de oscilación del promedio TEMA alto y bajo

El autor:¿ Qué pasa?, Fecha: 2023-11-15 17:49:52
Las etiquetas:

img

Resumen general

Esta estrategia utiliza indicadores TEMA, VWMACD y HMA para capturar la tendencia bajista de Bitcoin. Su lógica principal es ir corto cuando VWMACD cruza por debajo de 0, el precio está por debajo de HMA y TEMA rápido está por debajo de TEMA lento. Salira de la posición cuando VWMACD cruza por encima de 0, el precio está por encima de HMA o TEMA rápido cruza por encima de TEMA lento.

Principio

Primero calcular VWMACD (la única diferencia con el MACD regular es la forma de calcular el promedio móvil) y trazarlo como histograma. Luego agregar HMA como un filtro de tendencia. Después de eso, crear y agregar TEMA rápido (5 períodos) y TEMA lento (8 períodos), y calcular la diferencia entre ellos para trazar alrededor de 0. Esta es la decisión clave para ir corto.

La regla de entrada específica es: cuando el VWMACD está por debajo de 0, el precio está por debajo de HMA y el TEMA rápido está por debajo del TEMA lento, corta.

La regla de salida específica es: cuando el VWMACD cruza por encima de 0, el precio está por encima de HMA o el TEMA rápido cruza por encima del TEMA lento, posición cerrada.

Análisis de ventajas

  • Utiliza una combinación de tres indicadores, mejora la fiabilidad de las señales comerciales.
  • VWMACD puede identificar divergencias y proporcionar juicios de tendencia precisos.
  • HMAfiltrado como un filtro de tendencia, evita la interferencia acústica.
  • El combo TEMA rápido y lento captura puntos de reversión a corto plazo.
  • Adopta parámetros de corto plazo, adecuados para operaciones de alta frecuencia, detecta tendencias a la baja a corto plazo.

Análisis de riesgos

  • Combinación de múltiples indicadores, ajuste de parámetros complejos necesarios.
  • A pesar de tener un filtro HMA, todavía hay que prevenir falsos breakouts en los mercados de rango.
  • Pueden producirse señales erróneas durante períodos cortos propensos a la interferencia del ruido del mercado.
  • Necesita un estricto stop loss para evitar grandes pérdidas inesperadas.
  • Necesitamos centrarnos en el control de los costos de transacción, el comercio de alta frecuencia fácilmente dañado por la fricción.

Direcciones de optimización

  • Puede probar diferentes combinaciones de parámetros para encontrar parámetros óptimos.
  • Puede agregar otros indicadores como RSI, KD para ayuda.
  • Puede utilizar parámetros adaptativos según las diferentes condiciones del mercado.
  • Puede optimizar la estrategia de stop loss, como el stop loss trasero.
  • Puede combinarse con indicadores de volumen para evitar un empuje insuficiente.

Conclusión

Esta estrategia utiliza la combinación de VWMACD, HMA y TEMA rápido / lento para capturar las tendencias a la baja a corto plazo de Bitcoin. Sus ventajas son señales relativamente confiables y la idoneidad para el comercio de alta frecuencia. Pero también tiene riesgos como sintonización de parámetros complejos, propensos a interferencias de ruido. Optimizar aún más los combos de parámetros y agregar indicadores auxiliares puede hacer que la estrategia sea más estable y confiable.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)
    

slow = input(13, "Short period")
fast = input(21, "Long period")
signal = input(5, "Smoothing period")

Fast = ema( volume * close, fast ) / ema( volume, fast ) 
Slow = ema( volume * close, slow ) / ema( volume, slow ) 
Macd = Slow - Fast 
Signal = ema(Macd, signal) 
Hist=Macd-Signal
plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram)
plot(0, color=color.red)

length = input(400, minval=1, title = "HMA")
hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length)))

tema_length_1 = input(5, "Fast moving TEMA")
tema_length_2 = input(8, "Slow moving TEMA")


tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

threshold  = 0
tm = tema1 - tema2
plot_fast = plot(tm, color = tm > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

up =  crossover(tm, 0) 
down = crossunder(tm, 0)

longCondition =  (Hist < 0) and hullma > close and (tema1 < tema2)  and _testPeriod() 
strategy.entry('BUY', strategy.short, when=longCondition)  
 
shortCondition =  (Hist > 0) or hullma < close or up
strategy.close('BUY', when=shortCondition)


// Take profit  
tp = input(1, type=input.float, title='Take Profit (%)')  
sl = input(4, type=input.float, title='Stop Loss (%)')  
strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))

Más.