PureBytes Links
Trading Reference Links
|
<FONT face=Arial color=#0000ff
size=2>Dimitris,
Thanks
for the well thought out explaination
Regards,
Jayson
<FONT face=Tahoma
size=2>-----Original Message-----From: DIMITRIS TSOKAKIS
[mailto:TSOKAKIS@xxxxxxxxx]Sent: Thursday, March 04, 2004 6:54
PMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] A Ti3
crash test[3]We suppose a. The price goes from 100
to 110 in one day.b. The DEMA(20) exceeds the final value by MaxDiv1.c.
The TEMA(20) exceeds the final value by MaxDiv2.d. We replace above averages
with Ti3(5)d. The MaxDiv of the Ti3(5) should vary from MaxDiv1 to MaxDiv2
in order to preserve the usual shape of smoothing lines and avoid
oscillations*.The following IB code will calculate automatically the
range of the parameter S.// The range of the parameter S
L1=LastValue(Cum(1));D=100;DD=110;C0=IIf(Cum(1)>L1-d,dd,d);Plot(C0,"\nCLOSE",1,8);PERIOD=20;//the
DEMA and TEMA
periodS1=DEMA(C0,PERIOD);S2=TEMA(C0,PERIOD);Div1=100*(s1-C0)/LastValue(C0);MaxDiv1=LastValue(Highest(Div1));Div2=100*(s2-C0)/LastValue(C0);MaxDiv2=LastValue(Highest(Div2));Plot(S1,"\nDEMA",colorRed,1);z=WriteVal(period,1.0);Plot(S2,"\nTEMA",colorBrightGreen,1);Title="Maximum
Divergence for \nDEMA("+z+")
="+WriteVal(MaxDiv1,1.2)+"%"+"\nTEMA("+z+")="+WriteVal(Maxdiv2,1.2)+"%";//the
Ti3 averagefunction
T3(price,periods,s){e1=EMA(price,periods);e2=EMA(e1,Periods);e3=EMA(e2,Periods);e4=EMA(e3,Periods);e5=EMA(e4,Periods);e6=EMA(e5,Periods);c1=-s*s*s;c2=3*s*s+3*s*s*s;c3=-6*s*s-3*s-3*s*s*s;c4=1+3*s+s*s*s+3*s*s;Ti3=c1*e6+c2*e5+c3*e4+c4*e3;return
ti3;}X=Param("X",5,3,20,1);//the Ti3
periodk=0;smin=0;step=0.01;for(s=0.5;s<1.5;s=s+step){Ti3=T3(C0,X,s);Div3=100*(Ti3-C0)/LastValue(C0);MaxDiv3=LastValue(Highest(Div3));if(MaxDiv3>=MaxDiv1
AND
MaxDiv3<=MaxDiv2){Plot(Ti3,"\nT3",colorBlue,1);k=k+1;smin=smin+IIf(k==1,s,0);}}smax=smin+(k-1)*step;Title=Title+"\nThe
Ti3("+WriteVal(x,1.0)+") parameter S should be from "+WriteVal(smin,1.2)+"
to "+WriteVal(smax,1.2);APPLICATIONAccording to the above
calculation, S should vary from 0.77 to 0.87.Plot the upper and lower Ti3
lines together with DEMA and TEMA with//the Ti3 averagefunction
T3(price,periods,s){e1=EMA(price,periods);e2=EMA(e1,Periods);e3=EMA(e2,Periods);e4=EMA(e3,Periods);e5=EMA(e4,Periods);e6=EMA(e5,Periods);c1=-s*s*s;c2=3*s*s+3*s*s*s;c3=-6*s*s-3*s-3*s*s*s;c4=1+3*s+s*s*s+3*s*s;Ti3=c1*e6+c2*e5+c3*e4+c4*e3;return
ti3;}Ti3a=T3(C,5,0.77);Ti3b=T3(C,5,0.87);Plot(C,"Close",colorBlack,64);Plot(Ti3a,"Ti3a",colorRed,1);Plot(Ti3b,"Ti3b",colorBrightGreen,1);Plot(DEMA(C,20),"DEMA",colorYellow,1);Plot(TEMA(C,20),"TEMA",colorBlue,1);When
the stock has sharp changes [10%-20% in 2-3 days], Ti3 lines are much
faster, without the undesirable price overshots. [*replace 0.77 with 1.77 in
Ti3a=T3(C,5,0.77) to see how the red line begins to oscillate around the
price !!]In final analysis, a (Ti3a+Ti3b)/2 would be almost
ideal.Dimitris Tsokakis--- In amibroker@xxxxxxxxxxxxxxx, "DIMITRIS
TSOKAKIS" <TSOKAKIS@xxxx> wrote:> We suppose again the price
move from 100 to 110 in one day.> The DEMA/TEMA averages will exceed the
final price by MaxDiv1/MaxDiv2 > respectively.> The question
is to find the range of parameter s which will cause to > Ti3
smoother a MaxDiv3 with> > MaxDiv1<= MaxDiv3
<=MaxDiv2> > The following IB code will find> >
// The parameter s limitations >
L1=LastValue(Cum(1));D=100;DD=110;> C0=IIf(Cum(1)<L1-D,D,DD);>
Plot(C0,"\nCLOSE",1,8);> PERIOD=20;z=WriteVal(period,1.0);>
S1=DEMA(C0,PERIOD);> S2=TEMA(C0,PERIOD);>
Div1=100*(s1-C0)/LastValue(C0);MaxDiv1=LastValue(Highest(Div1));>
Div2=100*(s2-C0)/LastValue(C0);MaxDiv2=LastValue(Highest(Div2));>
Plot(S1,"\nDEMA",colorRed,1);>
Plot(S2,"\nTEMA",colorBrightGreen,1);> Title="Maximum Divergence for
\nDEMA("+z+") ="+WriteVal(MaxDiv1,1.2)>
+"%"+"\nTEMA("+z+")="+WriteVal(Maxdiv2,1.2)+"%";> function
T3(price,periods,s)//According to Jayson message 59811 > {>
e1=EMA(price,periods);> e2=EMA(e1,Periods);>
e3=EMA(e2,Periods);> e4=EMA(e3,Periods);>
e5=EMA(e4,Periods);> e6=EMA(e5,Periods);> c1=-s*s*s;>
c2=3*s*s+3*s*s*s;> c3=-6*s*s-3*s-3*s*s*s;>
c4=1+3*s+s*s*s+3*s*s;> Ti3=c1*e6+c2*e5+c3*e4+c4*e3;> return
ti3;> }> X=Param("X",5,3,20,1);>
for(s=0.7;s<1;s=s+0.01)> {> Ti3=T3(C0,X,s);>
Div3=100*(Ti3-C0)/LastValue(C0);MaxDiv3=LastValue(Highest(Div3));>
if(MaxDiv3>=MaxDiv1 AND MaxDiv3<=MaxDiv2)> {>
Plot(Ti3,"\nT3",colorBlue,1);> Title=Title+"\nTi3("+WriteVal(x,1.0)+")
[s="+WriteVal(s,1.2)+"]> ="+WriteVal(maxDiv3,1.2)+"%";> }>
}> > EXAMPLE> For Ti3(10) s should be in the range
[0.70-0.79]> For Ti3(5) s should be in [0.77-0.87]> > s
values above this range will cause significant perturbation of the >
Ti3 smoother and will introduce probable oscillation.> Dimitris
Tsokakis> --- In amibroker@xxxxxxxxxxxxxxx, "DIMITRIS TSOKAKIS"
<TSOKAKIS@xxxx> > wrote:> > Let us suppose a stock
goes from 100 to 110 in one day.> > We shall examine the response of
DEMA, TEMA and Ti3 averages.> > These smoothers catch the new price in
some days, then go higher > and > > find again [asymptotically]
the final price.> > For a given DEMA/TEMA period we may calibrate the
Ti3 period to > > obtain the same Maximum Divergence from the final
price.> > EXAMPLE> > For DEMA/TEMA period=20, we need Ti3
periods x=4 and x=7 > > respectively to avoid exceeding the
DEMA/TEMA MaxDiv.> > > > // Ti3 crash test and Maximum
Divergence, by D. Tsokakis, March 2004> > function
T3(price,periods)//According to Jayson“s message 59811 > > {>
> s = 0.83;> > e1=EMA(price,periods);> >
e2=EMA(e1,Periods);> > e3=EMA(e2,Periods);> >
e4=EMA(e3,Periods);> > e5=EMA(e4,Periods);> >
e6=EMA(e5,Periods);> > c1=-s*s*s;> >
c2=3*s*s+3*s*s*s;> > c3=-6*s*s-3*s-3*s*s*s;> >
c4=1+3*s+s*s*s+3*s*s;> > Ti3=c1*e6+c2*e5+c3*e4+c4*e3;> >
return ti3;> > }> >
L1=LastValue(Cum(1));D=100;DD=110;> >
C1=IIf(Cum(1)<L1-D,D,DD);> > Plot(C1,"\nCLOSE",1,8);> >
PERIOD=20;> > S1=DEMA(C1,PERIOD);> >
S2=TEMA(C1,PERIOD);> > X=Param("X",3,3,20,1);> >
Ti3=T3(C1,X);> > //The maximum divergence> >
Div1=100*(s1-C1)/LastValue(C1);MaxDiv1=LastValue(Highest(Div1));> >
Div2=100*(s2-C1)/LastValue(C1);MaxDiv2=LastValue(Highest(Div2));> >
Div3=100*(Ti3-C1)/LastValue(C1);MaxDiv3=LastValue(Highest(Div3));> >
Plot(S1,"\nDEMA",colorRed,1);> >
Plot(S2,"\nTEMA",colorBrightGreen,1);> >
Plot(Ti3,"\nT3",colorBlue,1);> > z=WriteVal(period,1.0);> >
Title="Maximum Divergence for \nDEMA("+z+") ="+WriteVal(MaxDiv1,1.2)>
> +"%"+"\nTEMA("+z+")="+WriteVal(Maxdiv2,1.2)+"%"+"\n
Ti3> ("+WriteVal> >
(x,1.0)+")="+WriteVal(maxDiv3,1.2)+"%";Send BUG REPORTS
to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to
suggest@xxxxxxxxxxxxx-----------------------------------------Post
AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A
href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.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 the Yahoo! Terms of Service.
|