Стратегия конечного объема, основанная на адаптивной волатильности


Дата создания: 2023-10-17 14:50:13 Последнее изменение: 2023-10-17 14:50:13
Копировать: 0 Количество просмотров: 613
1
Подписаться
1617
Подписчики

Стратегия конечного объема, основанная на адаптивной волатильности

Обзор

Эта стратегия использует метод ограниченных объемных элементов, в сочетании с адаптивным измерением волатильности, для многопространственного суждения о ценовых изменениях, относится к стратегии типа отслеживания тенденций. Стратегия применима к различным временным периодам, способна автоматически корректировать параметры, чтобы адаптироваться к различным уровням волатильности.

Принципы

Сначала вычисляются высокие и низкие средние цены, средние цены закрытия и средние цены закрытия для последней N-корневой K-линии, а также высокие и низкие средние цены закрытия для предыдущей K-линии. Затем вычисляются логические доходности для текущей K-линии и предыдущей K-линии Intra и Inter.

В зависимости от уровня волатильности и регулируемых параметров, вычисляется адаптивный коэффициент отсечения CutOff. Когда цена изменяется более CutOff, дается пустой сигнал. В частности, вычисляется разница между текущей ценой закрытия K-линии и высокой и низкой средней ценой MF, когда MF больше, чем CutOff, как многоголовый сигнал, когда MF меньше, чем отрицательный CutOff, как пустой сигнал.

В конце концов, исходя из сигналов, вычисляется направление потока средств, выводы сигналов pos, и изображается кривая с конечным объемом FVE.

Преимущества

  1. Самостоятельно адаптируемые параметры, применяемые для различных циклов и уровней волатильности, без необходимости адаптации человеком.
  2. Точная оценка изменения ценовых тенденций.
  3. Кривая элементов с ограниченным объемом четко отражает противоположность многомерных сил.
  4. Теоретическая основа для денежных потоков устойчива, а сигналы более надежны.

Риск

  1. При резких рыночных колебаниях может возникать больше ошибочных сигналов. Можно соответствующим образом скорректировать N параметры.
  2. Невозможность обрабатывать скачки цен. Можно рассмотреть возможность дополнения других показателей для комбинации.
  3. Сигналы теории денежных потоков могут отличаться от сигналов технического анализа.

Направление оптимизации

  1. Можно проверить влияние различных N параметров на результаты. Как правило, N принимает большие значения, чтобы отфильтровать избыточный шум.
  2. Можно тестировать различные значения Cintra и Cinter, чтобы найти оптимальное сочетание параметров. Можно также рассмотреть возможность динамической корректировки этих двух параметров.
  3. Можно рассмотреть возможность комбинации с другими индикаторами, такими как MACD, для повышения стабильности стратегии.
  4. Можно создать механизм сдерживания убытков, чтобы контролировать индивидуальные потери.

Подвести итог

Эта стратегия в целом более надежна, имеет хорошие принципы, может быть использована в качестве составной части стратегии отслеживания тенденций, и ее эффективность улучшается после соответствующей комбинации с другими стратегиями. Ключом является поиск оптимальных параметров и создание хороших мер по борьбе с ветром. Если впоследствии можно продолжить оптимизацию, это станет очень мощной стратегией отслеживания тенденций.

Исходный код стратегии
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/08/2017
// This is another version of FVE indicator that we have posted earlier 
// in this forum.
// This version has an important enhancement to the previous one that`s 
// especially useful with intraday minute charts.
// Due to the volatility had not been taken into account to avoid the extra 
// complication in the formula, the previous formula has some drawbacks:
// The main drawback is that the constant cutoff coefficient will overestimate 
// price changes in minute charts and underestimate corresponding changes in 
// weekly or monthly charts.
// And now the indicator uses adaptive cutoff coefficient which will adjust to 
// all time frames automatically.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Volatility Finite Volume Elements", shorttitle="FVI")
Samples = input(22, minval=1)
Perma = input(40, minval=1)
Cintra = input(0.1, step=0.1)
Cinter = input(0.1, step=0.1)
reverse = input(false, title="Trade reverse")
xhl2 = hl2
xhlc3 = hlc3
xClose = close
xIntra = log(high) - log(low)
xInter = log(xhlc3) - log(xhlc3[1])
xStDevIntra = stdev(sma(xIntra, Samples) , Samples)
xStDevInter = stdev(sma(xInter, Samples) , Samples)
xVolume = volume
TP = xhlc3
TP1 = xhlc3[1]
Intra = xIntra
Vintra = xStDevIntra
Inter = xInter
Vinter = xStDevInter
CutOff = Cintra * Vintra + Cinter * Vinter
MF = xClose - xhl2 + TP - TP1
FveFactor = iff(MF > CutOff * xClose, 1, 
             iff(MF < -1 * CutOff * xClose, -1,  0))
xVolumePlusMinus = xVolume * FveFactor
Fvesum = sum(xVolumePlusMinus, Samples)
VolSum = sum(xVolume, Samples)
xFVE = (Fvesum / VolSum) * 100
xEMAFVE = ema(xFVE, Perma)
pos = iff(xFVE > xEMAFVE, 1,
	   iff(xFVE < xEMAFVE, -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(xFVE, color=green, title="FVI")
plot(xEMAFVE, color=blue, title="FVI EMA")