customEditor.json Knob Completeness Pass
Audit / Issue Found
The customstratdev page in Gunbot reads its parameter list from customEditor.json. For a parameter to be tunable from the GUI (and overridable per pair from the chart-pair-overrides panel) it has to be present in that file. A static cross-check found that many recent code changes added new parameters that the strategies read at runtime but that the editor file had no entry for, and that the universal portfolio and runtime knobs were only present on a handful of strategies. The result was that operators could not change those settings per pair from the customstratdev page; they had to edit the underlying JSON by hand.
Before the patch
The editor file exposed roughly 30 to 100 knobs per strategy but was missing three groups:
The new laddered-quoting knobs added during the scale-in fixes, which are present in the source of the Cartea-Jaimungal, Glosten-Milgrom, microprice, and inventory balancer strategies, were never wired into the editor. Number of rungs and rung-band width could not be tuned from the GUI.
The new stop-loss carry-over window knobs added during the fill-detector fixes, present in the source of Hawkes, Kalman grid, Roll model, queue-reactive, and OFI flash, were also missing from the editor. The Kalman grid additionally needed a pending-rung reap age knob.
A universal set of portfolio and runtime knobs that the user_modules read on every strategy was only present on a few strategies. These include the portfolio inclusion flag, the portfolio and per-pair exposure caps, the disable-closeMarket flag, the break-even guard, the consecutive-loss breaker reset cycles, the one-shot stats reset, the warmup cycles, the log level, the minimum order quote, the diagnostic tracer, and the spread-PnL jump guard.
After the patch
A script catalogued every a GUI setting read across every strategy source and diffed against the parameters in the editor file. Two hundred sixty-five missing knobs across thirty-four strategies were added.
Each strategy now has a section called Portfolio and Runtime per-pair overrides containing seventeen universal knobs. Operators can now change portfolio inclusion, exposure caps, break-even guard behaviour, breaker resets, log level, and the tracer per pair from the customstratdev page without editing JSON. Each new knob has a plain-English label and a tooltip that explains what it does and how to set it.
The four laddered-quoting strategies each gained their own ladder section with two knobs (rung count and rung band width). The five fill-detector strategies gained their own section with the carry-over window and, for Kalman grid, the pending-rung reap age.
A re-run of the catalogue audit reported zero missing knobs across the library. The five remaining hits the catalogue saw on the second pass were verified as false positives: a fallback name (MAKER_FEE) that is a backup for an already-exposed GM_MAKER_FEE, and three prefix matches from comments documenting the dynamic per-pair config-override mechanism that the mixer and moon-phase strategies use (the actual CONFIG keys reachable through that mechanism are already fully exposed in the editor).
The package zip and the package folder on the desktop were both refreshed with the new editor file.
Bottom line
Every knob in every strategy is now reachable from the customstratdev page. The chart-pair-override panel can change any of the seventeen universal portfolio and runtime knobs per pair without dropping to the underlying JSON. The editor file grew from roughly 1.1 MB to 1.3 MB to accommodate the new entries.