MIDAS CAUSAL GRAPH — ARTICLE 1 PUBLICATION PACKAGE
===================================================

Назначение
----------
Этот каталог собран для публикации первой статьи "Причинный граф как признак машинного обучения".
Структура архива соответствует MQL5 Publication RAG Memory v2.2: единственный корень MQL5, проектные подпапки, без EX5.

MQL5-исходники
---------------
1) Experts/MIDAS_CAUSAL_GRAPH/MIDAS_REAL_CAUSAL_GRAPH_LIVE.mq5
2) Scripts/MIDAS_CAUSAL_GRAPH/MIDAS_GRANGER_SELFTEST.mq5
3) Include/MIDAS_CAUSAL_GRAPH/MIDAS_REAL_CAUSAL_GRAPH_CORE.mqh

Комментарии в MQL5-файлах приведены к русскому языку документации и используют //--- для логических блоков.
Строки Print/PrintFormat оставлены на английском, как требует редакционный контракт.
Пути #include приведены к структуре MQL5.zip. Математика runtime-графа не менялась: это classical partial-F + exact F p-value + BH-FDR + ADF + half-window stability.

Research / Python
-----------------
source/MIDAS_REAL_CAUSAL_GRAPH.py — offline HAC/Newey-West эталон.
source/run_ablation.py — публикационная реконструкция полного feature/CatBoost pipeline по спецификации статьи.
source/train_one.py — обучение одной ablation-модели с фиксированными параметрами статьи.

Данные
------
Исходный RoboForex_Top_History200001.zip намеренно НЕ вложен в MQL5.zip из-за размера.
Для полного пересчёта положите его в MQL5/Files/MIDAS_CAUSAL_GRAPH/.

Проверка воспроизводимости
-------------------------
Rebuilt rolling graph: H1=130017, M30=246692, M15=479593 synchronized returns;
371 graph snapshots; 33390 directed tests; 664 significant edge observations.
Эти числа совпадают с опубликованной статьёй.

Происхождение отчётов
---------------------
ablation_metrics_final.csv и forward_by_symbol_final.csv восстановлены из найденных артефактов статьи.
all_rolling_*.csv пересчитаны из исходного архива котировок тем же Python/HAC контрактом.
paired_bootstrap_final.json и portfolio_difference_bootstrap.json восстановлены из чисел, напечатанных в статье; это отмечено внутри JSON.
combined_feature_importance_v2.csv получен из реконструированной CatBoost-модели с опубликованными параметрами и поэтому помечен здесь как reconstruction, а не как найденный оригинальный файл.

Важно перед отправкой модератору
-------------------------------
В этой среде MetaEditor отсутствует. Поэтому здесь НЕ заявляется "0 errors, 0 warnings".
Перед публикацией: открыть MQL5-исходники в MetaEditor, применить Ctrl+<, скомпилировать, получить 0 errors/0 warnings, запустить MIDAS_GRANGER_SELFTEST и только затем прикреплять файлы.
