Login Page - Create Account

Support Board


Date/Time: Sat, 21 Jun 2025 13:20:59 +0000



[Programming Help] - Get the price level from Large Trade Volume Trade Indicator

View Count: 979

[2022-04-19 15:06:01]
User189399 - Posts: 48
I want to get the price level of the marker in the Large Trade Volume Trade Indicator so as to input this value to my ACSIL program. I cannot find it in the Subgraph output of the indicator. Could u advise how I can get this value from the indicator or another ACSIL functions or Studies? Thanks
[2022-04-21 01:21:47]
User189399 - Posts: 48
Any updates?
[2022-04-21 07:04:52]
User431178 - Posts: 716
You need to use sc.p_VolumeLevelAtPriceForBars() to access the data associated with the large volume trade indicator.

Large Volume Trade Indicator
[2022-04-26 08:57:01]
User189399 - Posts: 48
As you said it works similar to ACSIL Interface Members - Variables and Arrays: sc.VolumeAtPriceForBars. I tried the code below with compiler error that the "no matching unction call for GetVAPElementAtIndex". Could you suggest example code or documentation specific for sc.p_VolumeLevelAtPriceForBars?


c_VolumeLevelAtPriceContainer *p_VolumeLevelAtPriceForBars = NULL;
int VAPSizeAtBarIndex = sc.p_VolumeLevelAtPriceForBars->GetSizeAtBarIndex(BarIndex);
unsigned int MaxTradeVol=0;
float MaxTradePrice=0.0;
for (int VAPIndex = 0; VAPIndex < VAPSizeAtBarIndex; VAPIndex++){
if (!sc.p_VolumeLevelAtPriceForBars->GetVAPElementAtIndex(BarIndex, VAPIndex, &p_VolumeLevelAtPriceForBars))
  break;
if(p_VolumeLevelAtPriceForBars->GetMaxVolumeAtPrice > MaxTradeVol){
    MaxTradeVol=p_VolumeLevelAtPriceForBars->GetMaxVolumeAtPrice;
    MaxTradePrice=sc.Low[BarIndex]+VAPIndex *sc.TickSize;
  }

}
[2022-04-26 10:21:58]
User431178 - Posts: 716
Suggest reviewing the header file VAPContainer.h for more information, however the example below compiles fine.


s_VolumeLevelAtPrice* p_VolumeLevelAtPrice = nullptr;

int VAPSizeAtBarIndex = sc.p_VolumeLevelAtPriceForBars->GetSizeAtBarIndex(BarIndex);
unsigned int MaxTradeVol = 0;
float MaxTradePrice = 0.0f;

for (int VAPIndex = 0; VAPIndex < VAPSizeAtBarIndex; VAPIndex++) {
  if (!sc.p_VolumeLevelAtPriceForBars->GetVAPElementAtIndex(BarIndex, VAPIndex, &p_VolumeLevelAtPrice))
    break;

  unsigned int maxTradeVolAtPrice = sc.p_VolumeLevelAtPriceForBars->GetMaxVolumeAtPrice(BarIndex, p_VolumeLevelAtPrice->PriceInTicks);

  if (maxTradeVolAtPrice > MaxTradeVol)
  {
    MaxTradeVol = maxTradeVolAtPrice;
    MaxTradePrice = sc.TicksToPriceValue(p_VolumeLevelAtPrice->PriceInTicks);
  }
}

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account