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.

jperl

Trading with Market Statistics. IV Standard Deviation

Recommended Posts

ok, well, I thought you as well had coded something because I have gone thru the whole thread and have read your question about wheter a the vwap was supposed to be computet with all the bars or the bars so far...

 

ok, I'll give that section a look

 

Yes I have, however as there is a working copy published in the indicator section and because I think the algorithms I developed have some intrinsic value I decided not to publish them. (though you will find some of my code in dbntinas PVP indicator anyway:))

Share this post


Link to post
Share on other sites
yeah, I found tha code by dbntina (vwap, sd and pvp), really a great piece of code! Still looking for the volume profile histogram though

 

I have found out PVP and VWAP does not work (don't plot, or return 0) with a single tick-by-tick trading day...how many past trading days are required in order to work??

 

I'm on Multicharts + ZenFire and the data vendor only returns todays data...

 

thanks

Share this post


Link to post
Share on other sites

Well, I have found out both pvp and vwap need one previous trading session at least in order to work. Having said that, I'd like to show you what I came across today: in the first picture atatched I can get the regular vwap and pvp (don't take much notice of the staring time of the trading day, I am having issues with backfilling from ZenFire to Multicharts!). In picture the second picture you can see how the vwap was postponed...I can really understand why. Yet, the vwap and standar deviation still make sense...

 

ant idea?

 

thanks

volumeprofile_1.PNG.a789d618edf39911f39250d53d336a0f.PNG

peak-volume-price.PNG.06eae750dc0a2b500f9a18192cea84f4.PNG

Share this post


Link to post
Share on other sites

Hi Tuccio. On study properties try setting "max bars back that study will reference" to zero or 1 if it wont accept zero. The study should start working with current days data only I am not sure why it requires yesterdays too.

Share this post


Link to post
Share on other sites

Hi folks,

 

i was studying this code. vwap should reset each day is it corret or is better avoid the reset?

 

 

 

inputs:

StartTime( 930 ),

StartMonth( 1 ),

StartDay( 1 ),

StartYear( 2009 ),

UpperPctDisp( .1 ),

LowerPctDisp( -.2 ) ;

 

variables:

StartCalcDate( 0 ),

VolumeValue( 0 ),

MedPrice( 0 ),

PV( 0 ),

CumulativeVolume( 0 ),

CumulativePV( 0 ),

Started( false ),

Denom( 0 ),

KeyCumVol( 0 ),

KeyCumPV( 0 ),

MidasValue( 0 ) ;

 

if CurrentBar = 1 then

StartCalcDate = ELDate( StartMonth, StartDay, StartYear ) ;

 

{ Midas Calculation }

if (Date >= StartCalcDate and Time >= StartTime)

or Date > StartCalcDate

then

begin

VolumeValue = iff( BarType <= 1, Ticks, Volume ) ;

MedPrice = MedianPrice ;

PV = MedPrice * VolumeValue ;

CumulativeVolume = VolumeValue + CumulativeVolume ;

CumulativePV = PV + CumulativePV ;

end ;

 

if Started = false and ( ( Date >= StartCalcDate and

Time >= StartTime ) and ( ( Time[1] < StartTime or

Date[1] < StartCalcDate ) or Date[1] > StartCalcDate ) )

then

begin

Started = true ;

Denom = 1 ;

KeyCumVol = CumulativeVolume ;

KeyCumPV = CumulativePV ;

end

else if Denom >= 1 then

Denom = CumulativeVolume - KeyCumVol ;

 

if Started then

begin

if Denom > 1 then

MidasValue = ( CumulativePV - KeyCumPV ) / Denom

else if Denom = 1 then

MidasValue = MedPrice ;

 

Plot1( MidasValue, “Midas” ) ;

Plot2( MidasValue * ( 1 + UpperPctDisp / 100), “UpBand”);

Plot3( MidasValue * ( 1 + LowerPctDisp / 100), “DnBand”);

end;

Share this post


Link to post
Share on other sites

Hello all.

 

Just finished reading this thread - part IV, got 7 more to go. :)

 

Got a couple of questions please if anyone could assist:

 

