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

RE: [Metastockusers] Code for MAMA



PureBytes Links

Trading Reference Links




<SPAN 
class=929450015-27092002>Keith,
<SPAN 
class=929450015-27092002> 
this 
used to be on the equis site....
<SPAN 
class=929450015-27092002> 
<SPAN 
class=929450015-27092002>pds:=Input("Fast 
Limit",.0025,1,.25);pds1:=Input("Slow 
Limit",.0025,1,.25);ExtFml("MAMA.MAMA", (H+L)/2, 
pds,pds1)
<SPAN 
class=929450015-27092002> 
<SPAN 
class=929450015-27092002> 
and 
the dll is attached
<SPAN 
class=929450015-27092002> 
 
Jayson 

<FONT face=Tahoma 
size=2>-----Original Message-----From: Keith Newhouse 
[mailto:knewhous@xxxxxxxxxxxxxxx]Sent: Friday, September 27, 2002 
8:36 AMTo: Metastockusers@xxxxxxxxxxxxxxxSubject: 
[Metastockusers] Code for MAMAHi Group,This is 
the EasyLanguage code for Ehlers MAMA.  Does anyone have the Metastock 
code for this which they would be prepared to share.  Alternatively 
couls someone convert this code to MS?Regards,KeithMAMA 
EasyLanguage CodeInputs:      
Price((H+L)/2),            
FastLimit(.5),            
SlowLimit(.05);Vars:      Smooth(0), 
      Detrender(0), 
      I1(0),       
Q1(0),       
jI(0),      
jQ(0),      
I2(0),      
Q2(0),      Re(0), 
      Im(0),       
Period(0),      
SmoothPeriod(0),      
Phase(0),      
DeltaPhase(0),      
alpha(0),      
MAMA(0),      
FAMA(0);            
            
      If CurrentBar > 5 then 
begin      Smooth = (4*Price + 3*Price[1] + 
2*Price[2] + Price[3]) / 10;      
      Detrender = (.0962*Smooth + .5769*Smooth[2] - 
.5769*Smooth[4] - .0962*Smooth[6])*(.075*Period[1] + 
.54);      {Compute InPhase and Quadrature 
components}      Q1 = (.0962*Detrender + 
.5769*Detrender[2] - .5769*Detrender[4] - 
.0962*Detrender[6])*(.075*Period[1] + .54);      I1 
= Detrender[3];      {Advance the phase of I1 
and Q1 by 90 degrees}      jI = (.0962*I1 + 
.5769*I1[2] - .5769*I1[4] - .0962*I1[6])*(.075*Period[1] + 
.54);      jQ = (.0962*Q1 + .5769*Q1[2] - 
.5769*Q1[4] - .0962*Q1[6])*(.075*Period[1] + 
.54);      {Phasor addition for 3 bar 
averaging)}      I2 = I1 - 
jQ;      Q2 = Q1 + 
jI;      {Smooth the I and Q components before 
applying the discriminator}      I2 = .2*I2 + 
.8*I2[1];      Q2 = .2*Q2 + 
.8*Q2[1];      {Homodyne 
Discriminator}      Re = I2*I2[1] + 
Q2*Q2[1];      Im = I2*Q2[1] - 
Q2*I2[1];      Re = .2*Re + 
.8*Re[1];      Im = .2*Im + 
.8*Im[1];      If Im <> 0 and Re <> 0 
then Period = 360/ArcTangent(Im/Re);      If Period 
> 1.5*Period[1] then Period = 
1.5*Period[1];      If Period < .67*Period[1] 
then Period = .67*Period[1];      If Period < 6 
then Period = 6;      If Period > 50 then Period 
= 50;      Period = .2*Period + 
.8*Period[1];      SmoothPeriod = .33*Period + 
.67*SmoothPeriod[1];      If I1 <> 0 then 
Phase = (ArcTangent(Q1 / I1));      DeltaPhase = 
Phase[1] - Phase;      If DeltaPhase < 1 then 
DeltaPhase = 1;      alpha = FastLimit / 
DeltaPhase;      If alpha < SlowLimit then alpha 
= SlowLimit;      MAMA = alpha*Price + (1 - 
alpha)*MAMA[1];      FAMA = .5*alpha*MAMA + (1 - 
.5*alpha)*FAMA[1];      
      Plot1(MAMA, 
"MAMA");      Plot2(FAMA, 
"FAMA");End;To 
unsubscribe from this group, send an email 
to:Metastockusers-unsubscribe@xxxxxxxxxxxYour use 
of Yahoo! Groups is subject to the <A 
href="http://docs.yahoo.com/info/terms/";>Yahoo! Terms of Service. 







Yahoo! Groups Sponsor


ADVERTISEMENT









To unsubscribe from this group, send an email to:
Metastockusers-unsubscribe@xxxxxxxxxxx





Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



Attachment: Description: "MAMA.dll"