La idea principal de esta estrategia es juzgar las tendencias de precios y generar señales de negociación utilizando promedios móviles y bandas de Bollinger. Específicamente, primero calcula el rango verdadero promedio (ATR) durante un cierto período para obtener el rango de volatilidad, luego combina los precios más altos y más bajos para formar un canal limitante. Si el precio rompe a través de este canal, el precio de cierre se establece como el precio del canal. Después de eso, calcula el promedio móvil de los precios cerrados limitados, que se llama promedio móvil de Trend Trader (AVR). Finalmente, dibuja bandas de Bollinger por encima y por debajo del promedio móvil de Trend Trader para formar señales de negociación.
La estrategia primero calcula el rango ATR y forma un canal limitante combinado con los precios más altos y más bajos. El precio de cierre se limitará al precio del canal solo cuando rompa el canal. Después de eso, calcula el promedio móvil de los precios de cierre limitados, que refleja la dirección de la tendencia a mediano y largo plazo. Por último, dibuja una banda superior y una banda inferior paralela al promedio móvil de Trend Trader como bandas de Bollinger.
El núcleo de juzgar la tendencia radica en el promedio móvil de Trend Trader, que encarna la dirección de la tendencia a medio y largo plazo.
Soluciones:
La estrategia es en general un fuerte sistema de seguimiento de tendencias. Puede juzgar la tendencia a medio y largo plazo y generar señales comerciales combinadas con bandas de Bollinger. A través de la optimización de parámetros, puede obtener alfa estable. Pero el control de riesgos también es importante para evitar grandes pérdidas debido a algunos eventos repentinos al mantener a largo plazo. En términos generales, la estrategia merece más investigación y optimización para alfa sostenible a largo plazo.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 16/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. // And draw two bands above and below TT line. //////////////////////////////////////////////////////////// strategy(title="Trend Trader Bands Backtest", overlay = true) Length = input(21, minval=1), LengthMA = input(21, minval=1), BandStep = input(20), 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.0 pos := iff(close < nResMA - BandStep , -1, iff(close > nResMA + BandStep, 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 ) barcolor(pos == -1 ? red: pos == 1 ? green : blue ) plot(nResMA, color= blue , title="Trend Trader AVR") plot(nResMA+BandStep, color= red , title="Trend Trader UpBand") plot(nResMA-BandStep, color= green, title="Trend Trader DnBand")