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

RE: [amibroker] MAMA & FAMA indicators...



PureBytes Links

Trading Reference Links


Thanks 
again for all your help...

<FONT face=Tahoma 
size=2>-----Original Message-----From: Anthony Faragasso 
[mailto:ajf1111@xxxx]Sent: Friday, July 12, 2002 7:54 
PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker] 
MAMA & FAMA indicators...Nurudin,I do not 
know the .DLL version, sorry.AnthonyNurudin Kaba 
wrote:>  Thanks Anthony...that was really Quick!!!  The 
DLL version mentioned> in the code...where can this be found?Thanks 
again for your help.>>      
-----Original Message----->      From: Anthony 
Faragasso [mailto:ajf1111@xxxx]>      
Sent: Friday, July 12, 2002 7:04 PM>     To: 
amibroker@xxxxxxxxxxxxxxx>      Subject: Re: 
[amibroker] MAMA & FAMA 
indicators...>>      /* MESA Adaptive 
Moving Averages:>      ** MAMA and 
FAMA>      
**>      ** From Stocks & Commodities 
7/2001>      
**>      ** AFL implementation by Tomasz 
Janeczko, October 2001>      
**>      ** For faster operation please check 
DLL version>      
**/>>      
EnableScript("VBScript");>>      
FastLimit=0.5;>      
SlowLimit=0.05;>>      Price = 
(H+L)/2;>>      Smooth = ( 4 * Price + 
3 * Ref( Price,-1) + 2 *>      Ref(Price,-2) 
+>      
Ref(Price,-3))/10;>>      
<%>>      Price = 
AFL("Price")>      Smooth = 
AFL("Smooth")>      nSize = UBound( Smooth 
)>>      ' every Other Variable isan 
array Of the same size as>      
smooth>      ' so just make A copy (quick 
init)>>      Detrender = 
Smooth>      II2 = 
Smooth>      Q2 = 
Smooth>      Re = 
Smooth>      Im = 
Smooth>      I1 = 
Smooth>      Q1 = 
Smooth>      jl = 
Smooth>      jQ = 
Smooth>      Phase = 
Smooth>      DeltaPhase = 
Smooth>      Period = 
Smooth>>      PI = 
3.1415926>>      For i = 0 To 
nSize>      If i < 6 
then>        ' init previous values 
to avoid problems>        ' with 
exp. averaging of uninitialized 
values>        ' 
later>        DeltaPhase( i ) = 
0>        II2( i )  = 
1.0>        Q2( i ) = 
1.0>        Re( i ) = 
0>        Im( i ) = 
0>>        Period( i ) = 
6>      
Else>         factor = 
0.075  * Period( i - 1 ) +  
0.54>>         
Detrender( i ) = ( ( 0.0962 *Smooth( i ) + 0.5769 
*>      Smooth( i - 2 ) 
_>>                          
-  0.5769 * Smooth( i - 4) - 0.0962 
*>      Smooth( i - 
6>      ) ) * factor 
)>>>        Q1( 
i ) = ( ( 0.0962 *Detrender( i ) + 0.5769 
*>      Detrender( i - 2 ) 
_>                   
- 0.5769 * Detrender( i - 4) - 0.0962 *>      
Detrender( i - 6 )>      ) * factor 
)>>>        I1( 
i ) = Detrender( i - 3 
)>>         jl( i )= ( 
( 0.0962 *I1( i ) + 0.5769 * I1( i - 2 ) 
_>                   
- 0.5769 * I1( i - 4) - 0.0962 * I1( i - 6 ) 
)>      * factor 
)>>         jQ( i )= ( 
( 0.0962 *Q1( i ) + 0.5769 * Q1( i - 2 ) 
_>                   
- 0.5769 * Q1( i - 4) - 0.0962 * Q1( i - 6 ) 
)>      * factor 
)>>         II2( i ) = 
I1( i ) - jQ( i )>        Q2( 
i ) = Q1( i ) + jl( i 
)>>         II2( i ) = 
0.2 * II2( i ) + 0.8 * II2( i - 1 
)>>         Q2( i )= 
0.2 * Q2( i ) + 0.8 * Q2( i - 1 
)>>         Re( i )= 
II2( i ) * II2( i - 1 ) + Q2( i ) * Q2( i - 1 
)>>         Im( i )= 
II2( i ) * Q2( i - 1 ) - Q2( i ) * II2( i - 1 
)>>         Re( i )= 
0.2 * Re( i ) + 0.8 * Re( i - 1 
)>         Im( i ) = 0.2* Im( 
i ) + 0.8 * Im( i - 1 
)>>         Period(i ) 
= Period( i - 
1)>>         if ( Im( i 
) <> 0 ) AND ( Re( i ) <> 0 ) 
Then>        Period( i ) = (2* PI) 
/ atn( Im( i ) / Re( i ) 
)>         End 
If>>         if( Period( 
i ) > 1.5 * Period( i - 1 ) ) Then Period( 
i>      ) = 1.5 
*>      Period( i - 1 
)>         if( Period( i )< 
0.67 * Period( i - 1 ) ) Then Period( i>      
) = 0.67 *>      Period( i - 1 
)>>         if( Period( 
i ) < 6 ) Then Period( i ) = 
6>         if( Period( i )> 
50 ) Then Period( i ) = 
50>>         Period( i ) 
= 0.2 * Period( i ) + 0.8 * Period( i - 1 
)>>>        if( 
I1( i ) <> 0 ) Then Phase( i ) = (180/PI) * atn( 
Q1(>      i )/ I1( i 
)>      
)>>         DeltaPhase( 
i ) = Phase( i - 1 ) - Phase( i 
)>>         if( 
DeltaPhase( i ) < 1 ) Then DeltaPhase( i ) = 
1>      End 
If>      
Next>>      AFL("DeltaPhase") = 
DeltaPhase>>      
%>>>      DeltaPhase = 
DeltaPhase;>      alpha = 
FastLimit/DeltaPhase;>      alpha = Min( 
alpha, FastLimit ); // not more than fast 
limit>>      alpha = Max( alpha, 
SlowLimit ); // not less than slow 
limit>>      MAMA = AMA( Price, alpha 
);>      FAMA = AMA( MAMA, 0.5 * alpha 
);>>      Graph0 = 
MAMA;>      Graph1 = 
FAMA;>      Graph2 = 
Close;>      Graph2Style = 
64;>>      nurudinkaba 
wrote:>>      >  Has anyone 
written AFL for above...and would be 
willing>      to 
share?>      
>>      > 
Thanks>      
>>      
>>      
>                    
Yahoo! Groups 
Sponsor>                                 
[Image]>                  
Click here to find your contact lenses!>      
>>      > Your use of Yahoo! Groupsis 
subject to the Yahoo! Terms>      of 
Service.>>>>>      
Your use of Yahoo! Groups is subject to the Yahoo! Terms 
of>      
Service.>>>                    
Yahoo! Groups 
Sponsor                           
[Image]            
Click here to find your contact lenses!>> Your use of Yahoo! 
Groups is subject to the Yahoo! Terms of Service.Your 
use of Yahoo! Groups is subject to the <A 
href="">Yahoo! Terms of Service.