Стратегия Neuro Nirvaman MQ4
Общее описание
Neuro Nirvaman MQ4 — это полный перенос эксперта MetaTrader 4 NeuroNirvaman.mq4. В исходном роботе четыре потока ADX (+DI) проходят через фильтр Лагерра, два индикатора SilverTrend формируют стрелочные сигналы, а решение принимает связка из трёх перцептронов и «супервизора». Реализация на StockSharp повторяет эту структуру, работает только по завершённым свечам и допускает одновременное наличие лишь одной позиции.
Логика работы
- Подключение свечей — стратегия подписывается на один поток свечей (
CandleType) и реагирует исключительно на состояниеFinished, тем самым имитируя проверкуTime[0]в MQL. - Сглаживание Laguerre +DI — четыре индикатора
AverageDirectionalIndexпредоставляют линию +DI. КлассLaguerrePlusDiStateприменяет исходное значение γ = 0.764 и формирует осциллятор в диапазоне[0, 1]. Для каждого потока можно задать собственный период ADX и ширину нейтральной зоны (Laguerre*Distance). - Индикатор SilverTrend — два экземпляра
SilverTrendStateповторяют кодSv2.mq4: вычисляют максимум и минимум заSSPсвечей, сжимают канал с помощью константыKmax = 50.6и возвращают1для восходящей тенденции либо-1для нисходящей. ПараметрыSilverTrend1LengthиSilverTrend2Lengthуправляют глубиной истории. - Перцептроны —
- Перцептрон №1: первая Laguerre-активация и сигнал SilverTrend #1, веса
X11 - 100иX12 - 100. - Перцептрон №2: вторая Laguerre-активация и сигнал SilverTrend #2, веса
X21 - 100иX22 - 100. - Перцептрон №3: третья и четвёртая Laguerre-активации, веса
X31 - 100иX32 - 100. Каждое Laguerre-значение дискретизируется в-1,0или1в зависимости от отклонения от уровня 0.5.
- Перцептрон №1: первая Laguerre-активация и сигнал SilverTrend #1, веса
- Supervisor (
Pass) — полностью воспроизводит функциюSupervisor()из MQL:Pass = 3: требуетсяPerceptron3 > 0. Если дополнительноPerceptron2 > 0, открывается лонг со второй парой TP/SL; иначе приPerceptron1 < 0открывается шорт с первой парой TP/SL.Pass = 2: положительное значениеPerceptron2даёт покупку (TP/SL №2), иначе выполняется продажа (TP/SL №1).Pass = 1: отрицательныйPerceptron1приводит к продаже, в противном случае открывается покупка. В обоих направлениях используются параметры №1.
- Управление ордерами — вход осуществляется методами
BuyMarketиSellMarketс объёмомTradeVolume. Цели и стопы рассчитываются какentry ± points * PriceStep. Поскольку выставляются рыночные заявки, срабатывание TP/SL моделируется проверкой экстремумов завершённой свечи, что соответствует поведению MT4 при размещении защитных ордеров на сервере брокера.
Параметры
| Имя | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
CandleType |
DataType |
15 минут | Тип свечей, используемый стратегией. |
TradeVolume |
decimal |
0.1 | Объём сделки в лотах. |
SilverTrend1Length |
int |
7 | Глубина первого расчёта SilverTrend (SSP). |
Laguerre1Period |
int |
14 | Период ADX для первого Laguerre-потока. |
Laguerre1Distance |
decimal |
0 | Ширина нейтральной зоны вокруг 0.5 (в процентах) для первого Laguerre-потока. |
X11, X12 |
decimal |
100 | Весовые коэффициенты перцептрона №1 (из них вычитается 100). |
TakeProfit1, StopLoss1 |
decimal |
100 / 50 | Дистанция TP/SL в пунктах для первой группы рисков и всех коротких позиций. |
SilverTrend2Length |
int |
7 | Глубина второго расчёта SilverTrend. |
Laguerre2Period |
int |
14 | Период ADX для второго Laguerre-потока. |
Laguerre2Distance |
decimal |
0 | Ширина нейтральной зоны для второго Laguerre-потока. |
X21, X22 |
decimal |
100 | Весовые коэффициенты перцептрона №2. |
TakeProfit2, StopLoss2 |
decimal |
100 / 50 | Дистанция TP/SL в пунктах для второй группы рисков. |
Laguerre3Period, Laguerre4Period |
int |
14 | Периоды ADX для третьего и четвёртого Laguerre-потоков. |
Laguerre3Distance, Laguerre4Distance |
decimal |
0 | Ширина нейтральной зоны для третьего и четвёртого Laguerre-потоков. |
X31, X32 |
decimal |
100 | Весовые коэффициенты перцептрона №3. |
Pass |
int |
3 | Режим работы супервизора. |
Практические советы
- Значение веса
100нейтрализует соответствующий вход. Для генерации сигналов необходимо сместить веса от 100. - SilverTrend начинает выдавать
±1только после накопления достаточного числа свечей, поэтому на старте перцептроны могут возвращать нули — это соответствует поведениюiCustomв MT4. - Проверка TP/SL проводится по экстремумам закрытой свечи. Резкие внутрисвечные выбросы, произошедшие между барами, могут привести к расхождениям с фактическим исполнением у брокера.
- Стратегия никогда не удерживает более одной позиции. Новые сигналы игнорируются до полного закрытия текущей сделки.
- Рекомендуется задавать
CandleType, совпадающий с таймфреймом MT4 (например, M15 или H1), чтобы параметры индикаторов интерпретировались корректно.