PureBytes Links
Trading Reference Links
|
Replace your IIR2 function with this code and it should be good for
any array that starts with a series of empty values.
Johan
function IIR2( input, f0, f1, f2 )
{
result = Null;
//first bar with a non empty value
first_bar = LastValue( ValueWhen( ExRem( input, 0 ), BarIndex() ) );
result[ first_bar ] = input[ first_bar ];
result[ first_bar + 1 ] = input[ first_bar + 1 ];
for( i = first_bar + 2; i < BarCount; i++ )
{
result[ i ] = f0 * input[ i ] +
f1 * result[ i - 1 ] +
f2 * result[ i - 2 ];
}
return result;
}
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
On
> Behalf Of karthikmarar
> Sent: Sunday, September 03, 2006 03:55
> To: amibroker@xxxxxxxxxxxxxxx
> 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
>
>
>
> http://groups.yahoo.com/group/amibroker/
>
>
>
> amibroker-unsubscribe@xxxxxxxxxxxxxxx
>
>
>
> http://docs.yahoo.com/info/terms/
>
|