Comment la performance est-elle calculée dans le Screener ?

Les données sur la performance dans le Screener sont calculées à l'aide de la formule :

//@version=4study("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        midweek1 = 7week_ago = timenow - 1000*60*60*24*week1countOfBarsWeekAgo = fastSearchN(time, week_ago)month1 = 30month_ago = timenow - 1000*60*60*24*month1countOfBars1MonthAgo = fastSearchN(time, month_ago)month3 = 90months3_ago = timenow - 1000*60*60*24*month3countOfBars3MonthAgo = fastSearchN(time, months3_ago)month6 = 180months6_ago = timenow - 1000*60*60*24*month6countOfBars6MonthAgo = fastSearchN(time, months6_ago)weeks52 = 7*52weeks52_ago = timenow - 1000*60*60*24*weeks52countOfBars52WeekAgo = fastSearchN(time, weeks52_ago)// performancerateOfreturn(v1, v2) => (v1 - v2) * 100 / abs(v2)rr(bb) =>    if bb == 0        na    else        max_bars_back(close, 366)        rof = rateOfreturn(close, close[bb])        rofplot(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")
Java

Note : les valeurs de ce script sont différentes en historique et en temps réel à cause de timenow, voir https://www.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html

Pour des affichages visuels, vous pouvez ajouter ce script à votre graphique via l'éditeur Pine en utilisant l'horizon temporel quotidien du graphique. Un indicateur apparaîtra sur le graphique, dont les tracés montreront les valeurs pour chaque type de performance.