Эта стратегия является улучшенным дизайном, основанным на идеях, представленных Эндрю Абрахамом в статье
Стратегия сначала рассчитывает средний истинный диапазон за последние 21 день в качестве эталонного порога, затем рассчитывает самые высокие и самые низкие цены за последние 21 день, и устанавливает верхние и нижние пределы канала соответственно. Верхний предел канала устанавливается на 21-дневную самую высокую цену минус 3 раза средний истинный диапазон, а нижний предел устанавливается на 21-дневную самую низкую цену плюс 3 раза средний истинный диапазон. Когда цена закрытия выше верхнего предела канала, это сигнал давления продажи; когда цена закрытия ниже нижнего предела канала, это сигнал покупки. Для фильтрации ложных сигналов также рассчитывается 21-периодный экспоненциальный средний, и реальный торговый сигнал генерируется только тогда, когда цена закрытия пересекает пределы канала в том же направлении, что и первоначальный средний движущийся. Кроме того, стратегия также обеспечивает обратный входный параметр, который может
Наибольшее преимущество этой стратегии заключается в том, что она может динамически отслеживать тенденции цен и генерировать соответствующие торговые сигналы. По сравнению с движущимися средними стратегиями с фиксированными параметрами, она может лучше улавливать тенденции изменения цен. Кроме того, установка канала включает в себя истинный диапазон, избегая недостатков установки лимитов канала, основанных исключительно на самых высоких и самых низких ценах. Диапазон колебаний верхних и нижних пределов канала также очень разумный, избегая ложных прорывов в некоторой степени. Настройка обратного параметра также увеличивает гибкость стратегии.
Существует два основных риска этой стратегии: один - риск переоценки, вызванный увеличением торговых сигналов; второй - риск, который может возникнуть из-за неправильной настройки параметров. Поскольку эта стратегия использует динамические параметры, торговые сигналы будут более частыми, чем традиционные стратегии скользящих средних, что может привести к определенной степени риска переоценки. Кроме того, если параметры установлены неправильно, например, если период времени установлен слишком коротким или предельные значения канала слишком малы, также увеличатся ложные сигналы, что увеличивает риск.
Чтобы контролировать риски, параметры могут быть корректированы соответствующим образом путем выбора более длительных временных периодов и умеренного ослабления ограничений верхнего и нижнего пределов канала.
Для оптимизации этой стратегии еще есть большое пространство. Например, можно рассмотреть другие индикаторы фильтрации, такие как RSI и KD, чтобы избежать ложных прорывов. Методы машинного обучения также могут быть использованы для автоматической оптимизации параметров. Кроме того, оптимальные значения параметров могут отличаться в разных акциях и рыночных условиях. Поэтому мы также можем рассмотреть возможность разработки набора механизмов оптимизации параметров для динамического выбора оптимальных параметров на основе характеристик акций и рынка для улучшения стабильности стратегии.
В целом, это очень практичная стратегия отслеживания трендов. По сравнению с традиционными стратегиями скользящих средних, она более гибкая и интеллектуальная, и может динамически улавливать тенденции изменения цен. При правильной настройке параметров качество ее торговых сигналов относительно высокое и может приносить хорошую прибыль. Ожидается, что производительность этой стратегии может быть еще лучше с помощью последующих оптимизаций. Стоит проверить в живой торговле и применении.
/*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")