Estrategia de supertendencia basada en el rango verdadero promedio


Fecha de creación: 2024-01-18 12:26:33 Última modificación: 2024-01-18 12:26:33
Copiar: 1 Número de Visitas: 623
1
Seguir
1617
Seguidores

Estrategia de supertendencia basada en el rango verdadero promedio

Descripción general

Esta estrategia se basa en el indicador de la amplitud real media (Average True Range, ATR) para construir el canal SuperTrend, generando señales de compra y venta en función de la ruptura de precios en el canal SuperTrend. La estrategia combina las ventajas del seguimiento de tendencias y la gestión de stop loss para seguir eficazmente la dirección de la tendencia.

Principio de estrategia

La órbita superior y inferior del canal de hipertrend se calculan con la siguiente fórmula:

El precio de salida = (precio máximo + precio mínimo) / 2 + ATR (n) * Factor La línea inferior = (precio más alto + precio más bajo) / 2 - ATR (n) * factor

Donde, ATR ((n) representa la amplitud real promedio de n días, y el factor es un parámetro ajustable, por defecto 3.

Cuando el precio de cierre está por encima de la línea de alza, es una señal de ventaja, y cuando el precio de cierre está por debajo de la línea de baja, es una señal de ventaja. La estrategia determina la entrada y la salida del mercado según las señales de venta y ventaja.

Análisis de las ventajas

  • El uso del indicador ATR para determinar el rango de canal en función de la amplitud del mercado permite un seguimiento eficaz de las tendencias
  • La combinación de la brecha en el canal para determinar el momento de entrada en el mercado y evitar la brecha falsa
  • El rango de los canales se puede ajustar según los parámetros de los factores para adaptarse a los diferentes mercados de volatilidad
  • Las ventajas de integrar el seguimiento de tendencias y la gestión de pérdidas

Análisis de riesgos

  • La configuración incorrecta de los parámetros de los factores puede causar una ganancia insuficiente o un alto límite de pérdidas
  • Las señales de transacción emitidas por los canales de tendencia extrema son frecuentes en momentos de agitación del mercado y pueden generar exceso de transacciones.
  • Necesidad de optimizar la correspondencia de los parámetros de ATR con los parámetros de factor

La solución al riesgo:

  • Ajuste de los parámetros de los factores para los diferentes mercados para reducir el riesgo de pérdidas excesivamente fuertes
  • Aumentar los filtros condicionales para evitar que las bolsas se muevan con frecuencia
  • Factores como la volatilidad del mercado y el tiempo de mantenimiento de las posiciones se toman en cuenta para que coincida con el ciclo ATR

Dirección de optimización

  • En combinación con otros indicadores, las señales de filtración optimizan el tiempo de entrada
  • Aumentar el seguimiento móvil de las pérdidas para atrapar más ganancias
  • Optimización de parámetros de diferentes variedades y períodos
  • Optimización de la correspondencia de los parámetros ATR con los factores

Resumir

Esta estrategia utiliza el canal de hipertrend para realizar el seguimiento de tendencias y el manejo de pérdidas. La correspondencia de los parámetros ATR y de los factores es fundamental para la eficacia de la estrategia. El siguiente paso será optimizar aún más la estrategia en términos de optimización de parámetros, filtración de señales, etc., para que pueda adaptarse a un entorno de mercado más complejo.

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

//@version=5
strategy("Supertrend Backtest", shorttitle="STBT", overlay=true)

// Input for ATR Length
atrLength = input.int(10, title="ATR Length", minval=1)
atrFactor = input.float(3.0, title="Factor", minval=0.01, step=0.01)

// Calculate SuperTrend
[supertrend, direction] = ta.supertrend(atrFactor, atrLength)
supertrend := barstate.isfirst ? na : supertrend

// Define entry and exit conditions
longCondition = ta.crossover(close, supertrend)
shortCondition = ta.crossunder(close, supertrend)

// Plot the SuperTrend
plot(supertrend, color=color.new(color.blue, 0), title="SuperTrend")

// Plot Buy and Sell signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy Entry and Exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)