kmmasoud <kmmasoud@xxxxxxxxxxxx>
wrote:
For the top charts in blue do a search in the archives for Dimitris Tsokakis
and Parabolics. There are a number of posts and AFL formulae for this. I think
this may been around 2003/2004, not sure.
This is one his last formulae for the parabolic curve:
*****
//Historical best-fit parabolics
Plot(C,"C",1,64);
perc=3;//sensitivity calibration
x=BarIndex();xx=SelectedValue(x);
t1=SelectedValue(ValueWhen(PeakBars(H,perc)==0,x));
H1=SelectedValue(ValueWhen(PeakBars(H,perc)==0,H));
t11=SelectedValue(ValueWhen(TroughBars(L,perc)==0,x));
H11=SelectedValue(ValueWhen(TroughBars(L,perc)==0,L));
g=t1>t11;
shape=IIf(g,shapeDownArrow*(x==t1),shapeUpArrow*(x==t11));
Color=IIf(g,colorRed,colorBrightGreen);
PlotShapes(shape,color);
t=IIf(g,x-t1,x-t11);
diff1=IIf(g,H1*(xx-t1),H11*(xx-t11));
Lma=SelectedValue(MA(C,50));
f1=0;f2=IIf(Lma<100,1,0)+3*int(log10(Lma));
fa=0;fb=0;step=f2/100;
for(f=f1;f<f2;f=f+step)
{
parabolic=IIf(g,H1-f*t^2,H11+f*t^2);
S1=SelectedValue(Sum(abs(parabolic-H),xx-t1));
S11=SelectedValue(Sum(abs(parabolic-L),xx-t11));
diff=IIf(g,S1,S11);
if(diff<diff1)
{
diff1=diff;fa=f;
}
}
for(f=Max(fa-step,0);f<fa+step;f=f+0.01*step)
{
parabolic=IIf(g,H1-f*t^2,H11+f*t^2);
S1=SelectedValue(Sum(abs(parabolic-H),xx-t1));
S11=SelectedValue(Sum(abs(parabolic-L),xx-t11));
diff=IIf(g,S1,S11);
if(diff<diff1)
{
diff1=diff;fb=f;
}
}
p=IIf(g,H1-fb*t^2,H11+fb*t^2);
Plot(IIf(x>=Max(t1,t11),p,-1e10),"",color,1);
Title=Name()+",
"+WriteIf(t1>t11,"f_desc","f_asc")+"="+WriteVal
(fb,1.4);//+"[f2="+WriteVal(f2)+",step="+WriteVal(step);
GraphXSpace=3;
*****
Regards
ChrisB