Context
One of the most common user-side customizations of the Volume indicator is adding horizontal reference lines that help classify bars as "normal", "high" or "exceptional" volume. Today users either eyeball it or run a separate indicator just to render a couple of lines.
I've prototyped a clean implementation with two modes:
- Fixed thresholds - two configurable levels (minor / major) drawn as horizontal lines on the Volume panel, rendered via ValueDataSeries with VisualMode.Line so they integrate natively with templates, exports and chart styling.
- Dynamic thresholds (optional, session-anchored) - mean and mean + k·std computed online with Welford, reset at session start (RTH / 24h). This one is more opinionated and can be considered separately.
Both are fully opt-in (default = off, zero change to current behavior). Backward compatible with existing templates.
What I'd like to ask before opening a PR
There are two reasonable shapes for this contribution, and I'd rather align with the maintainers' preference before sending code:
- Option A - extend Volume.cs: adds the threshold properties and series inside the existing indicator. Pros: single place, discoverable. Cons: grows an otherwise minimal core indicator, mixes "what to compute" with "how to highlight it".
- Option B - new standalone indicator (VolumeThresholds.cs or similar): shares the Volume panel via the usual "Add to existing panel" flow, reads candle.Volume/Ticks/Ask/Bid independently. Pros: keeps Volume.cs untouched, easier to iterate on dynamic modes without touching core. Cons: one more item in the indicators list.
My own lean is toward Option B for the dynamic part and Option A for the fixed-only case if the team prefers to keep things compact, but I'd really like your input here.
Happy to open one or two PRs depending on what you prefer. All strings would be added to Strings.resx with English base values and localization follow-ups. No new dependencies.
Thanks for maintaining this - glad to align with your direction before writing a PR that ends up being the wrong shape.
Context
One of the most common user-side customizations of the Volume indicator is adding horizontal reference lines that help classify bars as "normal", "high" or "exceptional" volume. Today users either eyeball it or run a separate indicator just to render a couple of lines.
I've prototyped a clean implementation with two modes:
Both are fully opt-in (default = off, zero change to current behavior). Backward compatible with existing templates.
What I'd like to ask before opening a PR
There are two reasonable shapes for this contribution, and I'd rather align with the maintainers' preference before sending code:
My own lean is toward Option B for the dynamic part and Option A for the fixed-only case if the team prefers to keep things compact, but I'd really like your input here.
Happy to open one or two PRs depending on what you prefer. All strings would be added to Strings.resx with English base values and localization follow-ups. No new dependencies.
Thanks for maintaining this - glad to align with your direction before writing a PR that ends up being the wrong shape.