in Search

Volume by Price Indicator

Last post 08-30-2009, 16:12 by mstt. 4 replies.
Sort Posts: Previous Next
  •  08-24-2009, 20:01 30516

    Volume by Price Indicator

    like the one available on StockCharts.com
  •  08-26-2009, 22:00 30532 in reply to 30516

    Re: Volume by Price Indicator


     Can you get more info. on it?  A chart if nothing else might help?

  •  08-28-2009, 11:25 30550 in reply to 30532

    Re: Volume by Price Indicator

  •  08-28-2009, 15:56 30552 in reply to 30516

    Re: Volume by Price Indicator

    There is one by Roy Larsen:

    http://trader.online.pl/MSZ/e-w-Volume_By_Price.html
  •  08-30-2009, 16:12 30559 in reply to 30516

    Re: Volume by Price Indicator

    Axhwan

     

    While MetaStock doesn’t really lend itself to plotting Volume by Price indicators on the left side of a chart, it can be done on the right side with reasonable results. I have (but don’t use) 10 or more variations of Volume by Price. Here’s another link, this one to an illustration from the August 2008 issue of the MetaStock Tips & Tools newsletter.

     

    www.metastocktips.co.nz/volume_by_price.png.

     

    It demonstrates the MetaStock formula below which plots a 10-bar histogram rather than the 25-bar one shown at trader.online.pl. Copies of my article can be obtained by writing to rlarsen@quik.co.nz. A small fee applies to MSTT back issues but this formula is free.

     

    Roy

     

     

     {Volume by Price - 10}

     {Roy Larsen, 2003-2008}

     

    D:=Input("Periods,  0=Full Chart",0,2000,100);

    D:=LastValue(If(D=0,LastValue(Cum(1)-1),D));

    N:=Input("% Scaling in Box,  1=None",1,100,50);

    F:=LastValue(Cum(1)); G:=F-D; {abbreviations}

    A:=G<Cum(1); {window period}

    B:=LastValue(Cum(If(A,V,0))); {window volume}

    Q:=LastValue(HighestSince(1,A=0,C));{window HHV}

    R:=LastValue(LowestSince(1,A=0,C)); {window LLV}

    I:=(Q-R)/10; {range increment}

      {accumulated volume for each price range}

    X0:=LastValue(Cum(If(C<(R+I) AND A,V,0))/B);

    X1:=LastValue(Cum(If(C>=(R+I) AND C<(R+I*2) AND A,V,0))/B);

    X2:=LastValue(Cum(If(C>=(R+I*2) AND C<(R+I*3) AND A,V,0))/B);

    X3:=LastValue(Cum(If(C>=(R+I*3) AND C<(R+I*4) AND A,V,0))/B);

    X4:=LastValue(Cum(If(C>=(R+I*4) AND C<(R+I*5) AND A,V,0))/B);

    X5:=LastValue(Cum(If(C>=(R+I*5) AND C<(R+I*6) AND A,V,0))/B);

    X6:=LastValue(Cum(If(C>=(R+I*6) AND C<(R+I*7) AND A,V,0))/B);

    X7:=LastValue(Cum(If(C>=(R+I*7) AND C<(R+I*8) AND A,V,0))/B);

    X8:=LastValue(Cum(If(C>=(R+I*8) AND C<(R+I*9) AND A,V,0))/B);

    X9:=LastValue(Cum(If(C>=(R+I*9) AND A,V,0))/B);

    M:=Max(Max(X1,X2),Max(X3,X4));

    M:=Max(Max(M,X5),Max(X6,X7));

    M:=Max(Max(M,X8),Max(X9,X0));

    M:=If(N=1,N,M*100)/N; {set window % usage}

      {top of window, HHV for period}

    ValueWhen(1,Cum(1)=G,Q);

      {proportion of volume for each price range}

    ValueWhen(1,F-X9*D/M<=Cum(1),R+I*9.5);

    ValueWhen(1,F-X8*D/M<=Cum(1),R+I*8.5);

    ValueWhen(1,F-X7*D/M<=Cum(1),R+I*7.5);

    ValueWhen(1,F-X6*D/M<=Cum(1),R+I*6.5);

    ValueWhen(1,F-X5*D/M<=Cum(1),R+I*5.5);

    ValueWhen(1,F-X4*D/M<=Cum(1),R+I*4.5);

    ValueWhen(1,F-X3*D/M<=Cum(1),R+I*3.5);

    ValueWhen(1,F-X2*D/M<=Cum(1),R+I*2.5);

    ValueWhen(1,F-X1*D/M<=Cum(1),R+I*1.5);

    ValueWhen(1,F-X0*D/M<=Cum(1),R+I*0.5);

      {left side and base of window, LLV for period}

    ValueWhen(1,Cum(1)>=G,If(A,R,Q));
View as RSS news feed in XML