Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

Recommended Posts

PRV -- Pro Rated Volume

 

For the volume hawks!

 

This indicator projects the volume at the end of the bar.

It calculates the PRV based on the current trade pace,

and the time remaining in the bar.

 

This information is useful to spot turning points

ie. whether the money is drying up... or flooding in.

 

This indicator is usable on minute charts only.

 

Instructions:

Set the volume to display as a thick histogram

and the PRV to display either as a thin histogram, or as a thick point.

 

 

attachment.php?attachmentid=10276&stc=1&d=1240434149

PRV_Pro_Rated_Volume.jpg.80f7ffe84676548381b23aee9c54215b.jpg

PRV_ProRatedVolume.txt

Edited by Soultrader

Share this post


Link to post
Share on other sites

Does anyone know how I can code Easylanguage for TS2000i to take the word "ComputerDateTime" from the code below with an alternative ? I have tried the word "CurrentTime" but it is not working quite the way it should do. The rest works fine and it is only this that is an issue.

 

 

Paul

 

if date = date[1] then

begin

CurrentTimeInSecs = ( ComputerDateTime - DateToJulian( Date ) ) * 86400 ;

TotSecondsDiff = CurrentTimeInSecs - CurrentTimeInSecs[1] ;

end;

Share this post


Link to post
Share on other sites

here's the difference between the two keywords

 

 

The indicator needs to find out the Current Time In Seconds, the currenttime keyword can only supply the time in minutes.

 

 

 

 

ComputerDateTime

 

Returns a double-precision decimal DateTime value indicating the computer's current date and time.

 

The integer portion of the DateTime value indicates the number of days that have elapsed since January 1st, 1900,

and the fractional portion of the DateTime value indicates the fraction of the day that has passed since midnight.

 

Usage

 

ComputerDateTime

 

Example

 

ComputerDateTime will return a value of 39448.25000000 for 6:00 AM on January 1st, 2008

 

CurrentTime

 

Returns a numerical value, indicating the computer's current time.

The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

 

Usage

 

CurrentTime

 

Examples

 

CurrentTime will return a value of 1015 for 10:15 AM

 

CurrentTime will return a value of 1545 for 3:45 PM

Edited by Tams

Share this post


Link to post
Share on other sites

hey Tams, I am not sure what I have to change here to make it work in tradestation, can you give me another hint.

 

// PRV Pro Rated Volume

// author: unknown (previousely posted by TXUK)

// enhancements by TAMS

//

// This indicator projects the volume at the end of the bar.

// It calculates the PRV based on the current trade pace,

// and the time remaining in the bar.

//

// This information is useful to spot turning points

// ie. whether the money is drying up... or flooding in.

//

// This indicator is usable on minute charts only.

//

// Instructions:

// Set the volume to display as a thick histogram

// and the PRV to display either as a thin histogram, or as a thick point.//

//

// enhancemnts by TAMS:

// 20070102

// added user configurable colors

// auto detect chart resolution (original version can only be used on 5min chart)

// added delay, so that the PRV does not get overwhelmed at the beginning of the bar

// added the zero line, so that autoscale starts at zero instead of the lowest volume

//

 

 

inputs:

UpCol( black ),

DnCol( Red ),

UpPRV(green),

DnPRV(Darkcyan),

delay(10);

 

variables:

offset(0),

color(0);

 

vars:

CurrentTimeInSecs ( 0 ),

TotSecondsDiff( 0 ) ,

SecondsDiff( 0 ) ,

MinutesDiff( 0 ),

prv(0);

 

plot1(0, "Zero");

 

if date = date[1] then

begin

CurrentTimeInSecs = ( Currenttime - DateToJulian( Date ) ) * 86400 ;

TotSecondsDiff = CurrentTimeInSecs - CurrentTimeInSecs[1] ;

end;

 

If TotSecondsDiff > delay then

begin

prv = (ticks/TotSecondsDiff) * 60 * barinterval ;

IF prv > ticks[1] THEN

setPlotColor( 2, UpPRV)

else

SetPlotColor(2, dnPRV);

Plot2 (prv, "PRV");

end;

 

if c > c[1] then

color = upcol

else

if c < c[1] then

color = dncol

else

color = color[1];

 

Plot2[1] (ticks[1], "PRV");

plot3(ticks, "Volume", color);

Share this post


Link to post
Share on other sites

when posting codes, please use the code tag.

 

code tag is the code.gif at the top of the reply message window frame.

 


tagged code looks like this

code
code
code

Share this post


Link to post
Share on other sites
hey Tams, I am not sure what I have to change here to make it work in tradestation, can you give me another hint.

...;

 

this indicator was written on TradeStation.

Share this post


Link to post
Share on other sites
when i try to apply it to a chart it says floating point invalid calculation.

 

if you say it does not work, it can mean a lot of things.

I can't really help you when you are providing so little information...

 

what instrument are you applying the indicator to?

