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

Re: [RT] Gen - Ehler's MamaFama from Sept TASC



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.