Задача: собрать из готовых модулей боевую архитектуру на 2026 год.
Я бы строил её вокруг regime-gated Mixture of Experts + прогноз распределения MAE/MFE + отдельный execution veto.
Линейный score можно оставить как диагностический baseline. Главный мозг должен понимать взаимодействия признаков и контекст. Для твоей задачи базовый production-движок я бы делал на GBDT (LightGBM/CatBoost) + ONNX, а нейросетевой анализ последовательности стакана добавлял отдельным экспертом только после накопления качественной L2-истории.
ТЗ: нелинейный торговый Brain для MQL5
1. Общая концепция
Система работает в два этапа:
Haos / внешний быстрый осциллятор
↓
создаёт TradeCandidate
↓
Brain
↓
определяет:
- состояние рынка;
- качество конкретного сигнала;
- наличие continuation / absorption / noise;
- ожидаемый MAE;
- ожидаемый MFE;
- вероятность быстрого follow-through;
- качество исполнения;
- разрешение сделки;
- допустимый SL;
- целевой TP.
Главный принцип:
Haos отвечает за момент возникновения идеи сделки.
Brain отвечает за вопрос, стоит ли эту конкретную идею торговать.
—
2. Архитектура Brain
HAOS TRIGGER
|
v
+----------------+
| TradeCandidate |
+----------------+
|
v
FEATURE SNAPSHOT
|
+--------------+--------------+
| | |
v v v
STRUCTURE VOLATILITY MOMENTUM
| | |
+--------------+--------------+
|
v
ORDER FLOW
|
v
EFFORT vs RESULT
|
v
REGIME GATE
|
+------------+------------+
| | |
v v v
CONTINUATION ABSORPTION NOISE
EXPERT EXPERT / SKIP
| |
+------+-----+
|
v
MAE/MFE MODELS
|
v
EXECUTION FILTER
|
v
DECISION POLICY
|
TRADE / WAIT / REJECT
—
3. Первый уровень: TradeCandidate
Brain запускается только после появления триггера Haos.
На каждом триггере создать объект:
struct TradeCandidate
{
ulong time_msc;
int direction; // +1 LONG, -1 SHORT
double entry_price;
double atr0;
int haos_signal_id;
};
Модель должна обучаться именно на событиях Haos.
Не следует обучать её на каждом баре рынка, поскольку задача Brain:
оценить качество уже возникшего торгового сигнала.
—
4. Нормализация направления
Большинство признаков привести к направлению предполагаемой сделки.
Для LONG:
direction = +1
Для SHORT:
direction = -1
Пример:
directional_delta = raw_delta * direction
directional_price_move =
(price_now - price_start) * direction
Тогда:
+ значение = подтверждает сделку
- значение = работает против сделки
Это позволяет основной модели понимать LONG и SHORT в общем пространстве признаков.
При обнаружении устойчивой статистической асимметрии LONG/SHORT оставить возможность использовать два отдельных Expert Model.
—
5. Ось №1. STRUCTURE
Использовать уже существующие модули KDE / Market Profile / S1-R1.
Минимальный набор:
distance_KDE_node
distance_HVN
distance_LVN
distance_S1
distance_R1
distance_next_support
distance_next_resistance
room_in_signal_direction
position_inside_value_area
position_relative_POC
level_strength
number_of_level_tests
distance_to_structure / ATR
Особенно важный признак:
STRUCTURAL_ROOM
Он показывает свободное пространство перед сигналом.
Пример:
Haos LONG
+ сильный импульс
+ positive delta
+ через 2 тика находится мощный R1
и
Haos LONG
+ тот же импульс
+ та же delta
+ ближайшее сопротивление через 1.3 ATR
должны восприниматься Brain как совершенно разные состояния.
—
6. Ось №2. VOLATILITY / ENERGY
Использовать:
Higuchi FD short
Higuchi FD medium
ATR short
ATR medium
ATR_short / ATR_long
ATR percentile
ATR compression
realized volatility
volatility acceleration
volatility of volatility
Очень полезный признак:
COMPRESSION_RELEASE
Он должен показывать переход:
compression -> expansion
Именно этот переход часто намного полезнее абсолютного ATR.
Higuchi FD желательно считать минимум на двух окнах.
Таким образом Brain сможет различать:
локальный тренд внутри общего шума
и
реальное изменение структуры движения.
—
7. Ось №3. MOMENTUM
Использовать Haos как часть контекста после возникновения самого триггера.
Признаки:
Haos amplitude
Haos slope
Haos acceleration
distance_from_zero
cross_strength
time_since_cross
spectral_slope
price_velocity
price_acceleration
impulse_duration
impulse_distance
momentum persistence
Особ