what is the chart resolution?

what is the error message? I cannot read your mind. please copy and paste the complete message here. (or make a screen shot).

Share this post


Link to post
Share on other sites

Tams,

 

I find it quite fascinating that when you post a useful volume indicator on here the

"volume hawks" give it virtually no attention whatsoever . . .

 

Perhaps next time you should post some vague, wishy-washy, and totally subjective claptrap about volume spread analysis and what a 'big' bar means? Your post might get some more attention that way.

 

Anyway, thanks for the code!

Share this post


Link to post
Share on other sites
Tams,

 

I find it quite fascinating that when you post a useful volume indicator on here the

"volume hawks" give it virtually no attention whatsoever . . .

 

Perhaps next time you should post some vague, wishy-washy, and totally subjective claptrap about volume spread analysis and what a 'big' bar means? Your post might get some more attention that way.

 

Anyway, thanks for the code!

 

You are welcome.

 

 

The volume hawks are not saying much

because they have already got this indicator years ago.

 

;-)

Share this post


Link to post
Share on other sites

hey tams here is the screenshot you requested i am trying to plot it for the GBPCHF ratio, the error i get is a floating point invalid calculation

 

here is the code in the easy language as well.

 

// PRV Pro Rated Volume

// author: unknown (previousely posted by TXUK)

// enhancements by TAMS

//

// This indicator projects the volume at the end of the bar.

// It calculates the PRV based on the current trade pace,

// and the time remaining in the bar.

//

// This information is useful to spot turning points

// ie. whether the money is drying up... or flooding in.

//

// This indicator is usable on minute charts only.

//

// Instructions:

// Set the volume to display as a thick histogram

// and the PRV to display either as a thin histogram, or as a thick point.//

//

// enhancemnts by TAMS:

// 20070102

// added user configurable colors

// auto detect chart resolution (original version can only be used on 5min chart)

// added delay, so that the PRV does not get overwhelmed at the beginning of the bar

// added the zero line, so that autoscale starts at zero instead of the lowest volume

//

 

 

inputs:

UpCol( black ),

DnCol( Red ),

UpPRV(green),

DnPRV(Darkcyan),

delay(10);

 

variables:

offset(0),

color(0);

 

vars:

CurrentTimeInSecs ( 0 ),

TotSecondsDiff( 0 ) ,

SecondsDiff( 0 ) ,

MinutesDiff( 0 ),

prv(0);

 

plot1(0, "Zero");

 

if date = date[1] then

begin

CurrentTimeInSecs = ( Currenttime - DateToJulian( Date ) ) * 86400 ;

TotSecondsDiff = CurrentTimeInSecs - CurrentTimeInSecs[1] ;

end;

 

If TotSecondsDiff > delay then

begin

prv = (ticks/TotSecondsDiff) * 60 * barinterval ;

IF prv > ticks[1] THEN

setPlotColor( 2, UpPRV)

else

SetPlotColor(2, dnPRV);

Plot2 (prv, "PRV");

end;

 

if c > c[1] then

color = upcol

else

if c < c[1] then

color = dncol

else

color = color[1];

 

Plot2[1] (ticks[1], "PRV");

plot3(ticks, "Volume", color);

fortams.thumb.jpg.685bb947d4995e69aa5ed7618866a5d2.jpg

Share this post


Link to post
Share on other sites

Pro-Rated volume will never work on forex symbols because forex symbols don't report volume.

 

prv = (ticks/TotSecondsDiff) * 60 * barinterval; // this line triggers the FP Error because the value of ticks is zero.

 

hey tams here is the screenshot you requested i am trying to plot it for the GBPCHF ratio, the error i get is a floating point invalid calculation

 

here is the code in the easy language as well.

 

// PRV Pro Rated Volume

// author: unknown (previousely posted by TXUK)

// enhancements by TAMS

//

// This indicator projects the volume at the end of the bar.

// It calculates the PRV based on the current trade pace,

// and the time remaining in the bar.

//

// This information is useful to spot turning points

// ie. whether the money is drying up... or flooding in.

//

// This indicator is usable on minute charts only.

//

// Instructions:

// Set the volume to display as a thick histogram

// and the PRV to display either as a thin histogram, or as a thick point.//

//

// enhancemnts by TAMS:

// 20070102

// added user configurable colors

// auto detect chart resolution (original version can only be used on 5min chart)

// added delay, so that the PRV does not get overwhelmed at the beginning of the bar

// added the zero line, so that autoscale starts at zero instead of the lowest volume

//

 

 

inputs:

UpCol( black ),

DnCol( Red ),

UpPRV(green),

DnPRV(Darkcyan),

delay(10);

 

variables:

offset(0),

color(0);

 

vars:

CurrentTimeInSecs ( 0 ),

TotSecondsDiff( 0 ) ,

SecondsDiff( 0 ) ,

MinutesDiff( 0 ),

prv(0);

 

