Volatilite, Takipçi'de nasıl hesaplanır?
Volatilite, bir finansal enstrümanın belirli bir süre boyunca fiyat değişimlerini ölçer. Fiyatlardaki aralık ne kadar genişse, volatilite o kadar yüksektir. Fiyatlardaki aralık ne kadar daralırsa volatilite de o kadar düşük olacaktır.
Hesaplamalarımız için kullandığımız volatilite formülü (haftalık, aylık ve günlük):
//@version=4
study("volatility")fastSearchN(xs, x) => // xs - sorted, ascendingmax_bars_back(xs, 366) left = 0 right = min(bar_index,366) mid = 0if xs < x 0elsefor i = 0 to 9 mid := ceil((left+right) / 2)if left == right breakelse if xs[mid] < x right := mid continueelse if xs[mid] > x left := mid continueelsebreak 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 := 365if 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")
JavaNot: Bu komut dosyası değerleri tarih ve gerçek zamanlı olarak farklıdır, çünkü zaman bilin, bkz https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html
Görsel görüntü için, grafiğin günlük zaman dilimini kullanarak Pine Editor aracılığıyla bu komut dosyasını grafiğinize ekleyebilirsiniz. Grafikte, çizimleri her volatilite türü için değerleri gösterecek bir gösterge görünecektir.