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.

ValueTrader

VWAP with SD Easy Lang Issues.

Recommended Posts

HI, I've tried a few VWAP codes in EL on my Global Zen platform with no problems.

 

The lastet one i've tried:

 

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");

 

Comes up with 2 syntax errors and Unsupported attribute 'LeagacyColorVale"

 

Does anyone know the fix for these, and also can anyone reccomend a site to learn EL coding.

 

Thanks

VT

Share this post


Link to post
Share on other sites
Panic over, i've solved it now. If anyone would like the completed code (Easy Language for Open E Cry) let me know.

 

VT

 

why don't you just post the code.

this is a mutual community, that's why you came here in the first place.

(unless you are fishing for contact names)

 

 

 

ps. pls use code tag to wrap the code

it is the # sign above the message window.

 

tagged code looks like this:

 

LegacyColorValue = true]; 

inputs: 
   VolWAPValue(0), 
   VolWAPVariance(0), 
   VolWAPSD(0); 

if TimeToMinutes(ResetMinute_s) = 0 then 
begin 
   PriceW = 0;
end;

Edited by Tams

Share this post


Link to post
Share on other sites
why don't you just post the code.

this is a mutual community, that's why you came here in the first place.

(unless you are fishing for contact names)

 

Not sure if you're being rude in a friendly way, or friendly in a rude way.

 

I'll post the code and look forward the remarks that make coming these forums such a fun and rewarding experiance.

 

vars: vwap(0),
pv(0),
Totalvolume(0),
Barfromstart(0),
Squareddeviations(0),
Probabilityweighteddeviations(0),
deviationsum(0),
standarddeviation(0);
If date > date[1] 
then 
begin
Barfromstart=0;
pv=AvgPrice*volume;
Totalvolume=volume;
vwap=pv/totalvolume;
end
else
begin
Barfromstart=Barfromstart[1]+1;
pv=pv[1] + AvgPrice*Volume;
Totalvolume=Totalvolume[1] + Volume;
vwap=pv/Totalvolume;
end;
deviationsum=0;
for value1= 0 to Barfromstart
begin
Squareddeviations=Square( vwap-avgprice[value1]);
Probabilityweighteddeviations=volume[value1]*Squareddeviations/Totalvolume;
deviationsum=deviationsum +Probabilityweighteddeviations;
end;

standarddeviation=SquareRoot(deviationsum); 
Plot1(vwap);
Plot2(vwap+standarddeviation);
Plot3(vwap+2*standarddeviation);
Plot4(vwap-standarddeviation);
Plot5(vwap-2*standarddeviation);

Share this post


Link to post
Share on other sites

Hi,

 

I saw your EL code for the VWAP/SDs and imported it to OEC. Is this study similar to Jerry´s study, found under the Trading with Market Statistics threads here at TL.com?

 

Is it for tick-by-tick or 2m? At what time do you start the study?

 

I am using Jerry´s study in Ensign and want to compare it to yours.

 

Regards,

Halli.

Share this post


Link to post
Share on other sites
Hi,

 

I saw your EL code for the VWAP/SDs and imported it to OEC. Is this study similar to Jerry´s study, found under the Trading with Market Statistics threads here at TL.com?

 

Is it for tick-by-tick or 2m? At what time do you start the study?

 

I am using Jerry´s study in Ensign and want to compare it to yours.

 

Regards,

Halli.

 

I use it on a 5min as i find 2 min far too noisy for my requirements.

 

I do not use it in the same way as Jerry (although his posts and videos are excellent) For me it is an extra tool in an holostic approach to trading and market structure.

 

The study will start at the same time as your default market start times on the OEC platform.

 

By posting this code i am in no way reccomending its use in any particular way.

best to paper trade it first to suit your own style.

 

Best of Luck

 

VT

Share this post


Link to post
Share on other sites

It makes me chuckle that people sell stuff like this, I guess it helps those that have no interest in modifying the code themselves. Maybe I should simply post all my VWAP SD indicators which do all that and more:)

 

Anyway bomber there will probably be a line like

 

if date > date[1] then

 

Remove that and you will get a non resetting distribution.

 

Keep a count of days and (pretty trivial) to have an N day distribution.

Share this post


Link to post
Share on other sites
It makes me chuckle that people sell stuff like this, I guess it helps those that have no interest in modifying the code themselves. Maybe I should simply post all my VWAP SD indicators which do all that and more:)

 

