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

Re: [Metastockusers] Volume By Price Indicator



PureBytes Links

Trading Reference Links

> If I were to do a Cut and Paste, where would I paste these sections and
are there two separate programs?  It would be so helpful to put an
explanation with your work so those of us who are not advanced, would know
what to do and what to expect from the programs.
> Thank you.
> Debra Ann

These are two seperate indicators, one for US date format users (mm/dd) and
the other for British date format users (dd/mm). The differences are pretty
obvious and shouldn't need explanation once pasted seperately into the
indicator builder (to create two indicators) and dropped onto a chart.

The purpose of the indicator is to show the distribution of volume (by
price) over a selected period of any EOD chart. This is done by dividing the
price range for the selected period into 10 sub-ranges, and then summing the
volume for each sub-range. The volume is displayed as a horizontal histogram
with one bar placed in the centre of each price sub-range. The histogram is
boxed on three sides, top and bottom showing the extremes of CLOSE for the
period, and the left (almost) vertical line showing the starting bar of the
period being checked.

The first draft of this indicator was tied to the hard right edge of the
chart and and allowed the user to specify how many price bars to include in
the "volume by price" calculation. One or two people suggested that it would
be of more use if it could be moved to different areas of a chart, selected
by date, and that's what these two examples do.

There is a "scaling" feature that can be used to extend the highest volume
bar for the full width of the box, where every other bar is increased in
proportion. The same option caters for setting the volume bars to the actual
percentage of total volume. this is purely cosmetic to allow for different
user preferences.

One possible use would be to confirm support/resistance areas based on
relatively high (or low?) volume in a particular price range. There is no
way this can be used in an exploration or system test because of the
extensive use of the LastValue() function to create the various line
displays. It's not beyond the realms of possibility that a system test (non
visual) version could be created but to date feedback has been low
suggesting little interest in "volume by price" tools.

The attached gifs should give you some idea of how to set up and use the
indicator.

The 12 bar version (not posted on this forum as far as I can recall) has not
been adapted to use start and end date settings, and to do this would
probably require the removal of the scaling option. The 20 variable limit is
a major factor in limiting the number of volume bars (price sub-ranges) than
can be displayed.

