[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Gaussian Moving average



PureBytes Links

Trading Reference Links

Hi

I made the folowing code for Gaussian Moving average. It works fine 
for close, high etc. But does not work if I want to use it on any 
indicator.
For example when I substitute close with say ROC the output goes to 
zero. Can anybody explain where I am going wrong.


SetBarsRequired(100000,0);
PI = 3.1415926;

function IIR2( input, f0, f1, f2 ) 
{ 
    result[ 0 ] = input[ 0 ]; 
    result[ 1 ] = input[ 1 ]; 

    for( i = 2; i < BarCount; i++ ) 
    { 
       result[ i ] = f0 * input[ i ] + 
                     f1 * result[ i - 1 ] + 
                     f2 * result[ i - 2 ]; 
    } 

   return result; 
} 

function GSMA( input, Period )
{
  N = 0;
  an = 2 * PI / Period;
  c0 = b0 = 1;
  c1 = b1 = b2 = a1 = a2 = gamma1 = 0;
  beta1 = 2.415 * ( 1- cos( an ) );
  alpha = -beta1 + sqrt( beta1 ^ 2 + 2 * beta1 );
  alpha1 = ( cos( an ) + sin( an ) - 1 )/cos( an );
   {
    fo = alpha ^ 2;
    f1 = 2 * ( 1- alpha ); f2 = -( 1 - alpha )*( 1 - alpha );
  }
  
 
  return IIR2( input, fo,f1,f2);
}
A=C;
period=Param("period",13,1,40,1);

//Plot( Close, "Price", colorBlack, styleCandle ); 
Plot( GSMA( A,period), "GSMA", colorRed );

regards