Hello Dick - We'd want to tell the new users who
may be
interested in AFL versions of Ehlers and other neat
indicators
that they must first download and save the indicator.dll in the plug-in
folder.
With dingo's help, I can point out that the
indicators.dll is in the AB 3rd party files
Hope this helps
JOE
----- Original Message -----
Sent: Tuesday, November 15, 2005 3:30
PM
Subject: Re: Fw: [amibroker] Ehler's
SineWave Indicator Code
Joe, Here's a simpler version I picked up somewhere? but
it works fine.
//Ehlers Sinewave Indicator
price = (H + L) /
2; Plot(sbSine(price),"Sine",4,1); Plot(sbLeadSine,"Lead
Sine",1,1); //Plot(sbSine(price),"Sine",colorBlue,styleHistogram);
Dcik
H.
GraphXSpace = 3;
Title = "{{NAME}} - {{INTERVAL}}
{{DATE}} - EHLERS : {{VALUES}}";
--- In amibroker@xxxxxxxxxxxxxxx,
"Joe Landry" <jelandry@xxxx> wrote: > > > Here's a
note from a forum member with the Sinewave Indicator. As you >
can tell his name is Corey Saxe and he maybe still a member of
this forum > but posts infrequently. > > There's
been a lot of published material in the forum and on the AB site
presenting > AFL versions of Ehler's indicators. > > I was
going to lead you to the topics on Purebytes and I must be 'stuck on
stupid' > because I can't pull up anything on searches for Ehlers or
sinewave or Rocket Science? > Maybe you can have more success than
I've had. > > Best regards > JOE > -----
Original Message ----- > From: Corey Saxe
> To: amibroker@xxxxxxxxxxxxxxx > Sent:
Monday, September 12, 2005 10:08 PM > Subject: Re:
[amibroker] Ehler's SineWave Indicator Code check form AB GURU
please. > > > Hi Joe, >
> I dug it up. Hadn't worked on it for the past two years.
Spent lots of time trying to duplicate the signals given by
Stefan Sbondorovitch's dll but discovered that because of the
recursive moving averages used within the formula, that unless I knew
exactly how many bars were used in his calculation, it probably would never
be an exact match anyway. I think that I did get pretty close. I
believe that the sine wave generator code is your creation. >
> There has been a lot of water under the bridge since I
wrote this, so if you see anything that I did wrong from the
EasyLanguage conversion, let me know. > Also, Ehlers has
other older, slightly different versions of the Sinewave out there. >
> My formula has lots of extra stuff in it for debugging
and it runs slow, so don't think that your computer locked up. >
> I tried mm's code but all I got was two flat lines. He
also inputs degrees into AB functions that require radians. >
> If Yahoo doesn't take attachments, here are the gory
details: > > /* Ehlers Sinewave
Indicator > by Corey Saxe ver 20032005 >
From Ehlers book: Cybernetic Analysis for Stocks and Futures, p.
154 > */ >
SetBarsRequired(1000000,1000000); >
price=(H+L)/2; >
alpha=Param("alpha",0.07,0.01,1,0.01); > >
pi=4*atan(1); //have a piece... > RTD=180/pi; //radians to
degrees > DTR=1/RTD; //degrees to radians >
SWcount=0;SWGate=0;Jcount=0;SWCycle=0;I1=0;Q1=0;InstPeriod=0;DeltaPhase=0;MedianDelta=0;DC=0;Value1=0; >
DCPeriod=0;RealPart=0;ImagPart=0;DCPhase=0;MedianDelta=0;Cycle=0;RealPart =
0; ImagPart = 0; > // Sine
wave generator----------------------------------------------------------- >
freq =Param("Freq",15,6,50,1); > SWcycle = sin(
Cum(1)*(360*DTR)/freq )+2; > Price = IIf(Param("Prices or
test",1,1,2,1)==1,Price,SWCycle); //Select sinewave test pattern or real
prices > //End Sine
wave generator-------------------------------------------------------- >
> for(i=36;i<BarCount;i++)//37 >
{ >
Smooth[i]=(price[i]+2*price[i-1]+2*price[i-2]+price[i-3])/6; >
Cycle[i] = ((1-0.5*alpha[i])^2)*(Smooth[i] - 2*Smooth[i-1] + Smooth[i-2]) +
2*(1-alpha[i])*Cycle[i-1] - ((1-alpha[i])^2)*Cycle[i-2]; >
> //Hilbert Transform} > Q1[i] =
(0.0962*Cycle[i] + 0.5769*Cycle[i-2] - 0.5769*Cycle[i-4]
- 0.0962*Cycle[i-6]) * (0.5 + 0.08*InstPeriod[i-1]); >
I1[i] = Cycle[i-3]; > if (Q1[i] != 0 AND Q1[i-1] != 0)
DeltaPhase[i] = (I1[i]/Q1[i] - I1[i-1]/Q1[i-1]) / (1 +
I1[i]*I1[i-1]/(Q1[i]*Q1[i-1])); > if (DeltaPhase[i] <
0.1) DeltaPhase[i] = 0.1; > if (DeltaPhase[i] > 1.1)
DeltaPhase[i] = 1.1; > MedianDelta=Median(DeltaPhase ,
5); > //zzz[i]=Mediandelta[i]; OK >
//zzz=Mediandelta[i]; NOT OK > if (MedianDelta[i] == 0)
DC[i]=15; > else > DC[i] =
2*pi/MedianDelta[i] + 0.5;//DC[i] is OK > InstPeriod[i] =
0.33*DC[i] + 0.67*InstPeriod[i-1]; > Value1[i] =
0.15*InstPeriod[i] + 0.85*Value1[i-1]; > //Compute Dominant
Cycle Phase > DCPeriod[i] =
int(Value1[i]); > for (count=0; count < DCPeriod[i]-1;
Count++)//DCPeriod-1 > { > RealPart[i] =
RealPart[i] + sin(DTR*(360*count / DCPeriod[i]))
* Cycle[i-count]; > ImagPart[i] = ImagPart[i] +
cos(DTR*(360*count / DCPeriod[i])) * Cycle[i-count]; >
} > > // Code to prevent TS arctan >
infinity > if (abs(ImagPart[i]) > 0.000001) DCPhase[i]
= atan(RealPart[i]/ImagPart[i]); > if (abs(ImagPart[i])
<= 0.000001) DCPhase[i] = (pi/2) * sign(RealPart[i]); >
> DCPhase[i] = DCPhase[i] + (pi/2);//90 >
if (ImagPart[i] < 0) DCPhase[i] = DCPhase[i] + pi;// add
180 > if (DCPhase[i] > (7*pi/4)) DCPhase[i] = DCPhase[i]
- (2*pi);// sub 360 > } > Sine =
sin(DCPhase); > LeadSine =
sin(DCPhase+(pi/4)); >
A1=Cross(sine,Leadsine); > A2=
Cross(Leadsine,sine); > GraphXSpace=5; >
Plot(Sine,"Sine",colorRed,1);Plot(LeadSine,"LeadSine",colorGreen,1); >
//Plot(price,"",colorYellow,24|styleNoLabel);Plot(price,"Price",colorBlue,1|styleNoLabel); >
//Plot(A1 OR
A2,"Grn-Trough Red-Peak",IIf(A1,colorRed,IIf(A2,colorGreen,Null)),2|styleOwnScale|styleNoLabel); >
//Plot(cycle,"cycle",3,1); >
//Plot(smooth,"smooth",0,1); >
//Plot(test,"dcp",2,8);Plot(test1,"dcp1",1,8); >
//Plot(dcperiod,"DCPeriod",0,1);Plot(Count,"count",1,1); >
//Plot(DC,"DC",2,1); >
//Plot(realpart,"RP",0,1);Plot(imagpart,"IP",1,1); >
//Plot(alpha,"alpha",2,1); > > ----- Original Message
----- > From: Joe Landry
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, September 12, 2005 5:40
PM > Subject: Re: [amibroker] Ehler's SineWave
Indicator Code check form AB GURU please. > >
> Hello Corey Saxe - are you on line?
> > Moni -
> Corey wrote a version of it and let's see if
he's still on the forum > and if you get his
copy then you can compare your code with his. >
> It may well be in the AFL area in Amibroker
or the AB Forum files area. > > JOE
> > > > Please note that this group is
for discussion between users only. > > To get support
from AmiBroker please send an e-mail directly to > SUPPORT
{at} amibroker.com > > For other support material
please check also: > http://www.amibroker.com/support.html >
> > > > > SPONSORED LINKS
Investment management software Real estate investment software
Investment property software
> Software
support Real estate investment analysis software Investment
software > >
> ------------------------------------------------------------------------------ >
YAHOO! GROUPS LINKS > > a.. Visit
your group "amibroker" on the web. >
> b.. To unsubscribe from this group,
send an email to: >
amibroker-unsubscribe@xxxxxxxxxxxxxxx >
> c.. Your use of Yahoo! Groups is
subject to the Yahoo! Terms of Service. > >
> ------------------------------------------------------------------------------ >
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
SPONSORED LINKS
YAHOO! GROUPS LINKS
|