Отображение еженедельных расчетов на дневном графике - PullRequest
0 голосов
/ 12 апреля 2020

Поэтому я подумал, что использование функции безопасности, как у меня, даст мне еженедельное значение hv на любом таймфрейме графика, но оно даст мне неправильные значения.

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

//@version=4
study(title="Historical Volatility Simple +", shorttitle="Historical Volatility Simple +", format=format.price, precision=2)
length = input(10, minval=1)

period = input(title = "Period", type=input.string, defval="Week", options = ['Day', 'Week', 'Month'])

res = period == 'Day' ? 'D' : period == 'Week' ? 'W' : period == 'Month' ? 'M' : 'D' 

tfclose= security(syminfo.tickerid, res, close)


annual = 365
per = timeframe.isintraday or timeframe.isdaily and timeframe.multiplier == 1 ? 1 : 7
hv = 100 * stdev(log(close / close[1]), length) * sqrt(annual / per)
hv2 = 100 * stdev(log(tfclose / tfclose[1]), length) * sqrt(annual / per)

//plot(hv, color=color.blue)
pr=percentrank(hv,annual)
pr2=percentrank(hv2,annual)
plot(pr,color=color.black)
plot(pr2,color=color.blue)
h1 =hline(0)
h2 =hline(25)
h3 =hline(50)
h4 =hline(75)
h5 =hline(100)


fill(h1,h2,color=pr<25?color.gray:na)
//fill(h1,h2,color=color.gray)
fill(h2,h3,color=pr>25 and pr<50?color.blue:na)
fill(h3,h4,color=pr>50 and pr<75?color.purple:na)
fill(h4,h5,color=pr>75?color.red:na)
...