Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Multicharts.Net access footprint bar data elements via api
Isn't this just for realtime data? How do you access historical status line values for example? How do you access the ticks in the historical (not realtime!) bar tick by tick?
I am not trying to be cute, I am actually interested in it. Besides that it might answer why you see the behavior of the profile data that you describe.
Regards,
ABCTG
Can you help answer these questions from other members on NexusFi?
I didnt know that! .. I thought the same methods to access realtime ticks would work when historical ticks are being streamed into the indicator. The way to access that information would be the same as in the realtime case...
VP on the other hand doesnt work the same way, it gets calculated somewhere else. Also, the calculation seems to use a different stream. Dunno if my assumption is correct
So, if this is wrong, then how does anyone work with historical tick based indicators/strategies?
Some observations, for real-time tick based calculations
1. When using StatusLine for values of Bid/Ask and then judging last trade as Buy/Sell seems to work. This doesn't work for historical tick based calculations, as the StatusLine bid/ask values dont update for past tick data
2. If I use UpTicksValue/DownTicksValue to see if last trade was Buy/Sell, this doesn't work/is incorrect for both in real-time and in historical tick based calculations. This is very strange cause the whole idea of having this variable is to be able to know buying and selling volume.
I am trying to get access to those collections too. I have tried the code published:
int bn = Bars.FullSymbolData.Current-1; var vp = VolumeProfile.ItemForBar(bn);
if (vp != null)
{
var levels = vp.Values;
for (int i=0; i<levels.Count; i++) {
var level = levels.ElementAt(i);
double p = level.Price.Dbl;
decimal vAsk = level.AskTradedValue;
decimal vBid = level.BidTradedValue;
Output.WriteLine("{0} : {1} | {2}", p, vBid, vAsk);
}
}
But when I compile it I get an error: 'System.Collections.Generic.ICollection<PowerLanguage.VolumeProfile.ILevel>' dpesn't contain an 'ElementAt' definition, neither an extension method 'ElementAt' that sccepts a first argument of type 'System.Collections.Generic.ICollection<PowerLanguage.VolumeProfile.ILevel>' (missing using directive or an ensamble reference?)