← QGrid_DONCHIAN_PCT_ADX_Anti

QGrid_DONCHIAN_PCT_ADX_Anti — Fixes

ENGINEERING COMPLETEAudited 2026-09-15· quantgrid engine· gunbot-quant· spot

Every defect the audit found and how it was repaired — the same measurements as the engineering record, without the code.

1 issue found and repaired — 1 defect, 0 warnings.

# Issue Severity Surface
1 Five settings do nothing on all 101 strategies that share this engine, and two of them are the risk controls DEFECT user inputs

Every fix was verified by re-running the full backtest across all 7 markets and comparing the result record against the pre-fix baseline. Where a fix is stated to change no behaviour, the two records are identical to the byte.


Five settings do nothing on all 101 strategies that share this engine, and two of them are the risk controls

Severity DEFECT · Surface user inputs · Sites 5

The engine offers 24 settings in the Gunbot panel. Five of them are read by nothing at all.

Two are the risk controls. One is labelled "Max inventory %" and described as the ceiling on how much of your equity the grid may hold. The other is labelled "Stop-loss %" and described as a hard stop for the whole basket. Neither exists. Set them to anything you like and the strategy behaves identically.

A third, "Quote skew", is described as shifting the grid up or down relative to its anchor. The line that would do the shifting multiplies the skew by a bracket that works out to zero whichever way its condition falls, so the shifted anchor is always just the anchor. A fourth setting exists only to feed that bracket, and a fifth is an assumed trading cost the engine never consults.

Why it matters. Two named risk controls that do not exist is the serious half. The rest matters because of what it says about the defaults: an optimiser assigned tuned values to settings that cannot affect anything, so whatever search produced these configurations was partly searching noise.

Counted across every quantgrid file in the pack

files affected
quantgrid strategies sharing this engine 101
carry the zeroed skew expression 101 of 101
G_invMax baked and never referenced 101 of 101
G_slPct baked and never referenced 101 of 101
G_fee baked and never referenced 101 of 101
G_target used only inside the zeroed expression 101 of 101
ship a non-zero G_skew, believing it works 14
ship a non-zero G_slPct, believing a stop exists 14

The same fourteen files appear in both of the last two rows, with values like G_skew 4.6738 and G_slPct 0.4212. Six-decimal values on settings the engine cannot read are the signature of an optimiser sweep that tuned them anyway — which means those fourteen configurations were selected partly on the strength of parameters with no effect.

The fix. Not repaired in this audit, deliberately, and the reason is worth saying out loud.

Connecting the maximum-inventory and stop-loss settings changes what 101 strategies do, all at once. This pack's rule is that a change to behaviour goes in one strategy at a time with its own measurement, and doing it here would mean changing a hundred files on the evidence of one.

What this audit does instead is establish exactly how far the problem reaches, point at the precise line responsible for the skew, and put the repair at the top of this strategy's roadmap — ahead of the experiment that would scale the ladder up, because a bigger ladder is exactly when an inventory ceiling and a basket stop start to matter.

Effect on live behaviour. None. Nothing was changed in this audit. The finding is the scope and the evidence; the repair is scheduled per strategy.

Scope beyond this strategy. All 101 quantgrid strategies in this pack. The engine is one shared implementation and every one of them carries the same five settings with the same absence of any code reading them. Reported here because this is the family's first audit; the same section belongs on the other hundred pages.