Conditional Statement in Variable Definition -- Custom Indicator Help


New member
Hey everyone! I'm having a bit of trouble with a simple custom indicator I'm trying to build which detects whether or not the close of the current trading day is higher or lower than the close of the previous day ( I'm implementing this as a part of a larger options strategy and the indicator is mainly for backtesting).

The issue I'm having is with the definition of the 'days' variable. When the days variable is plotted onto the graph as a label, the value I get is 'N/A'. I can't seem to get to get it to work. Any help would be greatly appreciated!

declare lower;
def ups;
def downs;
def cond = close("VIX") > 15 and close("VIX") < 20;
def days = if cond then days[1] + 1 else days[1];

if close >= high[1] and cond{
    ups = 1 + ups[1];
else {
   ups = ups[1];

if close <= low[1] and cond{
    downs = 1 + downs[1];
else {
    downs = downs[1];

AddLabel(yes, "days: "+days, CreateColor(192, 192, 192));
plot go1 = ups;
plot go2 = downs;

Thank you,


Staff member
You need to define the "day" from higher agg period.


input aggregationPeriod = AggregationPeriod.DAY;
def close = close(period = aggregationPeriod);
plot prev_close = close[1];

Similar threads