ประสิทธิภาพในตัวคัดกรอง (Screener) คำนวณอย่างไร?

ข้อมูลประสิทธิภาพของตัวคัดกรอง (Screener) คำนวณโดยใช้สูตร:

//@version=4
study("Screener Performance")


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

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

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

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

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

weeks52 = 7*52
weeks52_ago = timenow - 1000*60*60*24*weeks52
countOfBars52WeekAgo = fastSearchN(time, weeks52_ago)

// performance
rateOfreturn(v1, v2) => (v1 - v2) * 100 / abs(v2)
rr(bb) =>
    if bb == 0
        na
    else
        max_bars_back(close, 366)
        rof = rateOfreturn(close, close[bb])
        rof

plot(rr(countOfBarsWeekAgo), title="Perf.W")
plot(rr(countOfBars1MonthAgo), title="Perf.1M")
plot(rr(countOfBars3MonthAgo), title="Perf.3M")
plot(rr(countOfBars6MonthAgo), title="Perf.6M")
plot(rr(countOfBars52WeekAgo), title="Perf.Y")
var lastYearClose = float(na)
if year > year[1]
    lastYearClose := close[1]
plot(rateOfreturn(close, lastYearClose), title="Perf.YTD")

หมายเหตุ: ค่าสคริปต์นี้แตกต่างกันในข้อมูลในอดีตและข้อมูลเรียลไทม์เนื่องจาก timenow โปรดดู  https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html

สำหรับการแสดงภาพ คุณสามารถเพิ่มสคริปต์นี้ลงในแผนภูมิของคุณผ่าน Pine Editor โดยใช้กรอบเวลารายวันของแผนภูมิ อินดิเคเตอร์จะปรากฏบนแผนภูมิ ซึ่งการพล็อตจะแสดงค่าประสิทธิภาพในแต่ละประเภท

เปลี่ยน% เทียบกับประสิทธิภาพ%:

สมมุติว่าวันนี้เป็นวันอังคาร การเปลี่ยนแปลงรายสัปดาห์จะคำนวณส่วนต่างระหว่างการปิดปัจจุบัน (วันอังคาร) และการปิดจากสัปดาห์ที่แล้ว (ราคาปิดของวันศุกร์ก่อนหน้า) ประสิทธิภาพรายสัปดาห์จะคำนวณความแตกต่างระหว่างการปิดปัจจุบัน (วันอังคาร) และการปิดจากสัปดาห์ที่แล้ว (วันอังคารก่อนหน้า)