Page 1 of 1

Price Volume Rank (PVR)

Posted: 04 Aug 2011
by eberle lutz
Dear MC Team,

could you please add the PVR:
http://www.csidata.com/studies/Price_Volume_Rank.html
http://www.iqbroker.com/technical-indic ... cator_1711
to the indicator data base of MC in the next release?

That would be great!

Re: Price Volume Rank (PVR)

Posted: 04 Aug 2011
by TJ
Dear MC Team,

could you please add the PVR:
http://www.csidata.com/studies/Price_Volume_Rank.html
http://www.iqbroker.com/technical-indic ... cator_1711
to the indicator data base of MC in the next release?

That would be great!
all you have to do is type in the few lines of code from the web page

Image


ps. use the keyword TICKS in place of VOLUME.

Re: Price Volume Rank (PVR)

Posted: 09 Aug 2011
by eberle lutz
I did so but somehow I did not manage to get it work. I only have little practice with EL.

This is the the complete AB (.afl) file respectively code:

Code: Select all

/* Price-Volume-Rank (PVR)


/* A Price Volume Rank. Buy/Sell at 5/10-Day crossovers.
Buy when fast line crosses below 2.5. Sell when fast
line crosses above 2.5. Use turn-around points cautiously.
Remember that a climbing PVR line indicates a
weakening market. Make another indicator using a double-smoothing
to use A less volatile graph.*/

/* Price-Volume Rank Indicator
Use a 1 if price and volume are up
Use a 2 if price is up and volume is down
Use a 3 if price and volume are down
Use a 4 if price is down and volume is up
Plot a 5-day and a 10-day MA of these values.
Buy/Sell at 5/10-day crossovers.
Buy when fast line crosses below 2.5.
Sell when fast line crosses above 2.5.
Use turn-around points cautiously.
Remember that a climbing PVR line indicates a
weakening market.
Make another indicator using a double-smoothing
to use a less volatile graph.*/

SetChartOptions(0,chartShowDates);

P1 = Ref( Close, -1 );
V1 = Ref( Volume, -1);
PVR = IIf( Close > P1 AND Volume > V1, 4,
IIf( Close > P1 AND Volume <= V1, 3,
IIf( Close <= P1 AND Volume <= V1, 2, 1 )));

T1=Param("T1",5,1,21,1);
T2=Param("T2",10,1,21,1);

PVR1=MA( PVR, T1 );
PVR2=MA( PVR, T2 );

ColorPVR1=IIf(PVR1>PVR2,colorGreen,IIf(PVR1<PVR2,colorRed,colorYellow));
Plot(PVR1,"PVR(5)",colorPVR1,1); //fast
Plot(PVR2,"PVR(10)",colorBlack,1); //slow

Maybe someone of the MC users can translate this code into easy language!?