And it is even slower as you read it from the chart : (As you can read in the log attached)
Code: Select all
Current : 2000
Total Seconds / (1000 VolumeProfile request) : 5.216
And as you request more volume profile, for a chart of 300 000 bars , is takes 40 seconds to get 1000 volume profile when your current bar is at 300000th bar, (it is 8 times slower)
Code: Select all
Current : 308000
Total Seconds / (1000 VolumeProfile request) : 40.315
Code: Select all
Current : 414000
Total Seconds / (1000 VolumeProfile request) : 50.492
It tooks a total of 3 hours, 6 minutes , and 24 seconds to load a charts of 417 000 volume profile bars :
Code: Select all
Current : 417000
Total Seconds / (1000 VolumeProfile request) : 47.369
Total seconds: 11184.989284
Hour, Min, Sec : 03:06:24.9892840
Usually on a charts you have at least 3 dataseries : short interval, medium interval, and long interval. It would take 9 hours just to start
I found only one way to get all the volume profile in one instruction :
Code: Select all
System.Collections.Generic.ICollection<IProfile> vp1 = _ShortTermVolumeProfiles.Items;
List<IProfile> ListeProfile = new List<IProfile>();
ListeProfile.Clear();
foreach (IProfile ProfileTemp in vp1)
{
ListeProfile.Add(ProfileTemp);
}
Like that we can select directly the correct profile with :
Code: Select all
IProfile ProfileTemp1;
ProfileTemp1 = ListeProfile[this.BarsOfData(X).FullSymbolData.Current - 1];