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

[amibroker] Fib Internal External Retracements



PureBytes Links

Trading Reference Links

Hello,

I have provided fib retracements.  Please review the code since the 
lines are set with "stylenolabel" and must be changed if you want 
them to appear on the y axis.  I use the text labels.
Also note that changing "Decimals" parameter will change the format 
for all labels.

David K.

_SECTION_BEGIN("Chart Settings");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer panel",colorBlack)); 
SetChartBkGradientFill(
ParamColor("Inner panel upper",colorDarkGrey),
ParamColor("Inner panel lower",colorBlack));
numbars = LastValue(Cum(Status("barvisible")));
dec = (Param("Decimals",2,0,7,1)/10)+1;
bi=BarIndex();
sbi = BarIndex();

Plot(C,"",IIf(C>O,27, IIf(C<O,32,colorGrey50)),64);

_SECTION_BEGIN("Fib Levels");
pct = Param( "Pivot %",1.0,0.10,60,0.10);
fibi = ParamToggle("Plot IR Fibs","Off|On",0);
hLb=Param("High Look Back",1,1,30,1);
lLb=Param("Low Look Back",1,1,30,1);
irtxt = ParamToggle("IR Text Labels","Off|On",0);
fts = Param ("Text H Shift", -36.1,-50,50,0.10);
/////////////////////
pk=PeakBars(H,pct)==0;
tr=TroughBars(L,pct)==0;
zHi=Zig(H,pct); zLo=Zig(L,pct); HLAvg=(zHi+zLo)/2;
zp=IIf(pk,zHi,IIf(tr,zLo,IIf(HLAvg>Ref(HLAvg,-1),H,L)));
za=Zig(zp,pct);
pR=Ref(za,-1)<za AND za>Ref(za,1);
pS=Ref(za,-1)>za AND za<Ref(za,1);

Plot(za,"",11,1|styleNoLabel);
PlotShapes(shapeDownArrow*pR,colorBrightGreen,0,H,-18);
PlotShapes(shapeUpArrow*pS,colorYellow,0,L,-18);
////////////////////////////////////////////////
_SECTION_BEGIN("Fibs");
xr0=SelectedValue(ValueWhen(pR,sbi,hLb));
yr0=SelectedValue(ValueWhen(pR,zp,hLb));
xs0=SelectedValue(ValueWhen(pS,sbi,lLb));
ys0=SelectedValue(ValueWhen(pS,zp,lLb));
x1=BarCount-1;
deltaP=abs(yr0-ys0);
sup=xs0>xr0;
res=xr0>xs0;
respct = IIf(xr0>xs0,0,100);
suppct = IIf(xs0>xr0,0,100);
resLp=LineArray(xr0,yr0,x1,yr0,0);
supLp = LineArray(xs0,ys0,x1,ys0,0);
////////////////////
function fibr(fibv)
 {
delta=abs(yr0-ys0); 
retval=delta*fibv;
fibval=IIf(res,yr0-retval,IIf(sup,ys0+retval,Null));
return fibval;
}
////////////////Fib Retracements/////////////////
f236=fibr(0.236);f382=fibr(0.382);f500=fibr(0.500);
f618=fibr(0.618);f786=fibr(0.786);f127=fibr(1.272);
f162=fibr(1.620);f200=fibr(2.000);f262=fibr(2.620);
f314=fibr(3.141);f424=fibr(4.240);
////////////////////////
function ifib(ifib)
 {
x0= IIf(res,xr0,xs0);
x1=BarCount-1;
ifibline=LineArray(x0,ifib,x1,ifib); 
return ifibline;
}

