#zkeltupdwn
# daily column
# keltner_3years_levels
#https://usethinkscript.com/threads/of-days-closed-above-and-below-keltner-channels-in-past-3-years.18487/
# of days closed above and below Keltner Channels in past 3 years
# keltnerch
# declare weak_volume_dependency;
#declare lower;
input displace = 0;
#input factor = 1.5;
input factor = 4.0;
#input length = 20;
input length = 50;
input price = close;
input averageType = AverageType.SIMPLE;
input trueRangeAverageType = AverageType.SIMPLE;
def shift = factor * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def average = MovingAverage(averageType, price, length);
def Avg = average[-displace];
#Avg.SetDefaultColor(GetColor(1));
def Upper_Band = average[-displace] + shift[-displace];
#Upper_Band.SetDefaultColor(GetColor(8));
def Lower_Band = average[-displace] - shift[-displace];
#Lower_Band.SetDefaultColor(GetColor(5));
# about 252 days in a year
def years3 = 756;
def dayabove = (close > upper_band);
def daybelow = (close < lower_band);
def abovecnt = sum(dayabove,years3);
def belowcnt = sum(daybelow,years3);
#addlabel(1,abovecnt, color.yellow);
#addlabel(1,belowcnt, color.yellow);
addlabel(1, (abovecnt + " / " + belowcnt), (if abovecnt > belowcnt then color.green else color.red));
#
-----------------
this is a lower study to test with
[code]
# keltner_3years_levels
#https://usethinkscript.com/threads/of-days-closed-above-and-below-keltner-channels-in-past-3-years.18487/
# of days closed above and below Keltner Channels in past 3 years
# keltnerch
# declare weak_volume_dependency;
declare lower;
input displace = 0;
#input factor = 1.5;
input factor = 4.0;
#input length = 20;
input length = 50;
input price = close;
input averageType = AverageType.SIMPLE;
input trueRangeAverageType = AverageType.SIMPLE;
def shift = factor * MovingAverage(trueRangeAverageType, TrueRange(high, close, low), length);
def average = MovingAverage(averageType, price, length);
def Avg = average[-displace];
#Avg.SetDefaultColor(GetColor(1));
def Upper_Band = average[-displace] + shift[-displace];
#Upper_Band.SetDefaultColor(GetColor(8));
def Lower_Band = average[-displace] - shift[-displace];
#Lower_Band.SetDefaultColor(GetColor(5));
# about 252 days in a year
def years3 = 756;
def dayabove = (close > upper_band);
def daybelow = (close < lower_band);
def abovecnt = sum(dayabove,years3);
def belowcnt = sum(daybelow,years3);
addlabel(1,abovecnt, color.yellow);
addlabel(1,belowcnt, color.yellow);
addlabel(1, (abovecnt + " / " + belowcnt), color.yellow);
#