2026-09-06 01:57:18 -04:00 | | | # Warrior EA
|
| | |
|
| | | A production-grade MetaTrader 5 Expert Advisor that trains and trades its own neural
|
| | | networks, written entirely against the standard MQL5 toolchain (a compatible
|
| | | `.mq5`/`.mqh` build also runs unmodified in StrategyQuantX/SQX). It fuses classic
|
| | | technical/Wyckoff signal analysis with a custom, from-scratch deep-learning library
|
| | | (dense, convolutional, LSTM, batch-norm) that trains, validates, and deploys itself
|
| | | live on the chart — no external ML runtime, no Python dependency at inference time.
|
| | |
|
| | | Designed for prop-firm-grade correctness: every subsystem that touches money,
|
| | | capacity, or a deploy decision is built around one governing idea — **raw bar count is
|
| | | not the sample size**. Overlapping labels, pooled instruments, and correlated bars all
|
| | | get corrected down to an effective, independent sample size before anything is allowed
|
| | | to size a network, weight a loss, or clear a gate.
|
| | |
|
| | | > See [`PIPELINE_ANALYSIS.md`](PIPELINE_ANALYSIS.md) for a source-verified, file:line-cited
|
| | | > deep dive into the data pipeline, network sizing, labeling, training loop, and deploy
|
| | | > gating — written for technical review, not marketing.
|
| | |
|
| | | ## What it does
|
| | |
|
| | | - **Trains its own models per instrument/timeframe**, on the chart, continuously —
|
| | | no offline training step is required to get a first model live.
|
| | | - **Runs as a fleet**: multiple charts train independently but pool label statistics,
|
| | | capacity budgets, and deploy verdicts across instruments through a shared file-based
|
| | | pool, with a heartbeat/revive sweep that detects and restarts charts whose EA has
|
| | | fatally errored (a dead EA still leaves a chart window open — this is checked for).
|
| | | - **Sizes its own network**: hidden-layer depth and width are derived from an
|
| | | overlap-corrected estimate of independent observations, not raw bar count or a fixed
|
| | | hyperparameter, and re-derived (without discarding trained weights) as more data
|
| | | accumulates.
|
| | | - **Labels itself** with a leg-ride pivot label built on a from-scratch,
|
| | | lookahead-free replica of the ZigZag indicator, rather than reading the live
|
| | | indicator's repainting buffer.
|
| | | - **Trains with a corrected loss**: class-prior logit adjustment, money-weighted
|
| | | sampling, and an average-uniqueness correction for overlapping labels, combined
|
| | | into a single per-sample weight.
|
| | | - **Gates its own deployment**: a model only goes live once it clears measurability,
|
| | | coverage, two-sidedness, and a statistical edge test run against the same
|
| | | overlap-corrected sample size used to size it — not the raw row count.
|
| | | - **Keeps learning after deployment**, blending online updates into a shadow network
|
| | | under a rolling-accuracy guardrail, rather than freezing at deploy time.
|
| | | - **Enforces risk independently of the model**: a separate, always-on risk-budget
|
| | | layer (drawdown floors, an expectancy-based trading halt, position-size capping)
|
| | | runs on every tick regardless of what the model or the vote says.
|
| | |
|
| | | ## Architecture
|
| | |
|
| | | ```
|
| | | Warrior_EA/
|
| | | ├── AI/ Custom neural-network engine (dense / conv / LSTM / batch-norm)
|
| | | │ └── Impl/ OpenCL, DirectML, CPU-DLL and pure-MQL5 backend implementations
|
| | | ├── Expert/
|
| | | │ ├── AIBase/ Feature building, topology sizing, labeling, training, inference
|
| | | │ ├── Labeling/ Leg-ride label, ZigZag replica, label overlap / effective-N
|
| | | │ ├── Training/ Deploy gate, pooled cross-instrument gate, training pool
|
| | | │ ├── Features/ Feature builder, fractional differencing
|
| | | │ ├── Topology/ Capacity-budgeted layer sizing
|
| | | │ ├── Signal/ Signal declustering (NMS)
|
| | | │ ├── Chart/ Chart UI, vote/arrow rendering
|
| | | │ ├── Persistence/ Model save/load, architecture-change handling
|
| | | │ └── OnlineLearning/ Post-deployment shadow-network updates
|
| | | ├── Signals/ PAI / CONV / LSTM / HYBRID neural signals + classic indicator votes
|
| | | ├── Variables/ Central inputs, feature mask, money/uniqueness weighting, risk budget
|
| | | ├── Money/ Position-sizing strategies (fixed lot, fixed risk)
|
| | | ├── Trailing/ Trailing-stop strategies
|
| | | ├── Database/ Trade/signal journaling and statistics
|
| | | ├── System/ Infrastructure: alt-data fetch, atomic file I/O, retry/backoff
|
| | | ├── Panel/ In-terminal control panel (CAppDialog)
|
| | | └── Scripts/ Offline research scripts (indicator param search, tick export)
|
| | | ```
|
| | |
|
| | | ## Getting started
|
| | |
|
| | | 1. Open `Warrior_EA.mq5` in MetaEditor (or SQX) and compile — all dependencies are
|
| | | relative includes within this repository.
|
| | | 2. Configure feature toggles, labeling, and training parameters in `Variables/Inputs.mqh`.
|
| | | Most feature-family flags are compile-time constants by design (they key the model's
|
| | | fingerprint), not runtime inputs.
|
| | | 3. Attach to a chart, enable Algo Trading, and let the EA build its indicator/feature
|
| | | cache and begin training from era 0.
|
| | | 4. Use the in-terminal control panel to monitor training progress, feature/topology
|
| | | state, and deploy-gate verdicts without needing to read the Experts log.
|
| | | 5. For a multi-instrument fleet, enable fleet expansion in `Expert/FleetExpansion.mqh`'s
|
| | | symbol list; charts will self-add and self-revive on a 10-minute sweep.
|
| | |
|
| | | ## Documentation
|
| | |
|
| | | | Document | Covers |
|
| | | |---|---|
|
| | | | [`PIPELINE_ANALYSIS.md`](PIPELINE_ANALYSIS.md) | Full pipeline: features, network sizing, labeling, training/optimizer, deploy gating — source-cited |
|
| | | | [`AI_NETWORK.md`](AI_NETWORK.md) | Neural-network engine internals (layer types, backends, kernels) |
|
| | | | [`SIGNALS.md`](SIGNALS.md) | Signal module catalog (AI and classic) |
|
| | | | [`DATABASE.md`](DATABASE.md) | Trade/signal persistence schema |
|
| | | | [`EXPERIMENTS.md`](EXPERIMENTS.md) | Research log |
|
| | | | Per-directory `README.md` files | Subsystem-local notes |
|
| | |
|
| | | ## Status
|
| | |
|
| | | Actively developed against a live and a paper/backtest fleet. Architecture, labeling,
|
| | | and gating logic all change frequently as measurement work continues — treat any
|
| | | document in this repository (including this one) as accurate as of its last commit,
|
| | | not as a permanent contract. `PIPELINE_ANALYSIS.md` is the one kept closest to current
|
| | | source.
|
| | |
|
| | | ## Disclaimer
|
| | |
|
| | | This is a research and trading system, not investment advice. Automated trading
|
| | | carries a substantial risk of loss. Nothing in this repository should be construed as
|
| | | a recommendation to trade any instrument or strategy.
|