Code:
//startDate = ParamDate("Start Date", "", 0);
//startTime = ParamTime("Start Time", "00:00:00", 0);
//endDate = ParamDate("End Date", "", 0);
//endTime = ParamTime("End Time", "00:00:00", 0);
extension = Param("Entension Period",5,0,500,1);
Color = ParamColor("Color",colorBlack);
sid = ParamStr("Linked Study ID", "AA");
x = BarIndex()+1;
//startx = LastValue(ValueWhen(DateNum() == startDate AND TimeNum() >= startTime AND (Ref(DateNum(),-1) < startDate OR Ref(TimeNum(),-1) < startTime), x));
startx = Lowest(ValueWhen(Study(sid, GetChartID()) > 0, x));
startx = IIf(startx == 0 OR startx==LastValue(x), 1, startx);
//endx = LastValue(ValueWhen(DateNum() == endDate AND TimeNum() >= endTime AND (Ref(DateNum(),-1) < endDate OR Ref(TimeNum(),-1) < endTime), x));
endx = LastValue(ValueWhen(Study(sid, GetChartID()) > 0, x));
endx = IIf(endx == 0 OR endx <=startx, LastValue(x), endx);
Periods = LastValue(endx - startx + 1);
intercept = LastValue(ValueWhen(x==endx, LinRegIntercept(Avg, Periods)));
slope = LastValue(ValueWhen(x==endx, LinRegSlope(Avg, Periods)));
y = intercept + slope * ( x - (endx - Periods + 1 ) );
WidthH = IIf( x > (endx - Periods) AND x <= endx, H-y, 0 );
WidthL = IIf( x > (endx - Periods) AND x <= endx, y-L, 0 );
MaxWidthH = LastValue(HHV(WidthH, 0));
MaxWidthL = LastValue(HHV(WidthL, 0));
RLU = IIf( x > (endx - Periods) AND x <= endx+extension, y+MaxWidthH , Null );
RLL = IIf( x > (endx - Periods) AND x <= endx+extension, y-MaxWidthL , Null );
Plot(RLU, "", Color);
Plot(RLL, "", Color);