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

Re: [RT] Re: MY Realtime + Adaptive Stochastic FUNCTION



PureBytes Links

Trading Reference Links


Don,
 
TAS&C magazine has published a number 
of articles by John Ehlers and his
associates dealing with the HilbertPeriod 
concept.
 
I would suggest that you familarize 
yourself with this information.
 
The following is a direct copy of the 
original  "hilbertperiod"  function.
 
Clyde
 
 
 
 


  
  
    { ----------------------------------------------------------
HilbertPeriod (Function) by John Ehlers (7/22/00)
This is the Hilbert Cycle Period Function used by the Hilbert
Channel Breakout System. It must be named "HilbertPeriod".
---------------------------------------------------------- }

Inputs: Price(numeric);

Vars:   Smoother(0), Detrender(0), I1(0), Q1(0), jI(0), jQ(0), I2(0),Q2(0), X1(0), X2(0), Y1(0), Y2(0), Re(0), Im(0), Period(0);

If CurrentBar >5 then begin
        Smoother = (4*Price + 3*Price[1] + 2*Price[2] + Price[3])/10;
        Detrender = (.25*Smoother + .75*Smoother[2] - .75*Smoother[4] - .25*Smoother[6])*(.046*Period[1] + .332);

{Compute InPhase and Quadrature components}
        Q1 = (.25*Detrender + .75*Detrender[2] - .75*Detrender[4] - .25*Detrender[6])*(.046*Period[1] + .332);
        I1 = Detrender[3];

{advance the phase of I1 and Q1 by 90 degrees}
        jI = .25*I1 + .75*I1[2] - .75*I1[4] - .25*I1[6];
        jQ = .25*Q1 + .75*Q1[2] - .75*Q1[4] - .25*Q1[6];
{Phasor addition to equalize amplitude due to quadrature calculations (and 3 bar averaging)}
        I2 = I1 - jQ;
        Q2 = Q1 + jI;

{Smooth the I and Q components before applying the discriminator}
        I2 = .15*I2 + .85*I2[1];
        Q2 = .15*Q2 + .85*Q2[1];

{Homodyne Discriminator}
        {Complex Conjugate Multiply}
        X1 = I2*I2[1];
        X2 = I2*Q2[1];
        Y1 = Q2*Q2[1];
        Y2 = Q2*I2[1];
        Re = X1 + Y1;
        Im = X2 - Y2;

{Smooth to remove undesired cross products}
        Re = .2*Re + .8*Re[1];
        Im = .2*Im + .8*Im[1];

{Compute Cycle Period}
        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];

{END CORE CODE}

        HilbertPeriod = Period;

end;

-- Roger Darley
John F. Ehlers
- - - - - - - - - - - - - - - - - - - - -  
- - - - - - -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: 
  Don 
  Thompson 
  To: <A title=realtraders@xxxxxxxxxxxxxxx 
  href="mailto:realtraders@xxxxxxxxxxxxxxx";>realtraders@xxxxxxxxxxxxxxx 
  
  Sent: Friday, June 29, 2001 19:06
  Subject: Re: [RT] Re: MY Realtime + 
  Adaptive Stochastic FUNCTION
  Maybe someone,,  Bob or Clyde can explain what the 
  Hilbert function is.. ???I know it is not a mispelling of Dilbert.. 
  cough.  cough..Michael, Howard Arrington has a stochastic posted on 
  the website.  I bet itwouldn't be too hard to get something worked 
  out.Don  Thompson----- Original Message -----From: 
  "Michael Ferguson" <<A 
  href="mailto:wl7bdn@xxxxxxxxxxxxx";>wl7bdn@xxxxxxxxxxxxx>To: 
  <realtraders@xxxxxxxxxxxxxxx>Sent: Friday, June 29, 2001 5:41 
  PMSubject: Re: [RT] Re: MY Realtime + Adaptive Stochastic 
  FUNCTION> Are there any ensign programmers around who can adapt 
  this one?>> Thanks,>>> 
  Michael:    
  WL7BDN@xxxxxxxxxxxxx>>>> Adaptive Stochastic 
  FUNCTION>>>>> To unsubscribe from this 
  group, send an email to:> 
  realtraders-unsubscribe@xxxxxxxxxxxxxxx>>>> Your 
  use of Yahoo! Groups is subject to <A 
  href="http://docs.yahoo.com/info/terms/";>http://docs.yahoo.com/info/terms/>>To 
  unsubscribe from this group, send an email 
  to:realtraders-unsubscribe@xxxxxxxxxxxxxxxYour 
  use of Yahoo! Groups is subject to the <A 
  href="http://docs.yahoo.com/info/terms/";>Yahoo! Terms of Service. 




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.