כיצד מחושבת התנודתיות במסנן?
התנודתיות מודדת את וריאציות המחירים של מכשיר פיננסי לאורך פרק זמן מוגדר. ככל שטווח המחירים רחב יותר, כך התנודתיות גבוהה יותר. ככל שטווח המחירים יהיה צר יותר כך התנודתיות נמוכה יותר.
להלן נוסחת התנודתיות בה אנו משתמשים לחישובים שלנו (שבועי, חודשי ויומי):
//@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")
Javaהערה: ערכי סקריפט זה שונים בהיסטוריה ובזמן אמת בגלל זמן, ראה https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html
לתצוגה חזותית, תוכל להוסיף סקריפט זה לגרף שלך באמצעות עורך הפיין באמצעות מסגרת הזמן היומית של הגרף. מתנד יופיע בגרף, ויוצגו ערכים עבור כל סוג של תנודתיות.