Universal_Quant_EA/Include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Chiki Bum Chiki Bum 5cb0c5b7cf Fence state-temp cleanup and stop destructive marker deletion
UQ-PERSISTENCE-CLEANUP-FENCING-001.

UQStateSave(): the shared '<primary>.tmp' staging name is replaced by an operation-scoped locator (V2 fingerprint + fixed 20 character operation tag: 12 hex instance seed and 8 hex monotonic counter). The tag keeps the whole name at 104 characters, well inside the MAX_PATH bound, and can never equal the '.cfg' primary or the '.bak' backup. The unconditional pre-write FileDelete() is removed because the name is private to the operation.

Every save failure path now calls UQStateDiscardTemp(), which re-verifies ownership at the moment of the removal and leaves the operation-owned temporary file as an orphan when ownership is lost. No shared, foreign or unidentifiable temporary file is deleted and no scope-wide sweep is added.

CUQRisk::ApplyResetRequest(): a failed initialization-marker update no longer calls GlobalVariableDel(). The marker keeps its previous value, the reset is reported as rejected and the evidence is preserved instead of being converted into marker absence. No marker-removal operation remains in the risk controller.

No change to the V2 fingerprint, primary/backup locators, legacy migration rules, guard or ballot protocol, risk limits or strategy.
2026-10-31 19:50:34 +07:00
..
UQ_Defs.mqh fix: introduce collision-resistant identity locators with state migration 2026-10-31 13:28:11 +07:00
UQ_Exec.mqh fix: enforce account scope and daily monitoring continuity 2026-10-30 11:20:47 +07:00
UQ_Risk.mqh Fence state-temp cleanup and stop destructive marker deletion 2026-10-31 19:50:34 +07:00
UQ_State.mqh Fence state-temp cleanup and stop destructive marker deletion 2026-10-31 19:50:34 +07:00
UQ_Symbols.mqh fix: fail closed on ambiguous broker symbol resolution and schedule every managed symbol 2026-10-30 09:19:45 +07:00