Основная идея этой стратегии заключается в том, чтобы судить о ценовых тенденциях и генерировать торговые сигналы с использованием скользящих средних и полос Боллинджера. В частности, сначала он вычисляет средний истинный диапазон (ATR) за определенный период, чтобы получить диапазон волатильности, а затем объединяет самые высокие и самые низкие цены, чтобы сформировать ограничительный канал. Если цена проходит через этот канал, цена закрытия устанавливается как цена канала. После этого он вычисляет движущуюся среднюю из ограниченных цен закрытия, которая называется движущейся средней Trend Trader (AVR).
Стратегия сначала рассчитывает диапазон ATR и образует ограничительный канал в сочетании с самыми высокими и самыми низкими ценами. Цена закрытия будет ограничена ценой канала только тогда, когда она пройдет через канал. После этого она рассчитывает движущуюся среднюю цену Trend Trader ограниченных закрытий, которая отражает направление средне-долгосрочного тренда. Наконец, нарисуйте верхнюю полосу и нижнюю полосу параллельно движущемуся среднему Trend Trader как полосы Боллинджера. Пробивание через верхнюю полосу генерирует длинный сигнал, а прорыв через нижнюю полосу генерирует короткий сигнал.
Основой оценки тренда является скользящая средняя, которая отражает направление тренда в среднесрочной и долгосрочной перспективе. Роль полос Боллинджера заключается в том, чтобы отфильтровать некоторые ложные прорывы и сделать торговые сигналы более надежными.
Решения:
Стратегия в целом является сильной системой, следующей за трендом. Она может судить о средне-долгосрочном тренде и генерировать торговые сигналы в сочетании с полосами Боллинджера. Благодаря оптимизации параметров она может получить стабильную альфу. Но контроль рисков также важен для того, чтобы избежать огромных потерь из-за некоторых внезапных событий при долгосрочном держании.
/*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")