hi, is this what you mean? rgds, Ed
// add code aaa = LinRegIntercept(p, Daysback); bbb = LinRegSlope(p, Daysback); yyy = aaa + bbb * (Daysback - 1); wdd = SD*StDev(p, Daysback); Plot(yyy - wdd, "", colorOrange, 1); ----- Original Message ----- From: tradinghumble To: [email protected] Sent: Friday, July 11, 2008 5:04 AM Subject: [amibroker] Please help me with this regression channel code Hi, the code below is part of an afl written by Patrick Hargus and is on the AFL Library: == partial code P = ParamField("Price field",-1); Daysback = Param("Period for Liner Regression Line",21,1,240,1); shift = Param("Look back period",0,0,240,1); // =============================== Math Formula x = Cum(1); lastx = LastValue( x ) - shift; aa = LastValue( Ref(LinRegIntercept( p, Daysback), -shift) ); bb = LastValue( Ref(LinRegSlope( p, Daysback ), -shift) ); y = Aa + bb * ( x - (Lastx - DaysBack +1 ) ); LRColor = ParamColor("LR Color", colorCycle ); LRStyle = ParamStyle("LR Style"); LRLine = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y, Null ); Plot( LRLine , "LinReg", LRCOLOR, LRSTYLE ); // styleDots ); // ========================== Plot 1st SD Channel SDP = Param("Standard Deviation", 1.5, 0, 6, 0.1); SD = SDP/2; width = LastValue( Ref(SD*StDev(p, Daysback),-shift) ); // THIS IS WHERE THE WIDTH OF THE CHANELS IS SET SDU = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width , Null ) ; SDL = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width , Null ) ; SDColor = ParamColor("SD Color", colorCycle ); SDStyle = ParamStyle("SD Style"); Plot( SDU , "Upper Lin Reg", SDColor,SDStyle ); Plot( SDL , "Lower Lin Reg", SDColor,SDStyle ); ====================== I was wondering if anyone could help to plot the value of the last lower regression line SDL as a band instead of a channel... I know there's the "shift" parameter but I'm just not sure how to make it change for each bar. Thanks a lot.
