Estrategia Renko de cruce de medias móviles de duración


Fecha de creación: 2024-01-24 10:55:57 Última modificación: 2024-01-24 10:55:57
Copiar: 0 Número de Visitas: 717
1
Seguir
1617
Seguidores

Estrategia Renko de cruce de medias móviles de duración

Descripción general

La estrategia es una estrategia de cruce de medias móviles basada en el gráfico de Renko. Utiliza el indicador TEMA para construir señales de cruce y se filtra en combinación con la media a largo plazo para identificar tendencias en el gráfico de Renko y emitir señales de compra y venta.

Principio de estrategia

La principal fuente de señales de esta estrategia son los indicadores TEMA a corto plazo y los indicadores SMA de la horquilla dorada. La lógica específica es:

Cuando el corto plazo TEMA en el corto plazo SMA, hacer más; cuando el corto plazo TEMA bajo el corto plazo SMA, cerrar la posición.

Además, la política también establece dos parámetros opcionales, avg_protection y gain_protection, para ajustar la entrada y la lógica de stop loss:

  • Cuando avg_protection>0, solo se compra cuando el precio de cierre es inferior al precio promedio de la posición actual, lo que reduce el costo de la posición;

  • Cuando gain_protection>0, sólo se venderá el stop loss cuando el precio de cierre supere un cierto porcentaje del precio de entrada, lo que bloquea la ganancia.

Finalmente, la estrategia también utiliza un indicador de SMMA a largo plazo como un filtro de tendencia. Sólo se emite una señal de multiplicación cuando el precio de cierre es inferior al SMMA.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. En el caso de las redes sociales, el uso de la tecnología de filtración de ruido para identificar tendencias, basado en el mapa de Renko, es muy eficaz.
  2. El uso de indicadores TEMA para construir señales, de alta sensibilidad y buena capacidad de seguimiento;
  3. La estrategia de entrada tiene muchos parámetros que se pueden ajustar.
  4. En combinación con la media a corto y largo plazo, se pueden capturar oportunidades en la tendencia.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Renko no tiene un eje de tiempo uniforme y no puede controlar el intervalo de tiempo.
  2. La alta sensibilidad de TEMA también hace que sea más fácil generar señales falsas.
  3. La configuración incorrecta de los parámetros puede causar fugas.

Para evitar estos riesgos, se pueden ajustar los parámetros adecuados, establecer la posición de parada, etc.

Dirección de optimización

La estrategia se puede optimizar principalmente en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros para encontrar el mejor.
  2. Aumentar las estrategias de detención de pérdidas, tales como detención móvil, detención intermedia, etc., para reducir el DD;
  3. Se filtran las señales en combinación con otros indicadores para reducir las señales falsas.
  4. Prueba de la eficacia de los parámetros de las diferentes variedades.

Resumir

La estrategia en su conjunto es una estrategia de cruce de línea de movimiento simple pero muy práctica. Se basa principalmente en la excelente eliminación de ruido de la línea Renko K y en la alta sensibilidad de los indicadores TEMA para generar señales. Al mismo tiempo, la combinación de la línea de movimiento de largo plazo también fortalece su capacidad de seguir la tendencia.

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

//@version=2
strategy("TEMA Cross", overlay = true)

tema(src, len) =>
    3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)

smma(src, len) =>
    sa = 0.0
    sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
    sa

temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)


plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")
minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1

avg_protection = input(1)
gain_protection = input(1)

longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)

strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))