door Paul M » ma 03 maart 2003, 16:03
Hoi Frans,
Zoiets?
Type: Function, Name: vGD
Value function vGD (value xSeries[],value xNumberOfBars,value xFactor) begin
Value xX1[],xX2[];
xX1 :=xAverage(xSeries,xNumberOfBars)*(1+xFactor);
xX2 :=xAverage(xAverage(xSeries,xNumberOfBars),xNumberOfBars)*xFactor;
vGD :=xX1-xX2;
end;
Type: Indicator, Name: T3
Value function T3 (value xSeries[]=close,value xNumberOfBars=6,value xFactor=.7) begin
Value xT3[];
xT3 :=vGD(vGD(vGD(xSeries,xNumberOfBars,xFactor),xNumberOfBars,xFactor),xNumberOfBars,xFactor);
Plot1(xT3,'T3');
end;
Maar nu het verhaal van de Zerolag Tema, ik heb een Metastockcode gevonden:
Moving Average - 10 Day/Zero Lag
N:=10;
TN:=Mov(CLOSE,N,S);
s1:=((n-1)/2) *
C+((n-3)/2) *
Ref(C,-1)+((n-5)/2) *
Ref(C,-2)+((n-7)/2) *
Ref(C,-3)+((n-9)/2) *
Ref(C,-4)+((n-11)/2) *
Ref(C,-5)+((n-13)/2) *
Ref(C,-6)+((n-15)/2) *
Ref(C,-7)+((n-17)/2) *
Ref(C,-8)+((n-19)/2) *
Ref(C,-9);
y2:=TN+(6*S1)/((n+1)*n);
y2
Ik heb er het volgende van gemaakt:
Value function MAZL (value xNumberOfBars=10) begin
value xMA[],xS1[],xY2[];
xMA :=Average(Close,xNumberOfBars);
xS1 :=((xNumberOfBars-1)/2)*Close+((xNumberOfBars-3)/2)*Close[1]+((xNumberOfBars-5)/2)*
Close[2]+((xNumberOfBars-7)/2)*Close[3]+((xNumberOfBars-9)/2)*Close[4]+((xNumberOfBars-11)/2)*
Close[5]+((xNumberOfBars-13)/2)*Close[6]+((xNumberOfBars-15)/2)*Close[7]+((xNumberOfBars-17)/2)*
Close[8]+((xNumberOfBars-19)/2)*Close[9];
xY2 :=xMA+(6*xS1)/((xNumberOfBars+1)*xNumberOfBars);
Plot1(xY2,'Moving Average Zero Lag');
end;
Maar om nu voor elke andere waarde van de xNumberOfBars een formule te maken lijkt me wat omslachtig,bv
Value function MAZL15 (value xNumberOfBars=15) begin
value xMA[],xS1[],xY2[];
xMA :=Average(Close,xNumberOfBars);
xS1 :=((xNumberOfBars-1)/2)*Close+((xNumberOfBars-3)/2)*Close[1]+((xNumberOfBars-5)/2)*
Close[2]+((xNumberOfBars-7)/2)*Close[3]+((xNumberOfBars-9)/2)*Close[4]+((xNumberOfBars-11)/2)*
Close[5]+((xNumberOfBars-13)/2)*Close[6]+((xNumberOfBars-15)/2)*Close[7]+((xNumberOfBars-17)/2)*
Close[8]+((xNumberOfBars-19)/2)*Close[9]+((xNumberOfBars-21)/2)*Close[10]+((xNumberOfBars-23)/2)*Close[11]+
((xNumberOfBars-25)/2)*Close[12]+((xNumberOfBars-27)/2)*Close[13]+((xNumberOfBars-29)/2)*Close[14];
xY2 :=xMA+(6*xS1)/((xNumberOfBars+1)*xNumberOfBars);
Plot1(xY2,'Moving Average Zero Lag 15');
end;
Mijn vraag hoe pas ik deze formule aan zodat bovenstaand verhaal niet hoeft?
groetjes Paul