Jump to content
Medved Trader Forums

Recommended Posts

Hello all, I'm looking for a way to replicate something comparable to volume buzz/volume sizzle that you see in other products, I've rolled my own version of this by downloading tick volume data I have in Medved but it's a cumbersome process obviously - wondering if anybody has had any success of doing this natively via the screener or api somehow, thanks (the following is from TC2000's explanation) 

A stock's volume for the current day (let's say at 11:32am) is compared to its average historical volume for the same percentage of the day. The volume buzz tells you how far ahead or behind the stock is based on its normal historical activity. A volume buzz of +250% means the stock is trading 250% more than normal for this portion of the day. A figure of -50% means the stock is trading at only half of its norm for this portion of the day. A figure of 0 means nothing unusual is going on in either direction. 

 

thanks

 

 

Link to comment
Share on other sites

More information and formula.   Is this the same as you are referencing?

http://forums.worden.com/default.aspx?g=posts&t=59308

 

Volume Buzz is based on the 100-Period Simple Moving Average of Volume over the previous 100 days (so not including today).

The current Volume is compared to a percentage of the average volume which is directly proportional to the percentage of the trading day which has already passed. So at 10:15 AM ET, the current volume would be compared to about 11.54% of the 100-Day Simple Moving Average of Volume ending yesterday. If the result is +25%, it would mean that current Volume is about 14.42% of the average volume instead of 11.54% of the average volume.

So at the end of the day, you could approximate Volume Buzz using a formula like:

100 * (V / AVGV100.1 - 1)

This formula would also have the same or a similar order to Volume Buzz over the course of the day even though the values would not match.

Volume Buzz can be used as a WatchList Column and sort, but cannot be used as an EasyScan Condition.

Link to comment
Share on other sites

Hmm. This would be a bit expensive to calculate in MT. MT calculates indicators in an "incremental" fashion - that is, there is a "full" recalc of the indicator, then the state of the indicator is remembered for the last completed candle, and the subsequent candle(s)' value is calculated from the last completed candle state.

This does not lend itself very easily to this. But I will put this on my list. I would basically have to keep N pointers (where N is the # of days) into past data and advance them all together in order to recalculate the average volume.

Link to comment
Share on other sites

I rolled my own poor man’s version because any stock in a portfolio that’s back filled has individual tick data in medved - so I have to query each say 20 last days up to current time - add up the volume ticks and weigh for time of day - very ugly and quite slow (and isn’t integrated at all) but in theory the data is already there 

I guess the right way to do this now that I think of it is export those 20 previous days in advance into a database 

Link to comment
Share on other sites

Sorry for multiple posts had another thought - if I am not mistaken the existing vol % compares average daily value for 20 days to today - so really - all I would have to do is take that value and devide it by the % of the day that has past - every (rounded off) 4 minutes of the trading day is another 1% of the trading day 

Edited by Boris Tsipenyuk
Link to comment
Share on other sites

  • 1 year later...

Hi,

 

I am looking to compute something like this in an historical scan. Can you help by correcting the code below? On an histoical scan, Timestamp canno't be used to get the current time and the function Now is not recognized in the code. The min function is not working either.

 



 

Thanks

 

var SessionInfo = GetTradingSessionInfo(Timestamp);

if (Now>SessionInfo.SessionStart && Now<SessionInfo.SessionEnd)

{ TodayRatioVol = SymbolData.Volume/SymbolData.AvgVol / ((Math.Min(Now,SessionInfo.SessionEnd)-SessionInfo.SessionStart)/(SessionInfo.SessionEnd-SessionInfo.SessionStart)) ; }

else

{TodayRatioVol=SymbolData.Volume/SymbolData.AvgVol;}

Link to comment
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.

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.

 Share

×
×
  • Create New...