Bagaimana Volatilitas dihitung pada Penyaring ?
Volatilitas menghitung variasi harga pada instrumen keuangan selama periode tertentu. Semakin lebar jarak harga, semakin tinggi volatilitas. Semakin sempit jarak harga, semakin rendah volatilitas.
Berikut ini rumus volatilitas yang kami gunakan untuk perhitungan kami (mingguan, bulanan, dan harian):
//@version=4
study("volatility")
fastSearchN(xs, x) => // xs - sorted, ascending
max_bars_back(xs, 366)
left = 0
right = min(bar_index,366)
mid = 0
if xs < x
0
else
for i = 0 to 9
mid := ceil((left+right) / 2)
if left == right
break
else if xs[mid] < x
right := mid
continue
else if xs[mid] > x
left := mid
continue
else
break
mid
month1 = 30
month_ago = timenow - 1000*60*60*24*month1
month_ago_this_bar = time - 1000*60*60*24*month1
countOfBars1MonthAgo = fastSearchN(time, month_ago)
countOfBars1MonthAgoThisBar = fastSearchN(time, month_ago_this_bar)
week1 = 7
week_ago = timenow - 1000*60*60*24*week1
week_ago_this_bar = time - 1000*60*60*24*week1
countOfBarsWeekAgo = fastSearchN(time, week_ago)
countOfBarsWeekAgoThisBar = fastSearchN(time, week_ago_this_bar)
// volatility
volatility(bb) =>
bb2 = bb
if bar_index == 0
bb2 := 365
if bb2 == 0
na
else
s = sum((high-low)/abs(low) * 100 / bb2, bb2)
if bb == 0
na
else
s
plot(volatility(countOfBarsWeekAgoThisBar), title="Volatility.W")
plot(volatility(countOfBars1MonthAgoThisBar),title="Volatility.M")
plot(tr(true)*100/abs(low), title="Volatility.D")
Catatan: Nilai script ini berbeda antara riwayat dan saat ini dikarenakan timenow, lihat https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html
Untuk tampilan visual, anda dapat menambahkan script ini ke chart anda melalui Pine Editor menggunakan chart dengan kerangka waktu harian. Indikator akan muncul pada chart, plot akan menunjukkan nilai untuk setiap tipe volatilitas.