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

Re: Fw: [amibroker] Gaussian Moving average



PureBytes Links

Trading Reference Links

Hi Bill

Yes I did get it to work. Jusr shifted the ROC calculation line to 
the top :). I am not very familiar with programming. Still try my 
best with trial and error. :)

Thanks 

Karthik

Here is the revised code.

_SECTION_BEGIN("GSMA");
SetBarsRequired(100000,0);
PI = 3.1415926;
T1 = Param("Momentum Period",5,0,100,1);

A=C-Ref(C,-T1);
a[0]=C[0];
function IIR2( input, f0, f1, f2 ) 
{ 
    result[ 0 ] = input[ 0 ]; 
    result[ 1 ] = input[ 1 ]; 

    for( i = 10; 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);
}
period=Param("period",13,1,40,1);

Plot( GSMA( A,period), "GSMA", colorRed );
_SECTION_END();



--- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic" <fimdot@xxx> wrote:
>
> Oops.  Sorry, spoke without brain in gear.  I only plotted a trial 
ROC().  Did not get your GSMA() to work.
> 
> Bill
> 
> 
> ----- Original Message ----- 
> From: wavemechanic 
> To: amibroker@xxxxxxxxxxxxxxx 
> Sent: Monday, September 04, 2006 9:57 AM
> Subject: Re: [amibroker] Gaussian Moving average
> 
> 
> Are you simply replacing C with ROC or ROC(period)?  You need ROC
(C, period) and also probably StyleOwnScale for the plot.  That works 
for me.
> 
> Bill
> 
> ----- Original Message ----- 
> From: "karthikmarar" <karthikmarar@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Sunday, September 03, 2006 5:55 AM
> Subject: [amibroker] Gaussian Moving average
> 
> 
> > 
> > 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
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > Please note that this group is for discussion between users only.
> > 
> > To get support from AmiBroker please send an e-mail directly to 
> > SUPPORT {at} amibroker.com
> > 
> > For other support material please check also:
> > http://www.amibroker.com/support.html
> > 
> > 
> > Yahoo! Groups Links
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > -- 
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.1.405 / Virus Database: 268.11.7/436 - Release Date: 
09/01/06
> > 
> >
>