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.
|