- MQL5 95%
- Python 5%
| Имя файла | Текст последнего коммита | Дата последнего коммита |
|---|---|---|
| Catch22 | ||
| Experts/Catch22 | ||
| Include/Catch22 | ||
| Scripts/Catch22 | ||
| README.md | ||
catch22
The canonical catch22 time-series feature set, ported to MQL5 and validated against the reference Python implementation.
Companion code for the MQL5 article: https://www.mql5.com/en/articles/23488
What it does
catch22 is twenty-two features selected out of thousands because they carry
most of the discriminative power between time series while staying cheap to
compute. CCatch22 computes all of them natively in MQL5.
The port is checked against pycatch22 rather than assumed correct, which is
what validate_catch22.py and Catch22Validate.mq5 are for. Feature code that
is subtly wrong still returns plausible numbers, so this step is not optional.
The article then builds a leak-free dataset from the features and runs an
ablation to ask whether they actually add value over the raw series, before
using them as a regime filter in Catch22EA.mq5.
Layout
Include/Catch22/Catch22.mqh the CCatch22 engine
Include/Catch22/Catch22Features.mqh the twenty-two feature implementations
Scripts/Catch22/Catch22Validate.mq5 checks against the Python reference
Scripts/Catch22/Catch22Lab.mq5 feature extraction and dataset build
Experts/Catch22/Catch22EA.mq5 the regime filter in a trading context
Catch22/validate_catch22.py reference values from pycatch22
Run Catch22Validate.mq5 before anything else.
Disclaimer
Educational code. Past behaviour of any model or dataset says nothing about future results. Test on your own data and broker conditions before drawing conclusions.