Traders Laboratory - View Single Post - TTM/DDF Value Chart
View Single Post
  #9 (permalink)  
Old 02-04-2008, 08:58 AM
Blu-Ray's Avatar
Blu-Ray Blu-Ray is offline
Blu-Ray is or is not online

Trader Specs
 
Join Date: Nov 2006
Location: England
Posts: 401
Thanks: 92
Thanked 34 Times in 22 Posts
Re: TTM/DDF Value Chart

Quote:
View Post
HI Blu-Ray,

The code would be perfect if you dont mind. I am trying to replicate this in IRT. Thanks
Sure here goes, the first part is for the function VChart:

Inputs:NumBars(Numeric),P rice(NumericSeries);

Variables:VarNumBars(0),V ar0(0),LRange(0),YDiv(0), RanVar4(0),VOpen(0),VHigh (0),VLow(0),VClose(0),
VarA(0),VarB(0),VarC(0),V arD(0),VarE(0),VarP(0),Va rR1(0),VarR2(0),VarR3(0), VarR4(0),VarR5(0);

{Insure NumBars is between 2 and 1000}
If NumBars < 2 then VarNumBars = 2;
If Numbars > 1000 then VarNumBars = 1000;
If Numbars >= 2 and NumBars <=1000 then VarNumBars = NumBars;

VarP=Round(VarNumBars/5,0);

If VarNumBars >7 then begin
VarA=Highest(H,VarP)-Lowest(L,VarP);
If VarA = 0 and VarP=1 then VarR1=absvalue(C-C[VarP]) Else VarR1 = VarA;
VarB=Highest(H,VarP)[VarP+1]-Lowest(L,VarP)[VarP];
If VarB = 0 and VarP=1 then VarR2=absvalue(C[VarP]-C[VarP*2]) Else VarR2 = VarB;
VarC=Highest(H,VarP)[VarP*2]-Lowest(L,VarP)[VarP*2];
If VarC = 0 and VarP=1 then VarR3=absvalue(C[VarP*2]-C[VarP*3]) Else VarR3 = VarC;
VarD=Highest(H,VarP)[VarP*3]-Lowest(L,VarP)[VarP*3];
If VarD = 0 and VarP=1 then VarR4=absvalue(C[VarP*3]-C[VarP*4]) Else VarR4 = VarD;
VarE=Highest(H,VarP)[VarP*4]-Lowest(L,VarP)[VarP*4];
If VarE = 0 and VarP=1 then VarR5=absvalue(C[VarP*4]-C[VarP*5]) Else VarR5 = VarE;
LRange=((VarR1+VarR2+VarR 3+VarR4+VarR5)/5)*.2;
End;


If VarNumBars <=7 then Begin
If AbsValue(C-C[1]) > (H-L) then Var0=AbsValue(C-C[1]) else var0=(H-L);
If H=L then Var0=absvalue(C-C[1]);
LRange=Average(Var0,5)*.2 ;
End;

If LRange > 0 then begin
If Price = Open then
VChart=((Open-Average((H+L)/2,VarNumBars)))/(LRange);
If Price = High then
VChart=((High-Average((H+L)/2,VarNumBars)))/(LRange);
If Price = Low then
VChart=((Low-Average((H+L)/2,VarNumBars)))/(LRange);
If Price = Close then
VChart=((Close-Average((H+L)/2,VarNumBars)))/(LRange);
End;


and the second part is the indicator

Inputs:NumBars(5);
Variables:Vopen(0),VHigh( 0),VLow(0),VClose(0),Var1 (0),Var2(0);
Var: VcloseLam(0),ValueSOB(" "),ValueMOB(" "),ValueMOS(" "), ValueSOS(" "), ValueFair(" "), lastdate(0);


{Calcualte Value Chart}
VOpen = VChart(NumBars,Open);
VHigh = VChart(NumBars,High);
VLow = VChart(NumBars,Low);
VClose = VChart(NumBars,Close);


If currentbar > Numbars then Begin
Plot1(VOpen,"VOpen");
Plot2(VHigh,"VHigh");
Plot3(VLow,"VLow");
Plot4(VClose,"VClose");
Plot5(8,"8");
Plot6(4,"4");
Plot7(-4,"-4");
Plot8(-8,"-8");
Plot9(0,"0");
End;


Cheers

Blu-Ray

__________________
Remember - Take the path of least resistance.
Reply With Quote