plot1(0, "Zero");

 

if date = date[1] then

begin

CurrentTimeInSecs = ( Currenttime - DateToJulian( Date ) ) * 86400 ;

TotSecondsDiff = CurrentTimeInSecs - CurrentTimeInSecs[1] ;

end;

 

If TotSecondsDiff > delay then

begin

prv = (ticks/TotSecondsDiff) * 60 * barinterval ;

IF prv > ticks[1] THEN

setPlotColor( 2, UpPRV)

else

SetPlotColor(2, dnPRV);

Plot2 (prv, "PRV");

end;

 

if c > c[1] then

color = upcol

else

if c < c[1] then

color = dncol

else

color = color[1];

 

Plot2[1] (ticks[1], "PRV");

plot3(ticks, "Volume", color);

Share this post


Link to post
Share on other sites
Pro-Rated volume will never work on forex symbols because forex symbols don't report volume.

 

prv = (ticks/TotSecondsDiff) * 60 * barinterval; // this line triggers the FP Error because the value of ticks is zero.

 

If you're wanting to trade forex with volume as part of your strategy, you can always apply the indicator to the relevant fx futures contract, which will have volume.

Share this post


Link to post
Share on other sites

Thanks, that's an excellent solution.

 

Forex doesn't interest me. I solve coding puzzles for their intrinsic value and there's still a lot I can learn from this one. Danhoyda hasn't provided enough details to make sense of it.

If you're wanting to trade forex with volume as part of your strategy, you can always apply the indicator to the relevant fx futures contract, which will have volume.

Share this post


Link to post
Share on other sites

You're welcome. I agree it's a great indicator. Thank you Tams ....TXUK's ......and any other's involved that I've missed.

 

I'm curious what you changed???

 

pardon me I got it to work thanks for the help I changed something on the original code and thats why it didnt work. I changed it back and now it is.

 

Thanks.

 

Love the indicator.

Share this post


Link to post
Share on other sites

that computer date time thing is what I changed it back to.

 

Dan

 

 

inputs:

UpCol( black ),

DnCol( Red ),

UpPRV(green),

DnPRV(Darkcyan),

delay(10);

 

variables:

offset(0),

color(0);

 

vars:

CurrentTimeInSecs ( 0 ),

TotSecondsDiff( 0 ) ,

SecondsDiff( 0 ) ,

MinutesDiff( 0 ),

prv(0);

 

plot1(0, "Zero");

 

if date = date[1] then

begin

CurrentTimeInSecs = ( ComputerDateTime - DateToJulian( Date ) ) * 86400 ;

TotSecondsDiff = CurrentTimeInSecs - CurrentTimeInSecs[1] ;

end;

 

If TotSecondsDiff > delay then

begin

prv = (ticks/TotSecondsDiff) * 60 * barinterval ;

IF prv > ticks[1] THEN

setPlotColor( 2, UpPRV)

else

SetPlotColor(2, dnPRV);

Plot2 (prv, "PRV");

end;

 

if c > c[1] then

color = upcol

else

if c < c[1] then

color = dncol

else

color = color[1];

 

Plot2[1] (ticks[1], "PRV");

plot3(ticks, "Volume", color);

Share this post


Link to post
Share on other sites

I LOVE this indicator. Thank you very much for this. Could someone explain to clearly what exactly it is doing. My code understanding is very limited. Any help would be appreciated.

 

Thanks!

 

Dan

Share this post


Link to post
Share on other sites

PRV estimates total volume (of a completed bar), while the volume is still incomplete and developing.

 

The version in this thread extrapolates the rate of developing volume (i.e. it pro-rates the volume) based on the assumption it will remain steady until the bar completes. This is a beginning point from which to begin searching for formulas that can distinguish viable signals. I have extensively developed skills for cataloging data such as this and performing any analysis imaginable. Just so you know in case anyone has an idea worth exploring and needs help implementing it. I don't have anything forsale and never will. I abhor that category of failed traders who fleece sheep to cover their trading losses.

 

I LOVE this indicator. Thank you very much for this. Could someone explain to clearly what exactly it is doing. My code understanding is very limited. Any help would be appreciated.

 

Thanks!

 

Dan

Share this post


Link to post
Share on other sites

this code by TXUK is a good platform for further development...

 

I would welcome all users to share their enhancements.

 

Sharing is good.... that's how we grow.

Share this post


Link to post
Share on other sites
thanks onesmith. I have been interested in the murray math indicator do you know anything about it?

 

please start a new thread if you would like to change the subject

Share this post


Link to post
Share on other sites
I abhor that category of failed traders who fleece sheep to cover their trading losses.

 

Ha! And then there's that category who fleece sheep but don't have any trading losses to cover because they don't actually trade . . . :)

 

OneSmith has provided me with valuable coding assistance recently and didn't attempt to sell me anything, so I'll happily second his statement above and recommend seeking help from him with coding.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.