if(fibi==1)  {
istyle=styleDashed|styleNoLabel|styleNoRescale;
Plot(resLp,"",32,8);
Plot(supLp,"",55,8);
Plot(ifib(f236),"",40,istyle); Plot(ifib(f382),"",36,istyle);
Plot(ifib(f500),"", 6,istyle); Plot(ifib(f618),"",43,istyle);
Plot(ifib(f786),"",42,istyle); Plot(ifib(f127),"",10,istyle);
Plot(ifib(f162),"",34,istyle); Plot(ifib(f200),"",55,istyle);
Plot(ifib(f262),"",51,istyle); Plot(ifib(f424),"",32,istyle);
}
if(irtxt==1)  {
VizBars = Status("LastVisibleBar")-Status("FirstVisibleBar");
Bars  = (round(Vizbars/fts));
mxpos = SelectedValue(BarIndex())-(Bars);
////////////////////
PlotText(StrFormat("%.2f   %.0f % ",resLp,respct)+"%",mxpos,yr0,32);
PlotText(StrFormat("%.2f   %.0f % ",supLp,suppct)+"%",mxpos,ys0,55);
PlotText("" + NumToStr(f236,dec)+ "   23%",mxpos,f236,40,1);
PlotText("" + NumToStr(f382,dec)+ "   38%",mxpos,f382,36,1);
PlotText("" + NumToStr(f500,dec)+ "   50%",mxpos,f500,11,1);
PlotText("" + NumToStr(f618,dec)+ "   62%",mxpos,f618,43,1);
PlotText("" + NumToStr(f786,dec)+ "   78%",mxpos,f786,42,1);
PlotText("" + NumToStr(f127,dec)+ "   127%",mxpos,f127,10,1);
PlotText("" + NumToStr(f162,dec)+ "   162%",mxpos,f162,34,1);
PlotText("" + NumToStr(f200,dec)+ "   200%",mxpos,f200,55,1);
PlotText("" + NumToStr(f262,dec)+ "   262%",mxpos,f262,51,1);
PlotText("" + NumToStr(f424,dec)+ "   424%",mxpos,f424,32,1);
}

Title = EncodeColor(55)+  Title = Name() + "     " + EncodeColor(55) 
+ Date() + "      " + EncodeColor(3) + "{{INTERVAL}}  " +
	EncodeColor(55)+ "     Open = "+ EncodeColor(10)+ NumToStr
(O,dec) +  
	EncodeColor(55)+ "     High = "+ EncodeColor(43) + NumToStr
(H,dec) +
	EncodeColor(55)+ "      Low = "+ EncodeColor(32)+ NumToStr
(L,dec) + 
	EncodeColor(55)+ "     Close = "+ EncodeColor(42)+ NumToStr
(C,dec) +
	EncodeColor(55)+ "     BI = "+ EncodeColor(42)+ NumToStr
(bi,1.0) +
	EncodeColor(55)+ "     Volume = "+ EncodeColor(55)+ NumToStr
(V,1.0) +"\n"+"\n"+
	EncodeColor(55)+ "   Sup = "+ EncodeColor(55)+ NumToStr
(ys0,dec) +"\n"+
	EncodeColor(40)+ "   23%= "+ EncodeColor(40)+ NumToStr
(f236,dec) +"\n"+
	EncodeColor(36)+ "   38%= "+ EncodeColor(36)+ NumToStr
(f382,dec) +"\n"+  
	EncodeColor(55)+ "  50% = "+ EncodeColor(55) + NumToStr
(f500,dec) +"\n"+
	EncodeColor(43)+ "  62% = "+ EncodeColor(43)+ NumToStr
(f618,dec) +"\n"+ 
	EncodeColor(42)+ "  78% = "+ EncodeColor(42)+ NumToStr
(f786,dec) +"\n"+
	EncodeColor(55)+ "   Res = "+ EncodeColor(55)+ NumToStr
(yr0,dec) +"\n"+  
	EncodeColor(10)+ "127% = "+ EncodeColor(10)+ NumToStr
(f127,dec) +"\n"+
	EncodeColor(34)+ "162% = "+ EncodeColor(34)+ NumToStr
(f162,dec) +"\n"+  
	EncodeColor(55)+ "200% = "+ EncodeColor(55) + NumToStr
(f200,dec) +"\n"+
	EncodeColor(25)+ "262% = "+ EncodeColor(25)+ NumToStr
(f262,dec) +"\n"+ 
	EncodeColor(32)+ "424% = "+ EncodeColor(32)+ NumToStr
(f424,dec);
 
GraphXSpace=12;

--- In amibroker@xxxxxxxxxxxxxxx, "l_abarr" <l_abarr@xxx> wrote:
>
> Hi,
> 
> Can anyone help me create a simple but customizable Retracement (or
> ratio) Indicator?  Like the Fib ratios provided with AmiBroker 
(.382,
> .5, and .618), but I'd like to add additional retracement ratios.
> 
> Thanks!!
>



------------------------------------

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

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/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> 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/