# mtf_prev_levels
#https://usethinkscript.com/threads/previous-candles-high-and-low.16460/
#Previous candle's High and Low
def na = Double.NaN;
def bn = BarNumber();
def lastbn = HighestAll(If(IsNaN(close), 0, bn));
def lastbar = if (bn == lastbn) then 1 else 0;
#def lastbar = !isnan(close[0]) and isnan(close[-1]);
input agg1 = AggregationPeriod.FIFTEEN_MIN;
input agg2 = AggregationPeriod.THIRTY_MIN;
input agg3 = AggregationPeriod.HOUR;
input agg4 = AggregationPeriod.FOUR_HOURS;
input mtf_offset = 1;
#def cls1 = highestall(if lastbar then close(period = agg1)[mtf_offset] else 0);
#def cls2 = highestall(if lastbar then close(period = agg2)[mtf_offset] else 0);
#def cls3 = highestall(if lastbar then close(period = agg3)[mtf_offset] else 0);
#def cls4 = highestall(if lastbar then close(period = agg4)[mtf_offset] else 0);
def lo1 = HighestAll(if lastbar then low(period = agg1)[mtf_offset] else 0);
def lo2 = HighestAll(if lastbar then low(period = agg2)[mtf_offset] else 0);
def lo3 = HighestAll(if lastbar then low(period = agg3)[mtf_offset] else 0);
def lo4 = HighestAll(if lastbar then low(period = agg4)[mtf_offset] else 0);
def hi1 = HighestAll(if lastbar then high(period = agg1)[mtf_offset] else 0);
def hi2 = HighestAll(if lastbar then high(period = agg2)[mtf_offset] else 0);
def hi3 = HighestAll(if lastbar then high(period = agg3)[mtf_offset] else 0);
def hi4 = HighestAll(if lastbar then high(period = agg4)[mtf_offset] else 0);
plot zlo1 = lo1;
plot zlo2 = lo2;
plot zlo3 = lo3;
plot zlo4 = lo4;
plot zhi1 = hi1;
plot zhi2 = hi2;
plot zhi3 = hi3;
plot zhi4 = hi4;
#