2026-08-22 00:30:14 -04:00 | | | //+------------------------------------------------------------------+
|
| | | //| Warrior_EA |
|
| | | //| AnimateDread |
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | string eaName = "Warrior_EA";
|
| | | //--- Version of the pattern-journaling SEMANTICS: what a row in a <Filter>_Pattern_N_<Buy|Sell> table
|
| | | //--- means, which bars produce one, and what the columns are. Folded (unconditionally) into the DB
|
| | | //--- filename fingerprint (ComputeDbConfigFingerprint, Warrior_EA.mq5), so bumping it re-keys every
|
| | | //--- database and stale rows can never feed UpdateSignalsWeights() again. BUMP THIS whenever a signal
|
| | | //--- class's pattern definitions change meaning (Signals\Signal*.mqh - e.g. b2069bc's Ichimoku models,
|
| | | //--- 8710240's Sanyaku state->event), or the journaling contract in CExpertSignalCustom::Direction()
|
| | | //--- changes. The config fingerprint alone cannot see code changes - it hashes inputs, and 7 months of
|
| | | //--- rows recorded under three different Pattern_N meanings shared one table because nothing re-keyed.
|
| | | //--- v3: per-side journaling (each side's own ladder match writes its own row; net vote is a data
|
| | | //--- column, not a drop filter) + the netVote schema column.
|
| | | //--- v4: a reversing signal registers its own trade after closing the opposite one (true
|
| | | //--- stop-and-reverse); v3 absorbed it as an exit, which one-sided the ledger for every pure event
|
| | | //--- pattern (strict alternators like MACD model 3 put all rows on whichever side fired first).
|
| | | //--- v5: the OpenLongParams/OpenShortParams gate is gone from the logger - order-placement failures
|
| | | //--- (stops-level, ATR warm-up, entry-mode rejection) cluster in volatility/spread conditions and
|
| | | //--- were non-randomly censoring those bars out of the log. The DB logs every matched ladder,
|
| | | //--- unconditionally on the decision layer.
|
| | | #define SIGNAL_DB_SEMANTICS_VERSION 5
|
| | | string tableschema = "year INTEGER, month INTEGER, day INTEGER, dayOfWeek INTEGER, hour INTEGER, minutes INTEGER, pattern STRING, direction STRING, entryPrice DOUBLE, exitPrice DOUBLE, result STRING, netVote DOUBLE";
|
| | | bool IsBacktesting = false;
|
| | | //--- EnableSessionFilter/EnableNewsFilter/EnableRiskGuard are real inputs (Variables\Inputs.mqh),
|
| | | //--- consistent with every other filter's on/off toggle. EnableITF and EnableMarketDepth are gone -
|
| | | //--- both modules were removed 2026-08-01, see the removal notes in that file.
|
| | | //--- Direct copies of the per-NN inputs (Variables\Inputs.mqh; the AI_CHOICE preset selector is
|
| | | //--- gone since 2026-08-19). The Enable* names survive because dozens of sites read them.
|
| | | //--- EnableHYBRID still names the CONVLSTM topology INSTANCE (CSignalHYBRID, State\HYBRID\) - a
|
| | | //--- 2026-08-15 enum-rename artifact kept so the class and its on-disk files keep their identity.
|
| | | //--- Re-derived in InitializeSignal() like before (init-order safety); same values both times.
|
| | | bool EnablePAI = Use_MLP;
|
| | | bool EnableCONV = Use_CONV;
|
| | | bool EnableLSTM = Use_LSTM;
|
| | | bool EnableHYBRID = Use_CONVLSTM; // the CONVLSTM instance; see the rename note above
|
| | | //+------------------------------------------------------------------+
|