]> Piment Noir Git Repositories - freqai-strategies.git/commit
style(quickadapter): emit label_horizon_candles per pair in HPO=on log block
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 22 Jun 2026 13:07:40 +0000 (15:07 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 22 Jun 2026 13:07:40 +0000 (15:07 +0200)
commit07378e5d09810a066db4f12e74266d5417b78ee4
tree0ac779a83d0ff28a339d1a8c58385233a729d612
parentb5d91061d058878bdaa5712638a6eaaa24c53e59
style(quickadapter): emit label_horizon_candles per pair in HPO=on log block

Two post-implementation review findings (Oracle A + Oracle B) resolved
together by a single design change.

Oracle A flagged a latent value-mismatch in the HPO=on branch: the
global `self._label_horizon_candles()` call (no `pair` argument) reads
from `ft_params` only, so when `label_horizon_candles` is unset and
the helper falls back to `label_period_candles`, the logged value
reflects the global initial seed rather than the per-pair effective
value used at fit time (where HPO-tuned `label_period_candles` per
pair drives the fallback). When the user sets `label_horizon_candles`
explicitly, the global call is correct.

Oracle B flagged a cross-branch ordering inconsistency: HPO=on emitted
`label_horizon_candles` first (before per-pair lines), while HPO=off
emitted it last (after period + multiplier). Maintainers comparing
logs across HPO toggles see the same logical scalar in different
positions.

Move the per-pair effective `label_horizon_candles` into the per-pair
line in the HPO=on branch (third field after `label_period_candles`
and `label_natr_multiplier`). This closes the per-pair accuracy gap
(Oracle A) and yields the same `period → multiplier → horizon` order
in both branches (Oracle B). No behavioral change; logging only.
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py