
Эта стратегия использует метод крайней стоимости для вычисления статистической волатильности, также известной как историческая волатильность. Она основана на максимальных значениях цены, минимальной цены и цены закрытия, в сочетании с временными факторами, для вычисления статистической волатильности. Эта волатильность отражает волатильность цен на активы.
Вычисление предельных значений максимальной, минимальной и закрывающей цены за определенный период времени
Используйте формулы по экстремальному значению для вычисления статистической волатильности
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
Сопоставление колебаний с установленными верхними и нижними порогами для получения торговых сигналов
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
Положите лизинг или лизинг в зависимости от торгового сигнала
Основные преимущества этой стратегии:
Основные риски, связанные с этой стратегией:
Как бороться с этим и как его решить?
Оптимизация этой стратегии:
Эта стратегия использует метод экстремальной стоимости для вычисления статистической волатильности, чтобы генерировать торговый сигнал путем захвата волатильности. По сравнению с такими показателями, как простая движущаяся средняя, она лучше отражает волатильность рынка и захватывает обратный ход. В то же время алгоритм экстремальной стоимости также делает результаты более стабильными и надежными.
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 22/11/2014
// This indicator used to calculate the statistical volatility, sometime
// called historical volatility, based on the Extreme Value Method.
// Please use this link to get more information about Volatility.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Statistical Volatility - Extreme Value Method ", shorttitle="Statistical Volatility Backtest")
Length = input(30, minval=1)
TopBand = input(0.005, step=0.001)
LowBand = input(0.0016, step=0.001)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMaxC = highest(close, Length)
xMaxH = highest(high, Length)
xMinC = lowest(close, Length)
xMinL = lowest(low, Length)
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol))
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -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(nRes, color=blue, title="Statistical Volatility")