Bagaimanakah Prestasi dikira dalam Penyaring?

 Prestasi Penyaring dikira mengikut formula berikut:

//@version=5
indicator(title="Screener Performance")
fastSearchN(_xs, x, maxbarsback) =>// xs - sorted, ascending
    xs = _xs     if bar_index == 0
        xs += xs[maxbarsback] * 0// max_bars_back
    left = 0
    right = math.min(bar_index, maxbarsback)
    mid = 0if xs < x         0elsefor i = 0 to 9 by 1
            mid := math.ceil((left + right) / 2)if left == right                 breakelse if xs[mid] < x                 right := mid                 continueelse if xs[mid] > x                 left := mid                 continueelsebreak
        mid years5 = 365 * 4 + 366
years5_ago = timenow - 1000 * 60 * 60 * 24 * years5 countOfBars5YearAgo = fastSearchN(time, years5_ago, years5)
weeks52 = 7 * 52
weeks52_ago = timenow - 1000 * 60 * 60 * 24 * weeks52 countOfBars52WeekAgo = fastSearchN(time, weeks52_ago, weeks52)
month6 = 180
months6_ago = timenow - 1000 * 60 * 60 * 24 * month6 countOfBars6MonthAgo = fastSearchN(time, months6_ago, month6)
month3 = 90
months3_ago = timenow - 1000 * 60 * 60 * 24 * month3 countOfBars3MonthAgo = fastSearchN(time, months3_ago, month3)
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, month1)
countOfBars1MonthAgoThisBar = fastSearchN(time, month_ago_this_bar, month1)
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, week1)
countOfBarsWeekAgoThisBar = fastSearchN(time, week_ago_this_bar, week1)// performance
rateOfreturn(v1, v2) =>(v1 - v2) * 100 / math.abs(v2)
rr(_bb, maxbarsback) =>
    bb = _bb     if bar_index == 0
        bb += math.round(open[maxbarsback] * 0)// max_bars_backif bb == 0
        na     else
        rof = rateOfreturn(close, open[bb])
        rof
plot(rr(countOfBarsWeekAgo, week1), title="Perf.W")
plot(rr(countOfBars1MonthAgo, month1), title="Perf.1M")
plot(rr(countOfBars3MonthAgo, month3), title="Perf.3M")
plot(rr(countOfBars6MonthAgo, month6), title="Perf.6M")
plot(rr(countOfBars52WeekAgo, weeks52), title="Perf.Y")
plot(rr(countOfBars5YearAgo, years5), title="Perf.5Y")
var lastYearOpen = open
if year > year[1]
    lastYearOpen := open[1]
plot(rateOfreturn(close, lastYearOpen), title="Perf.YTD")
Java

Nota: nilai-nila skrip ini adalah berbeza di sejarah dan masa nyata kerana timenow, rujuk https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html 

Untuk paparan visual, anda boleh menambahkan skrip kepada carta anda melalui Editor Pine dengan menggunakan rangka masa harian. Sebuah penunjuk akan muncul di carta di mana plot akan menunjukkan nila setiap jenis pretasi.

Perubahan % lwn Prestasi %:Katakan hari ini adalah Selasa. Perubahan Mingguan mengira perbezaan di antara penutup terkini (Selasa) dan penutup dari minggu lepas (harga penutup pada Jumaat lepas). Prestasi Mingguan mengira perbezaan di antara penutup terkini (Selasa) dan penutup dari satu minggu lepas setepatnya (Selasa lepas).