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.


  • Topics

  • Posts

    • Date: 21st February 2025.   European PMI Disappoint, Weighing on Euro Before German Elections   The Euro is the first currency to witness the volatility on this month’s PMI reports. The French, German and British PMI data have resulted in the Euro being the worst-performing currency of the European Session so far. However, will the Euro continue to decline throughout the day? European Purchasing Managers’ Indexes The French Purchasing Managers Index was the first European index to be made public. The release resulted in the Euro instantly declining 0.24%. The main concern from the French data was the Services PMI which fell from 48.2 to 44.5. Previously the market was expecting the data to remain more or less unchanged. The weak data triggered the decline which came to a halt after Germany’s PMI was released.     The German Manufacturing PMI read 0.5 points higher than previous expectations and the Services PMI was 0.2 points lower. The data from Germany was a relief for Euro investors and the price rose 0.12% higher. However, traders should note that the price of the EURUSD continues to remain 0.20% lower than yesterday’s close. The price of the EURUSD will now depend on the PMI data from the US. The value of the US Dollar will depend on its PMI release this afternoon and the Consumer Sentiment Index. Analysts expect both the US Services and Manufacturing PMI data to remain above the 50.00 level in the expansion zone. German Elections 2 Days Away Germany is set to hold a general election this Sunday, February 23rd, following the collapse of the coalition of social democrats, liberals, and greens. Given the country's highly proportional electoral system, German polls provide a strong indication of potential government formations post-election. The main concern for Germany is the AFD party who are Far-Right Nationalists. Currently, ahead in the polls are CDU (centre-right), and AFD (far right), followed by the SPD (centre-left). Traders should note that the results of the elections are likely to trigger strong volatility on Monday, but also influence volatility today. Economists may become further concerned if the far-right gains power for the first time due to uncertainty. If the government, similar to France, is unable to form a coalition, this would also be a concern for the Eurozone. Furthermore, the Euro this week is also under pressure from comments from members of the European Central Bank. ECB Governing Council member Fabio Panetta said to journalists that officials need not slow interest rate cuts, as January's 2.5% inflation is still expected to reach the 2.0% target this year. He also advised the European economy is weaker than previously expected. EURUSD - Technical Analysis and Indicators The EURUSD is trading above the 75-bar Exponential Moving Average and 100-bar Simple Moving Average on the 2-hour chart. However, the price is moving away from the key resistance level at 1.05058 indicating the price is losing momentum. The short-term volatility is indicating the price is retracing downwards. On the 5-minute timeframe, the price is trading below the 200-bar SMA and is also forming clear lower lows and highs. Simultaneously, the US Dollar Index is trading above the 200-bar SMA on the 5-minute chart confirming no current conflicts. Currently, the US Dollar is the best-performing currency of the day attempting to regain losses from the past 2 weeks. Watch today’s Live Analysis Session for more signals as they develop!   Key Takeaway Points: Weak French Services PMI triggered an initial Euro decline, but German PMI provide a slight relief. However, EURUSD remains lower than yesterday’s close. The Euro’s direction now depends on the US PMI reports, with analysts expecting US data to stay in expansion territory. Sunday's German election could drive volatility, especially if the far-right AFD gains power or if coalition formation proves difficult. ECB official Fabio Panetta suggested no need to slow rate cuts, citing weaker-than-expected economic performance and expected inflation decline. Always trade with strict risk management. Your capital is the single most important aspect of your trading business.   Please note that times displayed based on local time zone and are from time of writing this report.   Click HERE to access the full HFM Economic calendar.   Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding of how markets work. Click HERE to register for FREE!   Click HERE to READ more Market news.   Michalis Efthymiou HFMarkets   Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in Leveraged Products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • BE Bloom Energy stock, watch for a range breakout, target 34 area at https://stockconsultant.com/?BE
    • APLD Applied Digital stock. nice rally, watch for a top of range breakout at https://stockconsultant.com/?APLD
    • UAL United Airlines stock, watch for a narrow range breakout, target 122 area at https://stockconsultant.com/?UAL
    • WBD Warner Bros Discovery stock, watch for a range breakout at https://stockconsultant.com/?WBD
×
×
  • Create New...

Important Information

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