PureBytes Links
Trading Reference Links
|
There was a *.dll
published in TASC and available for download at the Equis web site. I think
that Equis must have been annoyed that their programmer was "giving away" DLLs
that they could sell separately and fired her (this is a guess as she no longer
writes the Metastock versions of indicators at TASC, Traders Tips). This was
followed by removing her DLLs from the Equis site.
<FONT face=Arial
size=2>
I am attaching the
DLL to this message. Put it in your external formulas file. I think that
there may be some additional pieces necessary to run it. I'm not sure if I have
them. I'll take a look over the next few days.
<FONT face=Arial
size=2>
<FONT face=Arial
size=2>Lionel
<FONT face=Tahoma
size=2>-----Original Message-----From: Keith Newhouse
[mailto:knewhous@xxxxxxxxxxxxxxx]Sent: Friday, September 27, 2002
7: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"
|