Login Page - Create Account

Support Board


Date/Time: Fri, 20 Feb 2026 05:26:38 +0000



Post From: Separating Pull stacking

[2026-02-19 21:09:47]
User488241 - Posts: 44
Hello,

I was wondering if anyone was successful at separating the pull stacking into it's 4 parts:
Ask Stack
Ask Pull
Bid Stack
Bid Pull

Approach Used:

sc.GetBidMarketDepthEntryAtLevel() / sc.GetAskMarketDepthEntryAtLevel() — used to snapshot DOM at each price level
sc.UsesMarketDepthData = 1 — enabled market depth access
sc.UpdateAlways = 1 — set to process on every tick (not just per bar)
sc.AutoLoop = 1 — used for bar iteration
std::map<float, int> — stored price→quantity snapshots, comparing current vs previous to detect adds ("stack") and removes ("pull")
What failed: Even with UpdateAlways = 1, the values produced don't match SG7/SG8 from Numbers Bars Calculated Values 2. The Net Bid/Ask values are often wrong in both magnitude (~2–10x off) and direction (sign inversions).

Hypothesis: The Numbers Bars study appears to access a lower-level order book event stream (individual add/cancel/fill events) rather than DOM state snapshots.

Questions for support:

Is there an ACSIL function/callback that provides individual order book events (add/cancel/fill) rather than just the current DOM state?
Is there a way to access the raw pull/stack values that Numbers Bars Calculated Values 2 computes (SG5–SG8) separately rather than just the net?
Does sc.MakeHTTPRequest or any other mechanism expose the internal pull/stack event stream?

Thank you in advance