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.

shrike

Vwap Hourly

Recommended Posts

Look for the following code inside the indicator

 

if date > date[1] then begin

 

 

The software evaluates each bar one at a time.

When it reaches a bar that has a different date than the previous bar,

it knows that a new day has begun... and resets the data.

 

 

you can change the line to the following:

 

if time = 0900 then begin

 

This will do the reset at 0900.

 

 

 

 

.

Edited by Tams

Share this post


Link to post
Share on other sites

hi

thanks Tams for help , i tried it and work but what i found sometime an error because if i plot it on a range or volume chart sometime where is not a candle at 0900 so or return an error or skip restart when find a candle at 0900 . i try this :

if time = iniz or time =iniz+1 or time =iniz+2 or time =iniz+3 or time =iniz+4 or time =iniz+5 then begin . not elegant but must study more language code

 

i 've seen one post where you explain a formula with begin_time and end_time , i tried to insert in the code but dont work

Share this post


Link to post
Share on other sites

Try something like.....

 

inputs:

iStartTime (0800),

ResetMinutes (60);

 

 

if mod( (TimeToMinutes(time)-TimeToMinutes(iStartTime)), TimeToMinutes(ResetMinutes) ) = 0 then

begin

reset code starts here

Share this post


Link to post
Share on other sites

thanks BlowFish :)

make some attempts, what do you mean with reset code starts here

 

maybe replace : if date > date[1] then begin

 

with

 

if mod( (TimeToMinutes(time)-TimeToMinutes(iStartTime) ), TimeToMinutes(ResetMinute s) ) = 0 then

begin

Share this post


Link to post
Share on other sites

one logical way to do this is to create a variable that will store the count for the number of bars since a given time or date.

 

vars: firstbar(0), length(0);

 

if date > date[1] then begin

firstbar=currentbar;

end;

 

length=currentbar-firstbar;

 

--------------------------------------

 

the above creates a variable called 'firstbar' and stores that information of when the firstbar began so that you can reference it with a second variable 'length'. length is then a changing variable that is the difference between the bar you are on and the first bar of the day. so the code 'average(close,length);' ..... is the simple average close since the day began, counting back more as the number of bars increases. I found this little piece of code very logical.

Share this post


Link to post
Share on other sites

The advantage of the code I posted is that it allows you to specify any start time and any period (in minutes) to perform the reset. This is irrespective of bar type or size. It works too as I use it in my studies :)

Share this post


Link to post
Share on other sites

This is an awesome indicator!

 

Flowing this thread this is what i got the script.

 

 


{***********************************************************************************************

Coded by dbntina/boxmeister 8/2/2007

Used the VWAP_H code provided by Tradestation on 02/07/2003 Topic ID = 6735 Thanks Guys!

Added the computation for variance and the Standard Deviation to combine into one indicator
plot and this indicator plots the VWAP, SD1 bands and SD2 bands

***********************************************************************************************}



[LegacyColorValue = true];
inputs:
iStartTime (0800),
ResetMinutes (60);








vars:
	PriceW(0),
	ShareW(0),
	Count(0),
	VolWAPValue(0),
	VolWAPVariance(0),
	VolWAPSD(0);


if mod( (TimeToMinutes(time)-TimeToMinutes(iStartTime) ), TimeToMinutes(ResetMinutes) ) = 0 then 
begin
	PriceW = 0;
	ShareW = 0;
	Count = -1;
	Value1 = 0;
	Value2 = 0;
	VolWAPValue = 0;
end;

PriceW = PriceW + (AvgPrice * (UpTicks+DownTicks));
ShareW = ShareW + (UpTicks+DownTicks);
Count = Count + 1;
Value3 = 0;

if ShareW > 0 then VolWAPValue = PriceW / ShareW;

{Calculate the individual variance terms for each intraday bar starting with the current
bar and looping back through each bar to the start bar.  The terms are each normalized
according to the Variance formula for each level of volume at each price bar			}

	For Value1 = 0 To Count Begin
	Value2 = ((UpTicks[Value1]+DownTicks[Value1])/ShareW) * (Square(AvgPrice[Value1]-VolWAPValue));
	Value3 = Value3 + Value2;
End;

VolWAPVariance = Value3;
VolWAPSD = SquareRoot(VolWAPVariance);


Plot1(VolWAPValue, "VWAP");
Plot2(VolWAPValue + VolWAPSD, "VWAP1SDUp");
   Plot3(VolWAPValue - VolWAPSD, "VWAP1SDDown");
Plot4(VolWAPValue + (2*VolWAPSD), "VWAP2SDUp");
   Plot5(VolWAPValue - (2*VolWAPSD), "VWAP2SDDown");

 

 

I wanted to have this indicator plot in RTH only on my 24h tick charts. in Daylight Mountain standard Time it is 7:30am to 14:15pm. I have setup up start time at 7:30 and the reset in minutes to 405min, that should give me the reset at 14:15pm. For some odd reason the indicator would plot till next day 7:30am. Any one know how to fix that?

 

 

Other function i would like to incorporate is for the indicator to stop plotting between 14:15 - 7:30 (RTH close to open)

 

 

I have inserted iEndTime (1415); but that did not go over too well when came to plotting the indicator.

 

 

I would appreciate help on this one.

 

 

R

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.