reply to b2.........arthur?

  1. 25,374 Posts.
    lightbulb Created with Sketch. 2
    Good ol Arthur recently sent me the vol by price indicator formula... I have not refined it yet, you will need to tweak the parameters yourself it is:
    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);
    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);

    re intraday charting have you tried Medved Quote tracker using dynamic feed from your own provider.
    you can also use static feed if you set up a regular refresh on quotetracker...
    Metastock pro is 20min delay intraday refresh..
    otherwise big bucks for Tradestation or similar..
    john
 
arrow-down-2 Created with Sketch. arrow-down-2 Created with Sketch.