Обзор: Эта стратегия оценивает, находятся ли цены в состоянии тренда, рассчитывая соотношение между разницей между наивысшей и наименьшей ценами за определенный период и амплитудой цены закрытия, и использует это в качестве индикатора торгового сигнала.
Принцип стратегии: основным показателем этой стратегии является вертикальный горизонтальный фильтр (VHF), который рассчитывается по следующей формуле:
VHF = (высшая ((длина) - низшая ((длина)) / SUM ((ABS ((близко-близко[1]), длина)
где Highest ((Length) и Lowest ((Length) соответственно являются самыми высокими и самыми низкими ценами в цикле Length. Числитель отражает диапазон амплитуды цен, а знаменатель отражает фактическое колебание цен. Их соотношение может судить о тенденции движения цен. Когда VHF выше установленного порога сигнала, считается, что цены находятся в трендовом состоянии. Когда ниже указанного порога сигнала, считается, что цены находятся в шоковом состоянии.
Эта стратегия проста и интуитивно понятна. Сравнивая диапазон колебаний цены с фактическим колебанием, чтобы судить о тренде, она избегает проблемы полагаться исключительно на SMA, EMA и другие индикаторы, игнорируя характеристики самой цены. Но эта стратегия чувствительна к оптимизации параметров, параметры длины и сигнала должны быть скорректированы для адаптации к различным циклам и условиям рынка.
Анализ преимуществ:
Анализ рисков:
Направления оптимизации:
Резюме: Эта стратегия интуитивно определяет тренд на основе характеристик самой цены, проста и действительна, стоит дальнейшего изучения, оптимизации и проверки.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 27/04/2018 // Vertical Horizontal Filter was initiated by Adam White. It was first published // in a magazine called “Issues of Futures” in August, 1991. The Vertical Horizontal // Filter (VHF) is a very common Indicator used by traders to find out the Phase of // a Price Trend. Normally, a price trend can be in a Trending Phase or a Congestion // Phase/Choppy Movement Phase. Adam White created this particular Technical Indicator // to determine whether prices are trending in a particular direction or are they going // through a transitional period. He used it to measure the range of Futures available // in the market. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Vertical Horizontal Filter Backtest") Length = input(28, minval=1) Signal = input(0.4, step=0.01) reverse = input(false, title="Trade reverse") hline(Signal, color=blue, linestyle=line) xHH = highest(high, Length) xLL = lowest(low, Length) xNumerator = abs(xHH - xLL) xDenominator = sum(abs(close - close[1]), Length) xVHF = xNumerator / xDenominator pos = iff(xVHF > Signal, 1, iff(xVHF < Signal, -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(xVHF, color=blue, title="VHF")