Support Board
Date/Time: Tue, 26 Aug 2025 07:01:35 +0000
Method to scan ~13k US equities without consuming tracked slots; per‑symbol unsubscribe
View Count: 116
[2025-08-11 21:16:46] |
User366221 - Posts: 2 |
Hello Sierra Chart team, Goal - Frequently (every 60s) scan Level‑1 (top-of-book) for the full US equities universe (~11.5k–13k symbols) during 9:30–10:00 ET to identify candidates; when a symbol triggers, remain subscribed to it and open its chart while continuing the scans. What I implemented and observed - ACSIL: - sc.GetBasicSymbolData(Symbol, Basic, Subscribe), throttled by sc.GetNumberOfDataFeedSymbolsTracked(). - Also tested sc.GetSymbolDataValue(SymbolDataValuesEnum, Symbol, SubscribeToMarketData=false/true). - Result: Up to ~2,000 symbols return non‑zero L1. Beyond that, calls with Subscribe=false return zeros (not tracked). Calling again with Subscribe=false does not unsubscribe. I cannot find an ACSIL API to immediately release a symbol from tracking. - Quote Board/Chartbook experiments: Closing a 1,500‑symbol board did not reliably free tracked slots. Opening a disjoint 1,500‑symbol board afterward showed the status bar “ST:3000” and only ~500 symbols updated on that board; a subsequent disjoint board had no updates even after ~20 minutes. - Built‑in scanning: Per testing and docs it is sequential and requires chart loads, which is too slow for 13k and not suited for <60s L1 snapshots. Ref: Study/Chart Alerts And Scanning: Scanning Large Number of Intraday Charts - Tried symbol suffix variants (e.g., NVDA, NVDA‑NQTV, NVDA_MBO). No difference in tracked‑slot behavior. Why forced reconnects do not work - I could drive sc.DisconnectFromExternalServiceServer then sc.ConnectToExternalServiceServer to clear tracked symbols between windows, but that temporarily drops all data. I need uninterrupted L1 for triggered symbols. Requests / questions 1) Is there an ACSIL function to immediately unsubscribe/release a specific symbol from the tracked pool (e.g., UnsubscribeSymbol(Symbol)) or to clear tracked symbols without a full reconnect? If not, can this be added? 2) Is there a supported “one‑shot” L1 snapshot read that does not consume a tracked slot (or that auto‑releases immediately) for large batches (e.g., a non‑tracking mode in GetBasicSymbolData/GetSymbolDataValue)? 3) If tracked symbols are intended to be released automatically, what is the exact lifecycle/timing for US equities once no longer referenced by any chart, Quote Board, etc.? 4) The Denali page states: “There are no symbol limits imposed as to how many symbols you can receive real-time data for concurrently.” (Denali Exchange Data Feed: Introduction) How does this reconcile with the practical client‑side limit we are hitting (~2,000 tracked symbols)? If the statement refers only to server policy, could the docs clarify the client‑side constraint? 5) If there is an official, supported pattern to frequently scan L1 across all US stocks (no charts opened / historical downloads unless trigger condition met, no reconnects), please advise. This capability is critical to my workflow. If there is no supported path, please confirm so I can adjust accordingly. Thank you for any clarification or assistance. |
[2025-08-11 21:50:02] |
Sierra_Chart Engineering - Posts: 20734 |
There is a limit of 2000 symbols and there is no way to unsubscribe. This is just how it is. 5) If there is an official, supported pattern to frequently scan L1 across all US stocks (no charts opened / historical downloads unless trigger condition met, no reconnects), please advise. No.
Sierra Chart Support - Engineering Level Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy: https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation For the most reliable, advanced, and zero cost futures order routing, use the Teton service: Sierra Chart Teton Futures Order Routing |
To post a message in this thread, you need to log in with your Sierra Chart account: