feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
# Expert/ Directory Documentation
2026-07-26 23:08:32 -04:00
## Market-submission compliance (article 2555)
Every runtime check from
[The Checks a Trading Robot Must Pass Before Publication in the Market ](https://www.mql5.com/en/articles/2555 )
is implemented in `System/TradeChecks.mqh` (free functions, `TC*` prefix) and applied by the classes
in this folder. Where each rule lives:
| # | Rule | Implemented in |
|---|------|----------------|
| 1 | Catch/fix errors via the tester | Development practice; every rejection below logs a throttled reason |
| 2 | Insufficient funds | `TCCheckMoneyForTrade` / `TCFitVolumeToFreeMargin` , applied by `CExpertMoneyCustom::ValidateLotForTrade` |
| 3 | Invalid volumes | `TCCheckVolumeValue` / `TCNormalizeVolume` , same call site |
| 4 | Pending-order count limit | `TCIsNewOrderAllowed` , checked in `CExpertSignalCustom::OpenParams` and again in `CExpertCustom::OpenLong/OpenShort` |
| 5 | Per-symbol lot limit | `TCSymbolVolumeAllowed` / `TCApplySymbolVolumeLimit` |
| 6 | `SYMBOL_TRADE_STOPS_LEVEL` | `TCCheckStops` / `TCAdjustStops` / `TCCheckPendingPrice` , applied when the setup is shaped and again immediately before the order is sent |
| 7 | `SYMBOL_TRADE_FREEZE_LEVEL` | `TCFreezeOkForPosition` / `TCFreezeOkForOrder` , gating close, reverse, trailing, order modify and order delete in `CExpertCustom` |
| 8 | Insufficient quote history | `TCHasEnoughHistory` , in `CExpertCustom::Refresh` and `CExpertSignalCustom::OpenParams` |
| 9 | Array out of range | `TCIndexOk` , plus the existing index guards (`iLowest` /`iHighest` return values, `Direction()` 's bounded loops) |
| 10 | Zero divide | `TCSafeDivide` , plus explicit zero-denominator guards on every volume-step / loss division |
| 11 | Modification with no changes | `TCPositionModifyIsMeaningful` / `TCOrderModifyIsMeaningful` , in the `TrailingStop*` / `TrailingOrder*` overrides |
| 12 | No DLL imports | Build-time: `WARRIOR_MARKET_BUILD` compiles out the `#import` blocks in `AI/NeuronDirectML.mqh` |
| 13 | No external `iCustom` | Build-time: `#resource` block in `Warrior_EA.mq5` + `WARRIOR_CI()` in `Variables/IndicatorResources.mqh` |
| 14 | Invalid function parameters | `TCSymbolIsTradeable` , plus the existing `ValidationSettings()` range checks |
| 15 | Access violation | No runtime check exists by definition; the NULL-pointer and index guards above are what prevent it |
| 16 | CPU / memory consumption | `TCWarnIfSlow` on each `OnTick` pass (`EXPERT_TICK_BUDGET_US` ) and `TCWarnIfMemoryAbove` on each timer pass (`EXPERT_MEMORY_SOFT_LIMIT_MB` ) |
All rejections report through `TCLog()` , which throttles per condition so a state that persists for
many ticks writes one journal line per minute instead of thousands.
2026-08-01 11:27:28 -04:00
## Class hierarchy
```
CExpert -> CExpertCustom (event dispatch, order lifecycle, article-2555 gates)
CExpertMoney -> CExpertMoneyCustom (volume correction, margin fitting)
CExpertSignal -> CExpertSignalCustom -> CExpertSignalAIBase -> CSignalPAI/CONV/LSTM/HYBRID
```
feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
## ExpertCustom.mqh
2026-08-01 11:27:28 -04:00
Base expert. Virtual handlers for `OnTick` / `OnTimer` / `OnChartEvent` , trading-object
setup, series refresh, and the freeze/stops-level gates applied immediately before every
send, modify and delete.
feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
## ExpertMoneyCustom.mqh
2026-08-01 11:27:28 -04:00
- `CheckAndCorrectVolumeValue` — clamps volume to the broker's min/max/step and describes
each correction.
- `CheckAndAdjustMoneyForTrade` — reduces lots to fit free margin rather than failing the
order outright.
- `ValidateLotForTrade` — the single gate for rules 2/3/5/14, with throttled logging.
feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
## ExpertSignalCustom.mqh
2026-08-01 11:27:28 -04:00
Shared non-AI signal machinery: database-backed signal tracking, pattern weighting,
`OpenParams()` (which shapes SL/TP and applies the min-R:R rejection), and the filter
collection. `SL_Mode` /`TP_Mode` live here — note they define the AI **training target **
as well as the order, since the triple-barrier label is built from them.
There is **no duplicate-trade detection. ** Three methods that implied otherwise were
declared but never defined or called, and were removed in 2026-07. Do not assume the
guard exists.
## ExpertSignalAIBase.mqh
The AI signal base class. The **declaration ** lives here; the method bodies are split by
responsibility into `Expert/AIBase/` and included at the bottom of the file, after the
declaration. Include them nowhere else.
feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
2026-08-01 11:27:28 -04:00
| `Expert/AIBase/` | holds |
|---|---|
| `Training.mqh` | era loop, plateau ladder, checkpoint selection, auto-deploy |
| `Topology.mqh` | network bootstrap, derived shape, conv/LSTM/batch-norm stages |
| `Features.mqh` | indicator creation, per-bar input feature vector |
| `ChartUI.mqh` | arrows, arrow persistence, status panel, cleanup |
| `Lifecycle.mqh` | ctor/dtor, the vote API, tick + chart-event dispatch, config lock |
| `Persistence.mqh` | `.stats` / `.cfg` sidecars, CPU-inference validation |
| `OnlineLearning.mqh` | live continual learning, EMA shadow, OOS simulator |
| `Labels.mqh` | triple-barrier labels, async label-cache prebuild |
| `AutoTune.mqh` | indicator auto-tuner |
| `Inference.mqh` | softmax, prior calibration, class priors |
feat: Enhance README and documentation for Warrior_EA project
- Updated README.md with project overview, key features, directory structure, getting started guide, and modernization roadmap.
- Added AI_NETWORK.md detailing the neural network and AI/ML infrastructure, including architecture, components, usage patterns, and next steps.
- Introduced DATABASE.md for the Database module, outlining key components, design highlights, usage patterns, and future enhancements.
- Created README.md files for Enumerations, Expert, Money, Signals, Structures, System, Trailing, Variables directories, detailing their purpose, key components, and integration notes.
- Documented the Signals subsystem, emphasizing modularity, extensibility, and AI/ML readiness.
- Added comprehensive descriptions for individual signal modules in Signals/ directory.
- Established clear integration notes and recommendations for future improvements across all modules.
2026-04-20 19:28:34 -04:00
2026-08-01 11:27:28 -04:00
The topology is **derived ** , not configured — width, taper, depth, conv filters and LSTM
hidden size all come from the data shape. See `Topology.mqh` and `Variables/Inputs.mqh`
for which inputs were removed and why.