- MQL5 74.2%
- HTML 14.9%
- C++ 9.5%
- C 0.4%
- Python 0.4%
- Other 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .claude | ||
| .clinerules | ||
| Database | ||
| DirectML | ||
| docs | ||
| Enumerations | ||
| Expert | ||
| Features | ||
| Market Descriptions | ||
| Marketing/Logo | ||
| Money | ||
| Panel | ||
| Scripts | ||
| Signals | ||
| Structures | ||
| System | ||
| Tests | ||
| Trailing | ||
| Variables | ||
| .gitignore | ||
| AI_NETWORK.md | ||
| cpu_directml.log | ||
| DATABASE.md | ||
| EXPERIMENTS.md | ||
| opencl.log | ||
| PIPELINE_ANALYSIS.md | ||
| profiling.csv | ||
| README.md | ||
| REFACTOR_NOTES.md | ||
| REFACTOR_PLAN.md | ||
| SIGNALS.md | ||
| Warrior_EA.md | ||
| Warrior_EA.mq5 | ||
| Warrior_EA.mqproj | ||
| Warrior_EA_System_Overview.md | ||
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.mdfor 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
- Open
Warrior_EA.mq5in MetaEditor (or SQX) and compile — all dependencies are relative includes within this repository. - 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. - Attach to a chart, enable Algo Trading, and let the EA build its indicator/feature cache and begin training from era 0.
- Use the in-terminal control panel to monitor training progress, feature/topology state, and deploy-gate verdicts without needing to read the Experts log.
- 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 |
Full pipeline: features, network sizing, labeling, training/optimizer, deploy gating — source-cited |
AI_NETWORK.md |
Neural-network engine internals (layer types, backends, kernels) |
SIGNALS.md |
Signal module catalog (AI and classic) |
DATABASE.md |
Trade/signal persistence schema |
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.