Знакомьтесь: Warrior EA – самообучающаяся нейронная сеть для любого рынка

Warrior EA обучает собственную нейронную сеть прямо на графике, к которому вы его прикрепляете. Он учится на истории вашего инструмента, оценивает себя на невиданных данных и начинает торговать только после того, как модель продемонстрирует надёжное поведение. Советник поддерживает любой символ и любой таймфрейм, естественным образом адаптируясь к различным рыночным условиям.

Торговая стратегия

Советник может работать с использованием самообучающегося ИИ или классического мульти-индикаторного пути (MA, RSI, MACD, Ichimoku). Нейронная сеть считывает ценовое действие, волатильность, объём, циклическую временную структуру и подтверждённую свинговую структуру, формируя классификации Buy, Sell или Neutral.

Часть истории удерживается в стороне во время обучения, гарантируя, что точность измеряется только на данных, которых модель не видела. Когда включены оба пути – ИИ и классический – они голосуют совместно для стабильного принятия решений.

Ключевые особенности

  1. Самообучающаяся нейронная сеть: архитектуры Perceptron, Convolutional, LSTM или Hybrid.
  2. Проверка на невиданных данных: модель должна надёжно распознавать Buy, Sell и Neutral перед выходом в реальную торговлю.
  3. Адаптивное обучение: развёрнутая модель продолжает подстраиваться под вновь подтверждённую структуру.
  4. Контекст Вайкоффа: опциональные структурные показатели накопления, распределения, истощения и смены контроля.
  5. Классические сигналы: пути MA, RSI, MACD и Ichimoku доступны, пока ИИ прогревается.
  6. Без внешнего ПО: только нативный MQL5/OpenCL – работает без изменений на любом VPS или облачном агенте.

Управление рисками

Стопы привязываются к недавнему экстремуму свинга с опциональным волатильностным отступом или адаптивным расстоянием. Размер позиции рассчитывается от фактической дистанции стопа, поэтому выбранный процент риска всегда соблюдается.

Цели могут использовать множители волатильности, противоположный свинг или адаптивную прибыль на основе уверенности. Доступны лимиты дневного убытка и просадки для дисциплинированной торговли.

Торговый журнал и база данных самооценки

Каждая закрытая сделка записывается в локальную базу данных: цена входа и выхода, стоп и цель, размер лота, реальная прибыль/убыток, максимальная неблагоприятная и благоприятная экскурсия (в R-множителях), уверенность ИИ, уверенность базы данных, причина выхода и запустивший паттерн.

Это работает автоматически, как только включена опция «Weight filters by DB win-rate».

Та же история питает систему самооценки для классических сигналов: винрейт каждого паттерна отслеживается во времени, и его влияние масштабируется соответственно, так что паттерны, которые действительно работают на вашем символе и таймфрейме, получают больший вес.

Кнопка Report экспортирует полную историю в CSV: общий винрейт, средний R-множитель, разбивка по часу/дню, диапазону уверенности и рекомендации на простом языке на основе повторяющихся слабых мест. Каждая сделка включена для более глубокого анализа.

Преимущества

Внутренний рабочий процесс (кратко)

Примечания

Часто задаваемые вопросы

Нужна ли советнику оптимизация? ИИ: Нет – стандартные настройки протестированы. Классические сигналы (MA, RSI, MACD, Ichimoku) могут выиграть от оптимизации в зависимости от символа и таймфрейма.

Перерисовывает ли он? Нет – вся структура подтверждается перед обучением.

Может ли он торговать сразу? Да – через классические сигналы (MA, RSI, MACD, Ichimoku), пока ИИ прогревается.

Результаты

Советник обучает отдельную модель для каждого символа и таймфрейма, поэтому результат зависит от вашего собственного графика и брокера. Оцените его в тестере стратегий, проверьте точность на невиданных данных и экспортируйте журнал для детального анализа.

Торговля сопряжена с риском. Протестируйте на демо-счёте перед реальным использованием.

Начало работы

Прикрепите советник к символу и таймфрейму, которыми вы намерены торговать, используйте разные Magic Number для каждого графика и включите ИИ, чтобы запустить период прогрева. Стандартные настройки готовы к торговле. Чтобы включить экспортируемый торговый журнал, включите «Weight filters by DB win-rate».

Входные параметры

