DiagnoseADBuffers.mq5 reports, per indicator per buffer per chart, the share of
EMPTY_VALUE, the share of exact zeros, the single most common value share, and the
standard deviation - flagging NEVER-FILLED / ALL-ZERO / CONSTANT / NEAR-CONSTANT.
It answers the question that has to be settled BEFORE any "this feature carries no
signal" verdict: is the buffer computing anything at all. A constant column is a code
fault, not a weak feature - a real but weak signal still varies.
FIRST RUN, 40,000 H1 bars x 5 charts: ADWyckoffEventStream buffers 12 and 13
(Reaccumulation, Redistribution) are identically zero with sd exactly 0 on ALL FIVE
charts. Tracing it gives a proof rather than a suspicion:
line 465 accumulation ranges open only under tr<=0, calling OpenRange(+1, bi, tr)
line 392 continuation needs (dir>0 && trendAtOpen>0), and trendAtOpen IS that tr
so the reaccumulation branch is unreachable by construction, and redistribution is
unreachable symmetrically. gRIsContinuation can never be true.
The conceptual error is one Trend(bi) reading serving two different questions - the
climax gate asks about the trend the climax TERMINATES, reaccumulation asks about a
larger trend the range sits INSIDE. Different horizons; collapsing them makes the
conditions mutually exclusive.
This corrects my own earlier reading. I reported the block as "dead at every parameter
set" from a 41-candidate sweep on two bands; no parameter can make an unreachable
branch fire, so that search was never a test of the concept. The feature set is
unchanged - the operator is having the suite reviewed for correctness.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>