PureBytes Links
Trading Reference Links
|
Hi Swingtrader
Here my Amibroker interpretation of the Code
Kindest Regards
Guno
//====================
//Elder's AutoEnvelope
//====================
//---8<---------------------------
//{Dr A. Elder's AutoEnvelope interpretation v1.0}
//{ www.elder.com/MetaStock/AutoEnvelope.htm }
//{ http://www.metastocktools.com }
//Modified for AmiBroker by Guno van Engel
//{ User inputs }
//pds=Input("EMA periods",1,252,21);
pds = Param("EMA periods", 1, 252, 21);
//pdsBak=Input("lookback periods",1,252,42);
pdsBak=Param("lookback periods",1,252,42);
//x=Input("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,5,4);
x=Param("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,5,4);
//Plot1=Input("[1]AutoEnvelope, [2]Long signals, [3]All
signals",1,3,1);
Plot1=Param("[1]AutoEnvelope, [2]Long signals, [3]All
signals",1,3,1);
//delay=Input("Entry/Exit signals delay",0,5,0);
delay=Param("Entry/Exit signals delay",0,5,0);
//{ Price field }
WC = TimeFrameGetPrice( "C", inWeekly, -1 ); // gives you previous
week Open price
x=IIf(x=1,O,IIf(x=2,H,IIf(x=3,L,IIf(x=5,WC,C))));
//{ Envelope bands }
AvgX=EMA(x,pds);
hiAvg=HHV(H,pdsBak);
loAvg=LLV(L,pdsBak);
shift= EMA(IIf(hiAvg > AvgX, hiAvg - AvgX, AvgX - loAvg),pds);
UpperBand=AvgX+shift;
LowerBand=AvgX-shift;
//{ Envelope signals }
In=Cross(x,LowerBand);
Out=Cross(x,UpperBand);
Init=Cum(In + Out > - 1)==1;
InInit=Cum(In)==1;
flag=BarsSince(Init OR In) < BarsSince(Init OR Out)+InInit;
signals=Ref((InInit AND Hold(InInit=0,2) OR flag AND Hold
(flag=0,2)) -(flag=0 AND Hold(flag,2)),-delay);
//{ Plot envelope on price chart }
UpBand = IIf(PPlot=1,UpperBand,IIf(Plot1=2,signals,In-Out));
MidBand = IIf(PPlot=1,AvgX,IIf(Plot1=2,0,0));
LowBand = IIf(PPlot=1,LowerBand,IIf(Plot1=2,signals,In-Out));
Plot(UpBand ,"UpperBand",colorBlack,styleLine | styleThick);
Plot(MidBand , "MidleBand", colorBlack, styleLine | styleThick );
Plot(LowBand, "LowerBand", colorBlack, styleLine | styleThick );
Plot(C , "Price", colorBlack, styleCandle | styleThick );
--- In amibroker@xxxxxxxxxxxxxxx, "swingtrader_se"
<swingtrader_se@xxxx> wrote:
>
> Can anyone please translate this formula to Amibroker?
> I would be very grateful...
> ====================
> Elder's AutoEnvelope
> ====================
> ---8<---------------------------
>
> {Dr A. Elder's AutoEnvelope interpretation v1.0}
> { www.elder.com/MetaStock/AutoEnvelope.htm }
> { http://www.metastocktools.com }
>
> { User inputs }
> pds:=Input("EMA periods",1,252,21);
> pdsBak:=Input("lookback periods",1,252,42);
> x:=Input("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,5,4);
> plot:=Input("[1]AutoEnvelope, [2]Long signals, [3]All
> signals",1,3,1);
> delay:=Input("Entry/Exit signals delay",0,5,0);
>
> { Price field }
> x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),C))));
>
> { Envelope bands }
> Avg:=Mov(x,pds,E);
> hiAvg:=HHV(H,pdsBak);
> loAvg:=LLV(L,pdsBak);
> shift:=
> Mov(If(hiAvg>Avg,hiAvg-Avg,Avg-loAvg),pds,E);
> UpperBand:=Avg+shift;
> LowerBand:=Avg-shift;
>
> { Envelope signals }
> In:=Cross(x,LowerBand);
> Out:=Cross(x,UpperBand);
> Init:=Cum(In+Out>-1)=1;
> InInit:=Cum(In)=1;
> flag:=BarsSince(Init OR In)
> <BarsSince(Init OR Out)+InInit;
> signals:=Ref((InInit AND Alert(InInit=0,2)
> OR flag AND Alert(flag=0,2))
> -(flag=0 AND Alert(flag,2)),-delay);
>
> { Plot envelope on price chart }
> If(plot=1,UpperBand,If(plot=2,signals,In-Out));
> If(plot=1,Avg,If(plot=2,0,0));
> If(plot=1,LowerBand,If(plot=2,signals,In-Out))
>
> ---8<---------------------------
>
>
> http://www.metastocktools.com
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~->
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
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|