> --- "Roy Larsen" <rlarsen@xxxxxxxxxxxxxx> wrote:
> >Maybe somebody can find a use for this updated 'Volume by Price'
indicator.
> >The first one as a date format of mm/dd/yyyy and the second a date format
of
> >dd/mm/yyyy. Have fun.
> >
> >Roy
> >
> >  {Volume By Price US-10-C}
> >M:=Input("First month, day,",101,1231,1015);
> >Y:=Input( "year",1990,2003,2002);
> >X2:=Input("Last month, day,",101,1231,0301);
> >X3:=Input("year",1990,2003,2003);
> >D:=Int(.01+Frac(M/100)*100); M:=Int(M/100);
> >X1:=Int(.001+Frac(X2/100)*100); X2:=Int(X2/100);
> >D:=(DayOfMonth()>=D AND Month()=M AND
> >Year()=Y) OR Year()>Y OR (Year()=Y AND Month()>M);
> >D:=BarsSince(D AND Alert(D=0,2));
> >D:=LastValue(If(D=0,LastValue(Cum(1)-1),D));
> >N:=Input("Scaling % in box,  0=None",0,100,50);
> >M:=(DayOfMonth()>=X1 AND Month()=X2 AND
> >Year()=X3) OR Year()>X3 OR (Year()=X3 AND Month()>X2);
> >M:=BarsSince(M AND Alert(M=0,2));
> >M:=LastValue(If(M=0,LastValue(Cum(1)-1),M));
> >F:=LastValue(Cum(1));
> >A:=(F-D)<Cum(1) AND (F-M)>=Cum(1);
> >B:=LastValue(Cum(If(A,V,0)));
> >Q:=LastValue(HighestSince(1,Ref(A=0,-M),Ref(C,-M)));
> >R:=LastValue(LowestSince(1,Ref(A=0,-M),Ref(C,-M)));
> >I:=(Q-R)/10;
> >X1:=LastValue(Cum(If(C<(R+I) AND A,V,0))/B);
> >X2:=LastValue(Cum(If(C>=(R+I) AND C<(R+I*2) AND A,V,0))/B);
> >X3:=LastValue(Cum(If(C>=(R+I*2) AND C<(R+I*3) AND A,V,0))/B);
> >X4:=LastValue(Cum(If(C>=(R+I*3) AND C<(R+I*4) AND A,V,0))/B);
> >X5:=LastValue(Cum(If(C>=(R+I*4) AND C<(R+I*5) AND A,V,0))/B);
> >X6:=LastValue(Cum(If(C>=(R+I*5) AND C<(R+I*6) AND A,V,0))/B);
> >X7:=LastValue(Cum(If(C>=(R+I*6) AND C<(R+I*7) AND A,V,0))/B);
> >X8:=LastValue(Cum(If(C>=(R+I*7) AND C<(R+I*8) AND A,V,0))/B);
> >X9:=LastValue(Cum(If(C>=(R+I*8) AND C<(R+I*9) AND A,V,0))/B);
> >X0:=LastValue(Cum(If(C>=(R+I*9) AND A,V,0))/B);
> >B:=Max(Max(X1,X2),Max(X3,X4));
> >B:=Max(Max(B,X5),Max(X6,X7));
> >B:=Max(Max(B,X8),Max(X9,X0));
> >B:=If(N=0,1,B*100)/If(N=0,1,N);
> >Ref(Ref(ValueWhen(1,(F-D)<=Cum(1),Q),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X0*(D-M)/B)=Cum(1)+M,R+I*9.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X9*(D-M)/B)=Cum(1)+M,R+I*8.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X8*(D-M)/B)=Cum(1)+M,R+I*7.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X7*(D-M)/B)=Cum(1)+M,R+I*6.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X6*(D-M)/B)=Cum(1)+M,R+I*5.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X5*(D-M)/B)=Cum(1)+M,R+I*4.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X4*(D-M)/B)=Cum(1)+M,R+I*3.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X3*(D-M)/B)=Cum(1)+M,R+I*2.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X2*(D-M)/B)=Cum(1)+M,R+I*1.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X1*(D-M)/B)=Cum(1)+M,R+I*0.5),-M),M);
> >Ref(Ref(ValueWhen(1,(F-D)<=Cum(1) AND (F-D)>Cum(1)-2,If(A,R,Q)),-M),M);
> >
> >  {Volume By Price 10-C}
> >D:=Input("First day, month,",101,3112,1510);
> >Y:=Input( "year",1990,2003,2002);
> >X1:=Input("Last day, month,",101,3112,103);
> >X3:=Input("year",1990,2003,2003);
> >M:=Int(.01+Frac(D/100)*100); D:=Int(D/100);
> >X2:=Int(.001+Frac(X1/100)*100); X1:=Int(X1/100);
> >D:=(DayOfMonth()>=D AND Month()=M AND
> >Year()=Y) OR Year()>Y OR (Year()=Y AND Month()>M);
> >D:=BarsSince(D AND Alert(D=0,2));
> >D:=LastValue(If(D=0,LastValue(Cum(1)-1),D));
> >N:=Input("Scaling % in box,  0=None",0,100,50);
> >M:=(DayOfMonth()>=X1 AND Month()=X2 AND
> >Year()=X3) OR Year()>X3 OR (Year()=X3 AND Month()>X2);
> >M:=BarsSince(M AND Alert(M=0,2));
> >M:=LastValue(If(M=0,LastValue(Cum(1)-1),M));
> >F:=LastValue(Cum(1));
> >A:=(F-D)<Cum(1) AND (F-M)>=Cum(1);
> >B:=LastValue(Cum(If(A,V,0)));
> >Q:=LastValue(HighestSince(1,Ref(A=0,-M),Ref(C,-M)));
> >R:=LastValue(LowestSince(1,Ref(A=0,-M),Ref(C,-M)));
> >I:=(Q-R)/10;
> >X1:=LastValue(Cum(If(C<(R+I) AND A,V,0))/B);
> >X2:=LastValue(Cum(If(C>=(R+I) AND C<(R+I*2) AND A,V,0))/B);
> >X3:=LastValue(Cum(If(C>=(R+I*2) AND C<(R+I*3) AND A,V,0))/B);
> >X4:=LastValue(Cum(If(C>=(R+I*3) AND C<(R+I*4) AND A,V,0))/B);
> >X5:=LastValue(Cum(If(C>=(R+I*4) AND C<(R+I*5) AND A,V,0))/B);
> >X6:=LastValue(Cum(If(C>=(R+I*5) AND C<(R+I*6) AND A,V,0))/B);
> >X7:=LastValue(Cum(If(C>=(R+I*6) AND C<(R+I*7) AND A,V,0))/B);
> >X8:=LastValue(Cum(If(C>=(R+I*7) AND C<(R+I*8) AND A,V,0))/B);
> >X9:=LastValue(Cum(If(C>=(R+I*8) AND C<(R+I*9) AND A,V,0))/B);
> >X0:=LastValue(Cum(If(C>=(R+I*9) AND A,V,0))/B);
> >B:=Max(Max(X1,X2),Max(X3,X4));
> >B:=Max(Max(B,X5),Max(X6,X7));
> >B:=Max(Max(B,X8),Max(X9,X0));
> >B:=If(N=0,1,B*100)/If(N=0,1,N);
> >Ref(Ref(ValueWhen(1,(F-D)<=Cum(1),Q),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X0*(D-M)/B)=Cum(1)+M,R+I*9.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X9*(D-M)/B)=Cum(1)+M,R+I*8.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X8*(D-M)/B)=Cum(1)+M,R+I*7.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X7*(D-M)/B)=Cum(1)+M,R+I*6.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X6*(D-M)/B)=Cum(1)+M,R+I*5.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X5*(D-M)/B)=Cum(1)+M,R+I*4.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X4*(D-M)/B)=Cum(1)+M,R+I*3.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X3*(D-M)/B)=Cum(1)+M,R+I*2.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X2*(D-M)/B)=Cum(1)+M,R+I*1.5),-M),M);
> >Ref(Ref(ValueWhen(1,F-Int(X1*(D-M)/B)=Cum(1)+M,R+I*0.5),-M),M);
> >Ref(Ref(ValueWhen(1,(F-D)<=Cum(1) AND (F-D)>Cum(1)-2,If(A,R,Q)),-M),M);
> >
> >
> >
> >
> >To unsubscribe from this group, send an email to:
> >Metastockusers-unsubscribe@xxxxxxxxxxx
> >
> >
> >
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
> _____________________________________________________________
> Calling all cartoon fans!
>
> Garfield keeps millions of newspaper readers laughing over their morning
corn flakes...now he's waddling into cyberspace to spread his mirth (and
girth)!
>
> You can now get the full-color Garfield comic strip e-mailed to you every
day of the week -- absolutely FREE! Just go to
http://www.garfield.com/signup/ to register!
>
>
> To unsubscribe from this group, send an email to:
> Metastockusers-unsubscribe@xxxxxxxxxxx
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Make Money Online Auctions! Make $500.00 or We Will Give You Thirty Dollars for Trying!
http://us.click.yahoo.com/yMx78A/fNtFAA/i5gGAA/zMEolB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
Metastockusers-unsubscribe@xxxxxxxxxxx

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Attachment:
BDL1.gif
Description: GIF image
Attachment:

Attachment: Description: "Description: GIF image"

Attachment: Description: "BDL2.gif"