NeuroPrice Navigator
- Experts
- 버전: 2.0
- 활성화: 5
NeuroPrice Navigator 2.0 — интеллектуальный торговый советник на базе нейросетевой модели TCNN‑LSTM с механизмом внимания
Краткое описание
NeuroPrice Navigator 2.0 — это полностью автоматизированный торговый советник для MetaTrader 4, который использует гибридную нейросетевую архитектуру TCNN‑LSTM с механизмом внимания (Feature Attention) для прогнозирования направления движения цены и принятия торговых решений. Советник самостоятельно обучается на исторических данных, адаптируется к изменяющимся рыночным условиям и оснащён встроенной системой управления рисками.
Принцип работы
В основе советника лежит собственная нейросетевая модель, которая объединяет три ключевых компонента:
-
Временны́е свёрточные сети (TCNN) — анализируют последовательность из 64 предыдущих баров, выделяя локальные паттерны и импульсные движения рынка. Две свёрточных слоя с 24 и 12 фильтрами позволяют модели распознавать краткосрочные и среднесрочные структуры в ценовых данных.
-
Механизм внимания (Feature Attention) — оценивает важность каждого признака в каждый момент времени, автоматически фокусируясь на наиболее значимых сигналах. Это позволяет модели игнорировать рыночный шум и выделять действительно важные закономерности.
-
Долгая краткосрочная память (LSTM) — обрабатывает временну́ю последовательность после свёрточных слоёв и механизма внимания, запоминая долгосрочные зависимости и контекст рынка. Рекуррентный слой из 12 блоков LSTM позволяет модели учитывать историю при формировании прогноза.
Модель выдаёт вероятность роста цены (P(up)) в диапазоне от 0 до 1. На основе этого значения формируется торговый сигнал:
-
P(up) ≥ 0.65 — сильный сигнал на покупку (BUY);
-
P(up) ≤ 0.35 — сильный сигнал на продажу (SELL);
-
0.35 < P(up) < 0.65 — зона неопределённости, торговля не открывается.
Советник автоматически переобучается каждые 12 баров на скользящем окне истории (600 баров по умолчанию), используя метод обратного распространения ошибки во времени (BPTT) с адаптивной скоростью обучения и регуляризацией L2. Процесс обучения включает кросс‑валидацию с хронологическим разбиением на фолды, что предотвращает переобучение и обеспечивает устойчивость модели к рыночным изменениям.
Преимущества
-
Самообучение и адаптивность. Советник не требует ручной оптимизации под конкретную валютную пару — он обучается непосредственно на данных графика, на котором установлен, и автоматически перестраивает веса модели при изменении рыночного режима.
-
Гибридная архитектура. Комбинация свёрточных слоёв, механизма внимания и LSTM позволяет одновременно улавливать краткосрочные импульсы, среднесрочные тренды и долгосрочный контекст, что даёт более точные прогнозы по сравнению с однотипными моделями.
-
Многоуровневая защита депозита. Встроенные механизмы управления рисками включают адаптивный расчёт лота в зависимости от свободной маржи, защиту от просадки (снижение объёма при достижении заданного уровня), ограничение максимального количества одновременных позиций, контроль спреда и фильтр волатильности.
-
Гибкое управление позициями. Поддерживаются реальные и виртуальные стоп‑лоссы и тейк‑профиты, трейлинг‑стоп с настройкой активации и шага, а также динамическое расстояние между ордерами на основе ATR.
-
Информационная панель. На графике отображается подробная панель с текущим сигналом, уверенностью модели, состоянием счёта, просадкой и прогрессом обучения. Панель также содержит кнопки ручного управления (BUY / SELL / CLOSE).
-
Сохранение состояния. Все параметры модели, оптимизатора и кэш признаков сохраняются в единый файл, что позволяет продолжать обучение после перезапуска терминала без потери накопленных знаний.
Входные параметры
Основные настройки
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| MagicNumber | Уникальный идентификатор ордеров советника | 2456 |
| SessionStart | Начало торговой сессии (часы UTC) | 9 |
| SessionEnd | Окончание торговой сессии (часы UTC) | 23 |
| UTCOffset | Смещение времени сервера относительно UTC (часы) | 0 |
| EnableDebugLogging | Включить подробное логирование | true |
| FixSeedForTesting | Фиксировать генератор случайных чисел для тестирования | true |
Управление рисками
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| LotCalculationMode | Режим расчёта лота: фиксированный или от свободной маржи | LOT_MODE_FIXED |
| FixedLotSize | Фиксированный размер лота | 0.01 |
| RiskPercent | Риск на сделку (% от свободной маржи) | 1.0 |
| UseEquityProtection | Снижать лот при высокой просадке | true |
| MaxDrawdownPercent | Просадка (%), после которой начинается снижение лота | 20.0 |
| MaxConcurrentTrades | Максимальное количество одновременных позиций | 3 |
Исполнение и брокер
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| InpOrderComment | Комментарий к ордеру | Trade |
| MaxSpreadPoints | Максимально допустимый спред (пункты) | 40 |
| MaxSlippagePoints | Максимальное проскальзывание (пункты) | 5 |
| ExecutionRetries | Количество попыток отправки ордера | 3 |
| ExecutionRetryDelayMs | Задержка между попытками (мс) | 250 |
| EnableExecutionDiagnostics | Подробная диагностика исполнения | true |
Реальные SL / TP
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| StopLoss | Стоп‑лосс (пункты), 0 — отключён | 400 |
| TakeProfit | Тейк‑профит (пункты), 0 — отключён | 200 |
Виртуальные SL / TP
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| UseVirtualSL | Включить виртуальный стоп‑лосс | false |
| VirtualStopLoss | Виртуальный стоп‑лосс (пункты) | 0 |
| UseVirtualTP | Включить виртуальный тейк‑профит | false |
| VirtualTakeProfit | Виртуальный тейк‑профит (пункты) | 0 |
Трейлинг‑стоп
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| UseTralling_Stop | Включить трейлинг‑стоп | true |
| UseAveragePrice | Использовать среднюю цену входа по всем позициям | true |
| TrallingStart | Прибыль для активации трейлинга (пункты) | 400.0 |
| TrailingDistance | Расстояние от цены до стоп‑лосса (пункты) | 200.0 |
| TrailingStep | Минимальное улучшение SL для модификации (пункты) | 50.0 |
Дистанция между ордерами
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| FixedDistancePoints | Фиксированная дистанция (пункты) | 300 |
| UseDynamicDistance | Использовать ATR‑based дистанцию | false |
| DynamicDistanceAtrPeriod | Период ATR для динамической дистанции | 10 |
| DynamicDistanceMultiplier | Множитель для динамической дистанции | 1.2 |
Параметры модели TCNN‑LSTM
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| ML_TrainingPeriod | Период обучения (бары) | 600 |
| ML_RetrainInterval | Интервал переобучения (бары) | 12 |
| Lookback_Window | Глубина истории для анализа (бары) | 64 |
| ForecastBars | Количество баров для прогноза | 3 |
| ForecastThreshold | Порог прогноза (множитель ATR) | 0.5 |
| CNN_Filters | Количество фильтров CNN | 24 |
| Kernel_Size | Размер ядра свёртки | 5 |
| LSTM_Units | Количество блоков LSTM | 12 |
| ML_LearningRate_Input | Базовая скорость обучения | 0.005 |
| ML_DropoutRate | Dropout при обучении | 0.20 |
| ML_BuyThreshold | Порог BUY: P(up) ≥ этого значения | 0.65 |
| ML_SellThreshold | Порог SELL: P(up) ≤ этого значения | 0.35 |
| L2_Lambda | Коэффициент L2‑регуляризации | 0.001 |
| Target_MSE | Целевое значение MSE для ранней остановки | 0.1 |
| Max_Epochs | Максимальное количество эпох обучения | 10 |
| EnableShuffle | Перемешивание (сохранено для совместимости) | false |
| ML_BatchSize | Размер батча | 16 |
| ML_WalkForwardFolds | Количество фолдов кросс‑валидации | 3 |
| ML_LRPatience | Эпох без улучшения до снижения LR | 6 |
| ML_LRDecayFactor | Коэффициент снижения LR | 0.5 |
| ML_MinLearningRate | Минимальная скорость обучения | 0.0001 |
| ML_EnableGradientDiagnostics | Диагностика градиентов | false |
| ML_BPTT_GradClipNorm | Норма отсечения глобального градиента | 5.0 |
| ML_BPTT_SampleClipNorm | Норма отсечения градиента на образец | 10.0 |
| ML_BPTT_StateClip | Предел состояния LSTM | 10.0 |
| ML_BPTT_DeltaClip | Предел для dh/dc на шаге BPTT | 5.0 |
Механизм внимания признаков
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Attention_Heads | Количество каналов внимания | 2 |
| Enable_Contextual_Attention | Включить контекстное внимание | true |
| Attention_Temperature | Температура для масштабирования | 1.0 |
| Attention_Dropout | Dropout для механизма внимания | 0.1 |
Параметры индикаторов
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| ADX_Period | Период ADX | 10 |
| CCI_Period | Период CCI | 14 |
| WPR_Period | Период Williams %R | 12 |
| STD_Dev_Period | Период стандартного отклонения | 12 |
| MFI_Period_New | Период Money Flow Index | 10 |
| ATR_Period | Период ATR | 12 |
Фильтр волатильности
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Volatility_Filter | Включить фильтр волатильности | false |
| Min_Volatility | Минимальная волатильность (значение ATR) | 0.0003 |
| Max_Volatility | Максимальная волатильность (значение ATR) | 0.012 |
Рекомендации по использованию
Советник предназначен для торговли на валютных парах с умеренной волатильностью (например, EURUSD, GBPUSD, USDJPY). Перед запуском на реальном счёте рекомендуется протестировать советник в тестере стратегий MetaTrader 4 с фиксированным начальным депозитом (например, $10 000) и плечом 1:100. Параметры по умолчанию оптимизированы для периода M15 и могут быть использованы без дополнительной настройки.