1. Can this strategy be applied to trading stocks, especially US stocks?

 

2. Anybody knows whether some kind person has managed to program these indicators (PVP, VWAP, SD etc) for any of the free charting software out there like Tradelink or Ninjatrader? I think Tradelink uses easylanguage, though not 100% sure.

 

Many thanks

Dan

Share this post


Link to post
Share on other sites

Your welcome.

 

Is it my imagination or is there a bit of heavy handed moderation going on here? Oh well no big deal. Having said that there is a real danger of alienating and ultimately loosing users, most people do not like to be censored particularly if it is just a bit of idle banter.

Share this post


Link to post
Share on other sites

 

Is it my imagination or is there a bit of heavy handed moderation going on here? Oh well no big deal. Having said that there is a real danger of alienating and ultimately loosing users, most people do not like to be censored particularly if it is just a bit of idle banter.

 

I hope not. I'm of the opinion that its absolutely ridiculous to ever delete any posts unless something very offensive and disruptive is going on, and even then its not a sure thing. Trying to go through some of dbphoenix's posts on t2w is an absolute nightmare when post #s are referenced and no longer match up because of deleted posts.

Share this post


Link to post
Share on other sites

Hi Guys,

 

I have read right through the "Trading with Mkt statistics" thread, all parts....what i still can't seem to fathom is the definitive formulas to use for the std dev. As everyone codes in different programs, could we not just have it stated explicitly by Jerry (or someone who has the exact same algorithm for coding it as him) but in layman terms without ANY specific program related syntax e.g. for vwap it would be:

 

VWAP = [(SUM(PiVi))/Vtotal]

 

where

 

Pi = Price of each bar in distribution (Either; (O+H+L+C/4) or use the closing price of bar)

Vi = Volume of each bar in distribution

Vtotal = Total Volume for whole distribution

 

At the moment, there seem to be so many conflicting ideas and formulas for the Std Deviation parts that I don't know which to use when coding that part of the process. I'm doing it in CQG which brings it's own issues of using different syntax than what some of you guys use, so if it could be spelled out completely in english as above has been for VWAP it would be appreciated. That way, it should be easier to just code it in whatever platform each person uses.

 

Thanks

TMc1908

Share this post


Link to post
Share on other sites
Try to contact CQG about the VWAP pac, they developed it but I'm not sure that their SD bands are correct.

 

Thanks Roberto, contacted them and they've been helpful...however, was wondering if anyone could cast their eye over the code and just confirm that there are no glaring errors. It seems to be correct to me, just slightly puzzled as to how it is actually acting on my chart though as it seems to be fanning out i.e. they appear to expand and contract similar to a bollinger band (but not as obviously) which I never expected to be honest

 

On CQG there are curves for each of the 7 lines, but code all the same on each bar last line has different DevMultiplier option and either add or subtract. The below is code for 1st Deviation line:

 

Vol1:=IF( HasVal(Vol(@)) AND Vol(@) > 0, Vol(@), 0) ;

priceX:= IF(price = 1, Close(@), IF(price = 2, High(@), IF(price = 3, Low(@), IF(price = 4, Mid(@), IF(price = 5, HLC3(@), IF(price = 6, Avg(@), IF(price=7, Open(@), 0) ) ) ) ) ) ) ;

 

Bars1:=IF((BarsSince(HasVal(@)=0,1,10000) WHEN BarIx(@,StartOfDay)=0)> 0, BarIx(@,StartOfDay)+1, BarsSince(HasVal(@)=0,1,10000)) ;

 

VWAP1:= Sum(priceX* Vol1,Bars1)/ Sum( Vol1,Bars1);

 

Variance1:= Sum( (Vol1/ Sum( Vol1,Bars1))* Power((priceX-VWAP1),2.00000),Bars1);

 

StdDev1:= SqRoot( Variance1);

 

VWAP1+(StdDev1*DevMultiplier1)

DevMultiplier1 is an on chart option where you can specify what multiplier to use

 

ON CQG there are curves for each of the 7 lines, code all the same, just different DevMultiplier option and either add or subtract. The below is just for the 1st Deviation line as an example

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.