Anyway bomber there will probably be a line like

 

if date > date[1] then

 

Remove that and you will get a non resetting distribution.

 

Keep a count of days and (pretty trivial) to have an N day distribution.

 

Hi BlowFish happy to hear your opinion. I think that sell stuff that come frome a free works it isn't really a good things, anyway this is my personal opinion.

Anyway I'd like to add N like number of day to calculate vwap in input, so i could shoose it,

 

And it would be great to combine a new vwap point of calculation when a strong minimum or maximum it is found.

 

Please if you know how to do help.

Share this post


Link to post
Share on other sites

Add something like this at the start of the main code loop:- (NumberofDays is an input)

if date > date[1] then
begin
n = n + 1;
if n = NumberofDays then 
begin	
	s = 0;
	n = 0;
	VWAP1 = VWAP;
	SD1 = SD;
	VWAP = 0;
	SumWeights = 0;
	SumWeightsOld = 0;
	VWAPOld = 0;
end;

Share this post


Link to post
Share on other sites

 

Where would you put that additional code in the formula to get a continuous VWAP/SDs for perhaps the past 2-3 days?

 

Regards,

Halli.

 

In the original code

If date > date[1] 

 

With Any Average, the longer the sample rate, the less sensitive it will be. Altering the VWAP for longer term analysis is great for just that. Dont expect to see many daytrading entry signals from it. The market sentiment / perception of value can change from one day to the next ( Compare Equities on the 18th & 19th this week as an example). Good Luck with it Halli.

 

VT

Share this post


Link to post
Share on other sites
Not sure it worked.

 

 

 

I think the key point to ask is did it 'work' for you?

 

If after testing it (OEC market replay give you the opportuntiy to try it out on multiple contracts) your results are positive, and you develop faith and a good feel for it then it 'works'.

 

Everyone processes the data we recieve on the charts differently, we are all dealing with approximations to a greater or lesser degree (with reference to volume).

 

Maybe use it as part of the jigsaw,and not the whole picture.

 

VT

Edited by ValueTrader
quoted previous post twice!

Share this post


Link to post
Share on other sites
Add something like this at the start of the main code loop:- (NumberofDays is an input)

if date > date[1] then
begin
n = n + 1;
if n = NumberofDays then 
begin	
	s = 0;
	n = 0;
	VWAP1 = VWAP;
	SD1 = SD;
	VWAP = 0;
	SumWeights = 0;
	SumWeightsOld = 0;
	VWAPOld = 0;
end;

 

Hi BlowFish thans for your help.

Now I try to add code and make it works.

 

I post a question about twap indicator, are you able to code it or is very difficult?

Share this post


Link to post
Share on other sites

Thanks ValueTrader for posting this code. Can you show me how to modify it to start at a particular time, say 1800?

 

Thanks in advance,

 

MilesT

 

Code:

vars: vwap(0),

pv(0),

Totalvolume(0),

Barfromstart(0),

Squareddeviations(0),

Probabilityweighteddeviations(0),

deviationsum(0),

standarddeviation(0);

If date > date[1]

then

begin

Barfromstart=0;

pv=AvgPrice*volume;

Totalvolume=volume;

vwap=pv/totalvolume;

end

else

begin

Barfromstart=Barfromstart[1]+1;

pv=pv[1] + AvgPrice*Volume;

Totalvolume=Totalvolume[1] + Volume;

vwap=pv/Totalvolume;

end;

deviationsum=0;

for value1= 0 to Barfromstart

begin

Squareddeviations=Square( vwap-avgprice[value1]);

Probabilityweighteddeviations=volume[value1]*Squareddeviations/Totalvolume;

deviationsum=deviationsum +Probabilityweighteddeviations;

end;

 

standarddeviation=SquareRoot(deviationsum);

Plot1(vwap);

Plot2(vwap+standarddeviation);

Plot3(vwap+2*standarddeviation);

Plot4(vwap-standarddeviation);

Plot5(vwap-2*standarddeviation);

Share this post


Link to post
Share on other sites

Dont forget to wrap to code when posting, using the hash on the top right hand side of the reply window. It makes the code easier to read.

 

{Example code here} plot1(open,"open");

 

As for you start time question, the simplest way would be to open a new chart and alter the default start time. Or you could use...

 

If time >1759 and time<1801 then begin

 

at the start of the code. you'd also need the place an

End;

at the end of the code.

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.