Hi,

You are not using Plot correctly. Replace your looping code with the 
following:

colors = IIF(Value11 > 0, colorRed, colorYellow);
Plot(Value11, "e11", colors, styleHistogram);

and

colors = IIF(Value1 > 0, colorBlue, colorLightBlue);
Plot(Value1, "e1", colors, styleHistogram);

Mike

--- In amibroker@yahoogroups.com, "maximoff_max" <mr...@...> wrote:
>
> Hi all!
> I'm trying to convert EasyLang code into AFL. But i think i've made
> many bugs in the code. This indicator was made by Clyde Lee and 
posted
> on Swing Group. There is 4 colors in original version but i have 
only 2.
> Can anybody help???
> 
> Easy code:
> {*******************************************************************
> Indicator:    Lin Regression Hist
> Description : This Indicator plots difference in Linear Regression 
Lines
> Provided By : Omega Research,Inc. (c) Copyright 1999
> Modified By : Clyde Lee (c) 2007,CREATE A HISTOGRAM DISPLAY.
>                      Of the Raff channel lines and the closing 
price.
> 
********************************************************************}
> inputs:
>   Length( 34),     {Length for LR calculation of Raff 
Channels.     }
>                          {The difference in the current closing 
price
> and  }
>                          {the channel lines is computed and 
plotted. 
>       }
>   LongMult(2),    {Multiplier of Length to get long 
length.             }
>   Smooth(3),       {Length for smoothing 
filter.                     
>        }
>   ChanWide(2);   {Multiplier of StdDev(c,Length) to set width.     }
>                          {Negative is multiplier (%) of closing 
price.
>        }
>  
> 
> variables:
>  UseLength(Iff(Length<9,9,Length)),
>  UseLength1(IntPortion(UseLength*LongMult)),
>  ChanStdD(0),
>  WideChan(Iff(ChanWide<=0,1,ChanWide)),
>   LRV1(0), {Current linear regression valueS}
>   LRV(0); {Current linear regression valueS}
>  
> If ChanWide>0 then ChanStdD=StdDev(MedianPrice,UseLength)*WideChan
>          else ChanStdD=MedianPrice/100*WideChan;
>  
> If LongMult>0 then begin
>  LRV1   = LinearRegValue(MedianPrice,UseLength1,0) ;
>  
>  Value10=(c-(LRV1+ChanStdD))-((LRV1-ChanStdD)-c);
>  If Smooth>0 then Value11=XAverage(Value10,Smooth)
>              else Value11=Value10;
>  If Value11>0 then Plot3(Value11,"el1+")
>               else Plot4(Value11,"el1-");
> End;
>  
> 
> LRV   =LinearRegValue(MedianPrice,UseLength,0) ;
>  
> Value0=(c-(LRV+ChanStdD))-((LRV-ChanStdD)-c);
> If Smooth>0 then Value1=XAverage(Value0,Smooth)
>            else Value1=Value0;
>  
> If Value1>0 then Plot1(Value1,"el+")
>             else Plot2(Value1,"el-");
>  
> {   
> Value21=Value11-Value1;
> If Value21>0 then Plot2(Value21,"el+")
>              else Plot3(Value21,"el-");
> } 
> 
> 
> And here is my AFL:
> Length = Param("Length", 34, 0, 500, 1);
> LongMult = Param("LongMult", 2, 0, 10, 0.5);
> Smooth = Param("Smooth", 3, 0, 10, 1);
> ChanWide = Param("ChanWide", 2, 0, 10, 1);
> 
> UseLength = IIf(Length<9,9,Length);
> WideChan = IIf(ChanWide<=0,1,ChanWide);
> UseLength1 = int(UseLength*LongMult);
> MedianPrice = (H+L)/2;
> 
> if ( ChanWide > 0 )
> ChanStdD = StDev(MedianPrice,UseLength)*WideChan;
> else
> ChanStdD = MedianPrice/100*WideChan;
> 
> 
> if (LongMult > 0)
> {
>  LRV1   = LinearReg(MedianPrice,UseLength1);
>  Value10=(C-(LRV1+ChanStdD))-((LRV1-ChanStdD)-C);
>  
> if (Smooth>0)
> Value11= EMA(Value10,Smooth);
> else
> Value11=Value10;
> 
> 
> for( i = 1; i < BarCount; i++ )
> {
>  if (Value11[i]>0)
> {Plot( Value11,"el1+", colorRed, styleHistogram);}
> else
> {Plot( Value11,"el1-", colorYellow, styleHistogram); }
> }
> }
> 
> 
> LRV = LinearReg(MedianPrice,UseLength);
> Value0=(C-(LRV+ChanStdD))-((LRV-ChanStdD)-C);
> 
> if (Smooth>0)
> Value1=EMA(Value0,Smooth);
> else
> Value1=Value0;
>  
> for( i = 1; i < BarCount; i++ )
> {
>   if (Value1[i]>0)
>     {
>      Plot( Value1,"el+", colorBlue, styleHistogram);
>    }
>    else
>    {
>       Plot( Value1,"el-", colorLightBlue, styleHistogram);
>    }
> }  
> 
> Thanks!!!
>


Reply via email to