PureBytes Links
Trading Reference Links
|
Just in case you wanted a TS2K
function.
{Ehler_FAMA_MAMA (function) by John
Ehlers TASC September
2001 }{Returns
FAMA and MAMA that trend with price and cross over near turning
points.}{Returns a value of -1 until valid
computation
}
Inputs:
Price(NumericSeries), {Price value to use to
comput FAMA, MAMA }
FastLeng(NumericSimple), {Shortest length for period to determine
}
SlowLeng(NumericSimple), {Longest length for period to
determine }
<FONT face="Courier New"
size=2>
{To match defaults Fast=3 Slow=39
} MAMA1(NumericRef),
{returned value for
MAMA
}
FAMA1(NumericRef);
{returned value for
FAMA
}
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);Vars:
FastLimit(Iff(FastLeng>0,2/(1+FastLeng),0.5)),
SlowLimit(Iff(SlowLeng>0,2/(1+SlowLeng),0.05));
If CurrentBar>5 then begin
Smooth=(4*Price+3*Price[1]+2*Price[2]+Price[3])/10;
Detrender=(0.0962*Smooth+0.5769*Smooth[2]-0.5769*Smooth[4]-0.0962*Smooth[6])
*(0.075*Period[1]+0.54);
{Compute InPhase and Quadrature
components}
Q1=(0.0962*Detrender+0.5769*Detrender[2]-0.5769*Detrender[4]
-0.0962*Detrender[6])*(0.075*Period[1]+0.54);
I1=Detrender[3];
{Advance the phase of I1 and Q1 by
90 degrees}
jI=(0.0962*I1+0.5769*I1[2]-0.5769*I1[4]-0.0962*I1[6])*(0.075*Period[1]+0.54);
jQ=(0.0962*Q1+0.5769*Q1[2]-0.5769*Q1[4]-0.0962*Q1[6])*(0.075*Period[1]+0.54);
{Phasor addition for 3-bar
averaging} I2=I1-jQ; Q2=Q1+jI;
{Smooth the I and Q components
before applying the discriminator} I2=0.2*I2+0.8*I2[1];
Q2=0.2*Q2+0.8*Q2[1];
{Homodyne Discriminator}
Re=I2*I2[1]+Q2*Q2[1]; Im=I2*Q2[1]-Q2*I2[1];
Re=0.2*Re+0.8*Re[1]; Im=0.2*Im+0.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<0.67*Period[1] then Period=0.67*Period[1]; If Period<6
then Period=6; If Period>50 then Period=50;
Period=0.2*Period+0.8*Period[1];
SmoothPeriod=0.33*Period+0.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; If alpha>FastLimit then alpha=FastLimit;
MAMA=alpha*Price+(1-alpha)*MAMA[1];
FAMA=0.5*alpha*MAMA+(1-0.5*alpha)*FAMA[1];{Plot1(MAMA,"MAMA");Plot2(FAMA,"FAMA");}
Ehler_FAMA_MAMA=1; MAMA1=MAMA; FAMA1=FAMA;EndElse
Ehler_FAMA_MAMA = -1;
- - - - - - - - - - - - - - - - - - - - - - - - - - - -Clyde
Lee
Chairman/CEO (Home of
SwingMachine)SYTECH
Corporation email: <A
href="mailto:clydelee@xxxxxxxxxxxx">clydelee@xxxxxxxxxxxx 7910
Westglen, Suite 105
Office: (713) 783-9540Houston, TX
77063
Fax: (713) 783-1092Details
at:
www.theswingmachine.com- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
----- Original Message -----
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black">From:
BobR
To: <A title=realtraders@xxxxxxxxxxxxxxx
href="mailto:realtraders@xxxxxxxxxxxxxxx">realtraders@xxxxxxxxxxxxxxx
Sent: Friday, August 24, 2001 20:14
Subject: [RT] Gen - Ehler's MamaFama from
Sept TASC
Plots two lines that
trend with price and cross over near turning points.{by John Ehlers
TASC September 2001}Inputs:
Price((H+L)/2),FastLimit(0.5),SlowLimit(0.05);Vars:Smooth(0),Detrender(0),I1(0),Q1(0),jI(0),jQ(0),
Yahoo! Groups Sponsor
ADVERTISEMENT
To unsubscribe from this group, send an email to:
realtraders-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
|