var CRSI(vars close, int rsiPeriod, int streakRsiPeriod, int percentRankPeriod)
{
vars streak = series(0);
vars returns = series((close[0]-close[1])/close[1], percentRankPeriod);
if (close[0] > close[1])
streak[0] = max(1, streak[1] + 1);
else if (close[0] < close[1])
streak[0] = min(-1, streak[1] - 1);
else // (close[0] == close[1])
streak[0] = 0;
var rsi = RSI(close,rsiPeriod);
var streakRsi = RSI(streak,streakRsiPeriod);
var rank = PercentRank(returns,percentRankPeriod,returns[0]);
return (rsi + streakRsi + rank)/3;
}