Estrategia de oscilación promedio de TEMA alta y baja


Fecha de creación: 2023-11-15 17:49:52 Última modificación: 2023-11-15 17:49:52
Copiar: 0 Número de Visitas: 655
1
Seguir
1617
Seguidores

Estrategia de oscilación promedio de TEMA alta y baja

Descripción general

Esta estrategia utiliza los tres indicadores TEMA, VWMACD y HMA para capturar la tendencia bajista de Bitcoin. Su lógica principal es cerrar la posición cuando el precio cruza el eje 0 por debajo de la línea media de HMA y el eje TEMA por debajo de la línea larga.

El principio

Primero se calcula el VWMACD ((la única diferencia entre el MACD normal y el VWMACD es la forma en que se calcula el promedio móvil) y se dibuja un gráfico en forma de columnas. Luego se agrega HMA como filtro de tendencia. Luego se crea y se agrega la línea rápida TEMA ((de 5 ciclos) y la línea lenta TEMA ((de 8 ciclos) y se calcula el diferencial de ambos.

Las reglas específicas de entrada son: hacer vacío cuando el VWMACD está por debajo del eje 0, el precio está por debajo de la media HMA y el TEMA de la línea rápida está por debajo del TEMA de la línea lenta.

Las reglas de salida específicas son: cuando el VWMACD atraviesa el eje 0 y el precio es más alto que la línea media HMA o la línea rápida TEMA cuando atraviesa la línea lenta TEMA.

Análisis de las ventajas

  • Utilizando una combinación de tres indicadores para mejorar la fiabilidad de las señales de negociación
  • VWMACD puede identificar desviaciones de tendencias y proporcionar un juicio más preciso
  • HMAfilt como filtro de tendencias para evitar ser engañados por el ruido
  • La cartera TEMA, para capturar el punto de inflexión a corto plazo
  • Parámetros de corto período para el comercio de alta frecuencia para capturar la tendencia bajista a corto plazo

Análisis de riesgos

  • Combinación de múltiples indicadores, configuración de parámetros más compleja, que requiere experiencia para ajustar
  • Los filtros HMA no impiden una falsa brecha en un mercado convulso
  • Los parámetros de ciclo corto son susceptibles a la interferencia del ruido del mercado y a las señales de error
  • El control de pérdidas debe ser riguroso para evitar pérdidas considerables que superen las expectativas.
  • Los operadores deben tener en cuenta el control de los costos de las transacciones, ya que las transacciones de alta frecuencia pueden verse afectadas por la fricción de las comisiones.

Dirección de optimización

  • Puede probar combinaciones de parámetros de diferentes períodos para encontrar el parámetro óptimo
  • Se pueden agregar otros indicadores como RSI, KD, etc.
  • Se pueden utilizar parámetros de adaptación según las diferentes condiciones del mercado
  • Optimización de las estrategias de stop loss, como el movimiento de los precios
  • La combinación de indicadores de energía puede evitar falsos avances de energía insuficiente

Resumir

La estrategia utiliza una combinación de VWMACD, HMA y TEMA rápido, Ziel para capturar la tendencia bajista de Bitcoin a corto plazo. Su ventaja es que la señal es más confiable y adecuada para el comercio de alta frecuencia. Pero también existe el riesgo de que los parámetros sean complejos y sean susceptibles a la interferencia de ruido.

Código Fuente de la Estrategia
/*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)))