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

[amibroker] Re: Elder's AutoEnvelope



PureBytes Links

Trading Reference Links

Guno,

Your Param's are incorrect. 
In MS, Input("Prompt Text",Min,Max,default) 
In Ami, Param(( ''name'', default, min, max, step, sincr = 0 )

So your formula will change from:

//{ 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);

To:

pds = Param("EMA periods",21,2,252,2);
pdsBak = Param("lookback periods",42,2,252,2);
x = Param("use: Open=1, High=2, Low=3, Close=4, WClose=5",1,1,5,4);
Plot1 = Param("[1]AutoEnvelope, [2]Long signals, [3]All 
signals",1,1,3,1);
delay = Param("Entry/Exit signals delay",0,0,5,1);


Hope this helps,

John

--- In amibroker@xxxxxxxxxxxxxxx, "gunovanengel" <gunovanengel@xxxx> 
wrote:
>
> 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/