Каждый входной параметр имеет описание на экране. Значения по умолчанию – это протестированная конфигурация.

Variable Name Parameter Name Parameter Description Default
Общие
Expert_MagicNumber Magic number Идентифицирует собственные сделки этого советника, чтобы он никогда не путал их с другим советником или ручной позицией. Используйте разное значение для каждого графика. 2024
Expert_EveryTick Calculate on every tick Пересчитывает сигналы на каждом тике или только при формировании нового бара. Влияет как на результаты, так и на нагрузку ЦП. False
VerboseMode Detailed panel + verbose journal Выкл: панель на простом языке и тихий журнал. Вкл: полные технические детали и дополнительная диагностика для изучения модели. False
Money Management
MM_STRATEGY / Money_FixLot_Lots MM strategy / fixed lot Фиксированный риск %, Intelligent или Фиксированный лот. Оба режима на основе риска рассчитывают размер от реальной дистанции стопа сделки, так что Риск % ниже – это то, чем вы реально рискуете; Intelligent уменьшает его (никогда не увеличивает) по оценке четверти Келли. Фиксированный лот торгует размером, установленным здесь. Fixed risk % / 0.01
Money_Risk_Percent Risk % of balance per trade Процент баланса, которым рискуют в каждой сделке. Размер лота определяется из этого и фактической дистанции стопа, поэтому значение сохраняется при любом выбранном режиме стопа. Также потолок, от которого Intelligent-размер уменьшается. 1%
Trade Management
tradingdirection Trade direction Ограничивает советник только покупками, только продажами или и тем, и другим. Both
Entry_Multiplier Entry type/offset Где размещается ордер относительно цены: по рынку, лимитный или стоп-ордер со смещением 1–3x волатильности, на последнем свинге или откат, масштабированный по уверенности ИИ. Market
SL_Mode Stop-loss mode Насколько далеко за недавним свингом размещается стоп. Якорь – всегда экстремум свинга в окне Bars to analyse – самый низкий минимум для покупки, самый высокий максимум для продажи – а этот параметр выбирает только отступ: фиксированный множитель волатильности, отсутствие отступа или адаптивный отступ, сужающийся с ростом убеждённости. Минимальное расстояние от входа всегда соблюдается. 1 x ATR from previous swing
TP_Mode Take-profit mode Где размещается цель. Режимы ATR измеряют множитель волатильности от входа; Previous swing целится в противоположный свинг; Intelligent целится в множитель собственного риска сделки – 2,5x при нулевой уверенности до 5x при полной убеждённости – сохраняя соотношение прибыль:риск согласованным со стопом. Previous opposed swing
Min_Risk_Reward_Ratio Min reward:risk (reject only) Сделка пропускается, если её соотношение прибыль:риск ниже этого значения. Только отклоняет; никогда не изменяет размер стопа или цели. 1:2
TrailingStrategy Trailing stop Как стоп следует за открытой позицией, когда цена движется в её пользу. None
Signal_Expiration Pending order expiry (bars) Сколько баров отложенный ордер остаётся активным до отмены. 3 bars
Confidence_Source AI confidence source Какая уверенность питает адаптивный стоп, цель, трейлинг, ранний выход и Intelligent-размер. AI only
Min_Vote_Open Min vote to open (AI + classic) Единый порог для обоих движков по шкале 0–100: сколько совокупного согласия сигналов требуется для открытия сделки. Классические фильтры вносят вес своего паттерна; ИИ вносит вес своего уровня уверенности – 25, 50, 75 или 100 – так что колеблющийся сигнал голосует слабо, а почти уверенный – в полную силу. Отдельной настройки уверенности ИИ нет: повышение этого параметра требует более уверенного ИИ точно так же, как требует более сильного классического согласия. 20%
Min_Vote_Close Min opposite vote to close (AI + classic) Единый порог для обоих движков: сколько совокупного согласия сигналов в противоположном направлении требуется для закрытия открытой сделки, и насколько сильно ИИ должен развернуться против позиции, чтобы закрыть её в одиночку. Держите выше Min vote to open, чтобы выход из сделки требовал большей убеждённости, чем вход, и кратковременное колебание против позиции не закрывало её. Установите Disabled, чтобы полностью отключить выходы по сигналам, оставив только stop-loss, take-profit и трейлинг. 80%
Classic Signals - резервный путь без обучения
EnableMA / EnableRSI MA / RSI classic vote Включает или отключает сигналы Moving Average и RSI. True
PeriodMA / PeriodRSI MA / RSI period Периоды, используемые двумя классическими индикаторами. Используются совместно голосованием и соответствующим входным признаком ИИ. 50 / 14
MA_Type MA type Метод усреднения – SMA, EMA, SMMA, LWMA, ALMA, DEMA, ZLEMA, T3 или Kalman. Используется совместно голосованием и входным признаком MA. EMA
EnableMACD / EnableIchimoku MACD / Ichimoku classic vote Включает или отключает сигналы MACD и Ichimoku. MACD добавляет моментум и дивергенцию цены/осциллятора; Ichimoku добавляет мульти-таймфреймовую структуру поддержки и сопротивления – положение облака, пересечения линий, пробои и подтверждение запаздывающей линии. False
MACD_PeriodFast / MACD_PeriodSlow / MACD_PeriodSignal MACD periods Периоды для быстрой EMA, медленной EMA и сигнальной линии MACD. Управляют чувствительностью моментума и дивергенции: более быстрые периоды быстрее реагируют на изменения цены, более медленные сглаживают шум. Все предлагаемые комбинации допустимы и используются совместно голосованием и соответствующим входным признаком ИИ. 12 / 26 / 9
Ichimoku_PeriodTenkan / Ichimoku_PeriodKijun / Ichimoku_PeriodSenkou Ichimoku periods Периоды для Tenkan-sen (линия конверсии, краткосрочная средняя точка), Kijun-sen (базовая линия, среднесрочная средняя точка) и Senkou Span B (долгосрочная средняя точка, формирующая облако). Управляют мульти-таймфреймовой поддержкой и сопротивлением: более короткие периоды Tenkan/Kijun реагируют быстрее, более длинный Senkou B создаёт более широкое облако. Все предлагаемые комбинации допустимы и используются совместно голосованием и соответствующим входным признаком ИИ. 9 / 26 / 52
AI Input Features
ind_Periods Bars to analyse Окно ретроспективного анализа для признаков ИИ и свинговое окно, к которому привязывается стоп. 20 bars
VolumeData Volume data type Какой ряд объёма используется везде, где читается объём. Tick volume
EnableVolume Feature: volume Включает объём как изменение относительно предыдущего бара, так что он означает одно и то же на любом инструменте. True
EnableTime Feature: time Добавляет 6 циклических показателей: время суток, день недели и месяц года, каждый в виде пары синус/косинус, так что 23:00 и 00:00, или декабрь и январь, являются соседними, а не противоположными крайностями. Позволяет модели считывать ритм сессий, эффекты дней недели и сезонность. True
EnableATR Feature: volatility (ATR) Включает волатильность как долю цены, так что она остаётся сопоставимой между инструментами и годами. True
EnableMAFeature / EnableRSIFeature Feature: Moving Average / RSI Подаёт MA и RSI в сеть как входные данные, независимо от того, голосуют ли они также как классические сигналы. False
EnableMACDFeature / EnableIchimokuFeature Feature: MACD / Ichimoku Подаёт MACD и Ichimoku в сеть как входные данные, независимо от того, голосуют ли они также как классические сигналы. MACD добавляет 3 показателя, Ichimoku – 8. False
EnableSwingContext Feature: ZigZag swing context Подтверждённая свинговая структура – направление, размер, возраст и ретрейсмент последнего свинга – плюс положение цены в её недавнем диапазоне и насколько она отклонилась от своего среднего. True
EnableNews / NewsFeatureWindowMinutes Feature: news proximity Близость к новостному событию – не исход, который невозможно знать заранее – в настраиваемом окне. False / 60 minutes
EnableADCumulativeDelta Feature: Cumulative Delta Добавляет 6 показателей потока ордеров: давление, кумулятивную дельту, половинки покупок и продаж по отдельности, абсорбцию (усилие без результата) и инициативу (усилие с результатом). False
EnableADShorteningOfThrust Feature: Shortening of Thrust Добавляет 4 показателя истощения: насколько короче последний однонаправленный толчок по сравнению с предыдущим, стоил ли он большего объёма, сколько толчков накопилось, и один, срабатывающий только после подтверждения встречным движением. False
EnableADWyckoffEventStream Feature: Wyckoff Events Добавляет 12 показателей: текущее именованное событие (все 14 – PS, SC, AR, ST, Spring, LPS, SOS плюс PSY, BC, ARB, STB, UTAD, LPSY, SOW), границы диапазона как нормализованное по волатильности расстояние от цены, достигнутую структурную фазу, смену характера в обе стороны, четыре класса наклонной структуры и флаги реаккумуляции/редистрибуции. False
EnableADWyckoffFailedStructure Feature: Wyckoff Failed Structure Добавляет 5 показателей по двум семействам неудач: свинг, разворачивающийся до достижения структурного максимума/минимума, и пробой границы, отвергнутый при ретесте – каждый с знаковой оценкой качества. False
EnableADWyckoffSignificantBarInversion Feature: Wyckoff Bar Inversion Добавляет 5 показателей для климатических баров передачи контроля: широкий диапазон и высокий объём относительно недавних средних, закрытие на экстремуме, преодоление волатильностного порога и пробой последнего противоположного значимого бара – плюс случай переворота контроля. False
AutoTuneIndicators Auto-tune indicator params Ищет наилучшие значения параметров для включённых признаков – окна ретроспективы, множители объёма и диапазона, чувствительность свинга, периоды. Выполняется только во время обучения; они фиксируются при развёртывании, чтобы история винрейта оставалась действительной. False
IndicatorTuneTrials Auto-tune trials Сколько комбинаций оценивает поиск. Слабые кандидаты отбрасываются рано, поэтому большее число стоит меньше, чем кажется. 8
Session Filter
EnableSessionFilter / SF_trade_LondonSession / SF_trade_TokyoSession / SF_trade_NewYorkSession Session filter Ограничивает торговлю выбранными сессиями. Все три включены по умолчанию, охватывая 00:00–22:00 GMT – фильтр оценивается один раз за бар, поэтому настройка на одну сессию может лишить медленный таймфрейм входов. Не влияет на Scheduled Close-All. On, all three
Scheduled Close-All
targetDayOfWeek / targetHour / targetMinutes Close-all day/hour/minute Закрывает все позиции и отложенные ордера в выбранный день, час и минуту – обычно закрытие выходных. Работает независимо от Session Filter. Day = Disabled отключает, Every Day делает ежедневным. Friday 23:45
Intraday Time Filter
EnableITF / ITF_GoodHourOfDay / ITF_BadHoursOfDay / ITF_GoodDayOfWeek / ITF_BadDaysOfWeek Intraday time filter Отмечает предпочтительный час и день, а также часы или дни для избегания, для более тонкой фильтрации по времени суток. On, none set
News Filter
EnableNewsFilter Signal: News filter Включает или отключает новостной фильтр. True
NF_LookMinutes / NF_MinImpact News window and impact Минуты до и после события, в течение которых сделка не открывается, и минимальный уровень влияния, который это запускает. 60 minutes / Holidays
Market Depth Filter - только реальная торговля
EnableMarketDepth DOM imbalance filter (live) Проверка дисбаланса стакана заявок, которая может подтвердить или наложить вето на сигнал. Требует брокера, предоставляющего реальные данные глубины рынка. False
DOM_DepthLevels / DOM_ImbalanceScale / DOM_MaxSpreadMultiple DOM levels, influence, spread cap Уровни стакана с каждой стороны, насколько сильно дисбаланс может влиять на сигнал, и множитель спреда, выше которого сделка блокируется. 5 / 100% / 3x
Risk Guard
EnableRiskGuard Signal: Risk Guard Включает или отключает остановку по дневному убытку/просадке. True
MaxDailyLossPct / MaxDrawdownPct Max daily loss / drawdown % Как только дневной убыток или просадка от пика достигает этих процентов, новые сделки не открываются до сброса лимита. Открытые позиции никогда не закрываются принудительно. Disabled
Trade Journal / Ranking
UseDatabaseRanking Weight filters by DB win-rate Отслеживает, как каждый сигнальный паттерн показал себя в собственной истории этого советника, и смещает влияние в сторону того, что сработало. Также включает журнал, экспортируемый кнопкой Report – включите это для использования торгового журнала. False
Neural Network
AIType AI algorithm Выбирает, какая сеть обучается и торгует – Perceptron, Convolutional, LSTM или Hybrid – или Disabled, переходя только на MA/RSI. По умолчанию Disabled в Market-сборке и Hybrid в приватной сборке, так что свежая установка либо сразу торгует, либо стартует с полным ИИ-стеком. Disabled / Hybrid
TrainingOptimizer / OutputNeuronsCount Optimizer and output type Какой алгоритм обновляет веса и обучается ли он как трёхклассовый классификатор Buy/Sell/Neutral или как однозначная регрессия. Adam / Classification
InitialNeurons / MinNeuronsCount / NeuronsReduction / LstmHiddenSize / ConvFilterCount / ConvPoolWindow / ConvPoolStep Network shape Топология сети: нейроны в первом слое, минимальный предел, ниже которого сужающиеся слои не могут уменьшаться, процент, на который уменьшается каждый слой, и размеры памяти, фильтра, окна пулинга и шага пулинга, используемые типами LSTM, Convolutional и Hybrid. Сам селектор ИИ теперь выбирает пресет: MLP 3L / 4L, CONV 2L, LSTM 2L, Hybrid 2L или Disabled. 500 / 20 / 70% / 32 / 16 / 3 / 2
StudyPeriods Training years Сколько лет истории графика сеть обучается. 10 years
OOSSplit Out-of-sample holdout Доля истории, удерживаемая и никогда не используемая для обучения, только для измерения производительности на невиданных данных. 30%
MinRecall Min per-class OOS recall % Насколько хорошо каждый из классов Buy, Sell и Neutral должен распознаваться на удержанных данных, прежде чем модель может выйти в реальную торговлю, чтобы она не могла быть выпущена, игнорируя одно направление. Это трёхклассовая классификация, а не винрейт сделок – случайное угадывание даёт около 33%. Целевого показателя точности нет: обучение продолжается, пока не перестанет улучшаться, затем развёртывается лучшая модель. 40%
AILogitPriorStrength AI: prior correction to true base rate Точки разворота редки, поэтому сеть обучается на сбалансированных данных и иначе делала бы слишком много вызовов Buy и Sell. Это перевзвешивает каждый ответ в соответствии с тем, как часто он действительно происходит, так что реальная торговля больше соответствует тренировочным показателям. Выше = более сильная коррекция к истинной базовой частоте. 25%
OversampleParity AI: oversample parity Регулятор точности/частоты: ниже даёт меньше, но более избирательных вызовов Buy/Sell, выше даёт больше. Neutral остаётся намеренно более тяжёлым, так что это в основном определяет, насколько агрессивно модель вызывает направленные классы. 60%
FocalLossGamma Focal-loss gamma Насколько сильно обучение концентрируется на трудно классифицируемых барах. 0 отключает это в пользу простого балансирования классов, в то время как 1.0 – более лёгкое значение по умолчанию, используемое здесь. 1.0
SwingConfirmationBars Swing confirm bars (label) Баров ожидания после кандидата на разворот свинга, прежде чем доверять ему для обучения, поскольку недавние свинги ещё могут изменить форму. 100 bars
EnableOnlineLearning AI: keep learning live from confirmed bars После развёртывания продолжает адаптировать модель на живом графике к вновь подтверждённой структуре, только пока недавняя точность держится. Не действует в тестере стратегий. True
SignalClusterWindow / MaxErasPerRun Decluster window / max eras Схлопывает последовательные однонаправленные стрелки в пределах этого количества баров в одну (только для отображения) и ограничивает, сколько проходов обучения выполняется до проверки советником. 6 / 1000
NN Optimizer / Performance
AdamLearningRate / AdamBeta1 / AdamBeta2 Adam optimizer settings Скорость обучения и коэффициенты затухания для оптимизатора Adam (используется, когда Optimizer = Adam). Значения по умолчанию – стандартные опубликованные значения, редко требующие изменений. 0.0003 / 0.9 / 0.999
SgdLearningRate / SgdMomentum SGD optimizer settings Скорость обучения и моментум для оптимизатора SGD+momentum (используется, когда Optimizer = SGD). 0.0003 / 0.9

Заключительные замечания

Warrior EA разработан для трейдеров, которым нужна адаптивная автоматизация без внешних зависимостей или ручной оптимизации. Изучите панель обучения, проверьте точность на невиданных данных и исследуйте торговый журнал для более глубокого понимания.