Bagaimanakah Prestasi dikira dalam Penyaring?

 Prestasi Penyaring dikira mengikut formula berikut:

//@version=5
indicator(title="Screener Performance")

rateOfreturn(ref) =>
	if ref < 0 and close > 0
		na
	else
		(close - ref) * 100 / math.abs(ref)

rr(bb, maxbarsback) =>
	open[maxbarsback] * 0 + bb == 0 ? na : rateOfreturn(open[bb])

perfYTD() =>
	var lastYearOpen = open
	if year > year[1]
		lastYearOpen := open
	rateOfreturn(lastYearOpen)

fastSearchTimeIndex(x, maxbarsback) =>
	mid = 0 * time[maxbarsback]
	right = math.min(bar_index, maxbarsback)
	left = 0
	if time < x
		0
	else
		for i = 0 to 9 by 1
			mid := math.ceil((left + right) / 2)
			if left == right
				break
			else if time[mid] < x
				right := mid
				continue
			else if time[mid] > x
				left := mid
				continue
			else
				break
		mid

week1 = 7
week_ago = timenow - 1000 * 60 * 60 * 24 * week1
week_ago_this_bar = time - 1000 * 60 * 60 * 24 * week1
countOfBarsWeekAgo = fastSearchTimeIndex(week_ago, week1)

month1 = 30
month_ago = timenow - 1000 * 60 * 60 * 24 * month1
countOfBars1MonthAgo = fastSearchTimeIndex(month_ago, month1)

month3 = 90
months3_ago = timenow - 1000 * 60 * 60 * 24 * month3
countOfBars3MonthAgo = fastSearchTimeIndex(months3_ago, month3)

month6 = 180
months6_ago = timenow - 1000 * 60 * 60 * 24 * month6
countOfBars6MonthAgo = fastSearchTimeIndex(months6_ago, month6)

years1 = 365
oneYearAgo = timenow - 1000 * 60 * 60 * 24 * years1
barsCountOneYear = fastSearchTimeIndex(oneYearAgo, years1)

years3 = 365 * 3
years3_ago = timenow - 1000 * 60 * 60 * 24 * years3
countOfBars3YearAgo = fastSearchTimeIndex(years3_ago, years3)

years5 = 365 * 4 + 366
years5_ago = timenow - 1000 * 60 * 60 * 24 * years5
countOfBars5YearAgo = fastSearchTimeIndex(years5_ago, years5)

years10 = (365 * 4 + 366) * 2
years10_ago = timenow - 1000 * 60 * 60 * 24 * years10
countOfBars10YearAgo = fastSearchTimeIndex(years10_ago, years10)

perfYTD = perfYTD()
plot((close - open[4]) / open[4] * 100, title='Perf.5D')
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(barsCountOneYear, years1), title='Perf.Y')
plot(rr(countOfBars3YearAgo, years3), title='Perf.3Y')
plot(rr(countOfBars5YearAgo, years5), title='Perf.5Y')
plot(rr(countOfBars10YearAgo, years10), title='Perf.10Y')
plot(perfYTD, 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).