Esta estrategia es un diseño mejorado basado en las ideas presentadas por Andrew Abraham en el artículo
La estrategia primero calcula el rango verdadero promedio durante los últimos 21 días como umbral de referencia, luego calcula los precios más altos y más bajos durante los últimos 21 días, y establece los límites superior e inferior del canal en consecuencia. El límite superior del canal se establece en el precio más alto de 21 días menos 3 veces el rango verdadero promedio, y el límite inferior se establece en el precio más bajo de 21 días más 3 veces el rango verdadero promedio. Cuando el precio de cierre es mayor que el límite superior del canal, es una señal de presión de venta; cuando el precio de cierre es menor que el límite inferior del canal, es una señal de compra. Para filtrar las señales falsas, también se calcula un promedio exponencial de 21 períodos, y una señal de negociación real solo se genera cuando el precio de cierre atraviesa los límites del canal en la misma dirección que el promedio móvil original. Además, la estrategia también proporciona una entrada inversa, que puede implementar señales de entrada que pueden revertir las operaciones largas y cortas y invertir las operaciones largas y cortas.
La mayor ventaja de esta estrategia es que puede rastrear dinámicamente las tendencias de precios y generar señales comerciales en consecuencia. En comparación con las estrategias de promedio móvil con parámetros fijos, puede capturar mejor las tendencias de cambio de precios. Además, el establecimiento del canal incorpora el rango verdadero, evitando las deficiencias de establecer límites de canal basados únicamente en los precios más altos y más bajos. El rango de fluctuación de los límites superiores e inferiores del canal también es muy razonable, evitando breakouts falsos hasta cierto punto. La personalización del parámetro inverso también aumenta la flexibilidad de la estrategia.
Hay dos riesgos principales con esta estrategia: uno es el riesgo de sobreventa causado por el aumento de las señales de negociación; el segundo es el riesgo que puede surgir de la configuración incorrecta de parámetros. Como esta estrategia utiliza parámetros dinámicos, las señales de negociación serán más frecuentes que las estrategias tradicionales de promedio móvil, lo que puede conducir a un cierto grado de riesgo de sobreventa. Además, si los parámetros se establecen incorrectamente, como si el período de tiempo se establece demasiado corto o los valores límite del canal son demasiado pequeños, las señales falsas también aumentarán, lo que aumenta el riesgo.
Para controlar los riesgos, los parámetros se pueden ajustar adecuadamente seleccionando períodos de tiempo más largos y relajando moderadamente las restricciones del límite superior e inferior del canal.
Por ejemplo, se pueden considerar otros indicadores de filtrado como el RSI y el KD para evitar fallas falsas. También se pueden probar métodos de aprendizaje automático para optimizar automáticamente los parámetros. Además, los valores óptimos de los parámetros pueden diferir entre diferentes acciones y entornos de mercado. Por lo tanto, también podemos considerar formular un conjunto de mecanismos de optimización de parámetros para seleccionar dinámicamente los parámetros óptimos basados en las características de las acciones y el mercado para mejorar la estabilidad de la estrategia.
En general, esta es una estrategia de seguimiento de tendencias muy práctica. En comparación con las estrategias tradicionales de promedios móviles, es más flexible e inteligente, y puede capturar dinámicamente las tendencias de cambio de precios. Con el ajuste adecuado de los parámetros, la calidad de sus señales comerciales es relativamente alta y puede producir buenos retornos. Se espera que el rendimiento de esta estrategia pueda mejorarse aún más a través de optimizaciones posteriores.
/*backtest start: 2023-02-15 00:00:00 end: 2024-02-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 10/10/2018 // This is plots the indicator developed by Andrew Abraham // in the Trading the Trend article of TASC September 1998 // It was modified, result values wass averages. //////////////////////////////////////////////////////////// strategy(title="Trend Trader AVR Backtest", overlay = true) Length = input(21, minval=1), LengthMA = input(21, minval=1), Multiplier = input(3, minval=1) reverse = input(false, title="Trade reverse") avgTR = wma(atr(1), Length) highestC = highest(Length) lowestC = lowest(Length) hiLimit = highestC[1]-(avgTR[1] * Multiplier) loLimit = lowestC[1]+(avgTR[1] * Multiplier) ret = 0.0 ret := iff(close > hiLimit and close > loLimit, hiLimit, iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0))) nResMA = ema(ret, LengthMA) pos = 0 pos := iff(close < nResMA, -1, iff(close > nResMA, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nResMA, color= blue , title="Trend Trader AVR")