KNN Pattern Hunter
- Эксперты
- Версия: 2.0
- Активации: 5
KNN Pattern Hunter 2.0
Автоматический торговый советник, который учится на истории рынка и адаптируется к изменениям волатильности
Краткое описание
KNN Pattern Hunter 2.0 — это полностью автоматический торговый робот для MetaTrader 4, построенный на алгоритме машинного обучения «K-ближайших соседей» (KNN). Советник анализирует исторические паттерны рынка и находит наиболее похожие ситуации в прошлом, чтобы предсказать дальнейшее движение цены.
Ключевое отличие версии 2.0 — адаптивная скользящая Z-нормализация: робот постоянно пересчитывает статистические характеристики рынка в скользящем окне и автоматически перенормализует свою базу паттернов. Это позволяет системе сохранять эффективность при изменении волатильности и рыночных режимов.
Принцип работы
Советник работает по следующему алгоритму:
-
Сбор паттернов. На каждом закрытом баре робот формирует вектор из 11 признаков: относительные изменения цены за 1, 2 и 3 бара, размер тела свечи, значения RSI, ATR, положение цены относительно быстрой скользящей средней, разница между быстрой и медленной MA, сигнал MACD, относительное изменение объёма и корреляция «цена–объём».
-
Целевая переменная. Для каждого паттерна рассчитывается будущее процентное изменение цены через заданный горизонт ( TargetBars ). Значения меньше MinTargetReturn считаются нейтральными.
-
Скользящая Z-нормализация. Каждый признак нормализуется с использованием статистик (среднее и стандартное отклонение), рассчитанных по скользящему окну. При изменении волатильности статистики обновляются, и все паттерны в базе автоматически перенормализуются — модель остаётся в единой системе координат.
-
Поиск соседей и прогноз. Для текущей рыночной ситуации робот находит K ближайших паттернов в нормализованном пространстве и вычисляет прогноз одним из трёх методов: среднее, взвешенное по расстоянию или медиана.
-
Торговое решение. На основе прогноза KNN, сигнала тренда и пересечения скользящих средних формируется итоговый сигнал. Сделка открывается только при выполнении всех фильтров: торговое время, максимальный спред, ограничение по количеству позиций, защита от просадки и дистанция до предыдущего ордера.
Преимущества
-
Адаптивность к рынку. Скользящая Z-нормализация автоматически подстраивает статистики под текущую волатильность. Не нужно вручную переобучать модель при смене рыночного режима.
-
Сохранение модели. База паттернов и состояние нормализатора сохраняются в файл. При перезапуске терминала робот мгновенно восстанавливает обученную модель и не теряет накопленный опыт.
-
Три метода прогноза. Доступны среднее, взвешенное по расстоянию и медианное усреднение — можно подобрать оптимальный вариант под конкретный инструмент и таймфрейм.
-
Многоуровневая защита капитала. Реальный и виртуальный Stop Loss / Take Profit, трейлинг-стоп, ограничение количества одновременных позиций, защита от просадки с автоматическим снижением лота, фильтр по максимальному спреду.
-
Информационная панель. На графике отображается текущий сигнал, уверенность KNN, статус сессии, спред, ATR, количество паттернов, средние цены позиций, плавающая прибыль, просадка и статус защиты. Панель позволяет вручную открывать и закрывать позиции.
-
Усреднение позиций. При включении нескольких одновременных сделок робот может усреднять позиции с адаптивным шагом на основе ATR.
Входные параметры
Основные настройки
-
MagicNumber — уникальный идентификатор ордеров советника.
-
SessionStart — час начала торговой сессии (0–23).
-
SessionEnd — час окончания торговой сессии (0–23).
-
EnableDebugLogging — включить подробное логирование.
-
InpOrderComment — комментарий к ордерам.
-
AnalysisPeriod — рабочий таймфрейм для анализа.
-
Slippage — допустимое проскальзывание в пунктах.
Управление капиталом
-
LotCalculationMode — режим расчёта лота: фиксированный или процент от свободной маржи.
-
FixedLotSize — фиксированный размер лота.
-
RiskPercent — процент свободной маржи для расчёта лота.
-
UseEquityProtection — снижать лот при высокой просадке.
-
MaxDrawdownPercent — порог просадки (%) для снижения лота.
-
MaxConcurrentTrades — максимальное количество одновременных позиций.
-
MaxSpreadPoints — максимально допустимый спред в пунктах.
Реальные Stop Loss / Take Profit
-
StopLoss — реальный стоп-лосс в пунктах (0 — отключён).
-
TakeProfit — реальный тейк-профит в пунктах (0 — отключён).
Виртуальные Stop Loss / Take Profit
-
UseVirtualSL — включить виртуальный стоп-лосс.
-
VirtualStopLoss — размер виртуального стоп-лосса в пунктах.
-
UseVirtualTP — включить виртуальный тейк-профит.
-
VirtualTakeProfit — размер виртуального тейк-профита в пунктах.
Трейлинг-стоп
-
UseTralling_Stop — включить трейлинг-стоп.
-
UseAveragePrice — использовать среднюю цену позиций для активации трейлинга.
-
TrallingStart — прибыль в пунктах для активации трейлинга.
-
TrailingDistance — расстояние от цены до стоп-лосса в пунктах.
-
TrailingStep — минимальное улучшение стоп-лосса для модификации.
Дистанция между ордерами
-
FixedDistancePoints — фиксированная дистанция в пунктах.
-
UseDynamicDistance — использовать адаптивную дистанцию на основе ATR.
-
DynamicDistanceAtrPeriod — период ATR для расчёта дистанции.
-
DynamicDistanceMultiplier — множитель для дистанции на основе ATR.
Настройки KNN
-
PriceMethod — метод расчёта цены для анализа: Close, HL2, Typical.
-
TargetBars — горизонт прогноза в барах.
-
MinTargetReturn — минимальное целевое изменение цены (%).
-
KNN_Method — метод прогноза KNN: среднее, взвешенное, медиана.
-
KNN_Neighbors — количество ближайших соседей.
-
KNN_Threshold — порог силы сигнала.
-
KNN_MaxPatterns — максимальное количество паттернов в базе.
-
KNN_MinPatterns — минимальное количество паттернов для старта.
-
KNN_HistoryBars — глубина истории для обучения.
Настройки индикаторов
-
RSI_Period — период RSI.
-
ATR_Period — период ATR.
-
FastMA_Period — период быстрой скользящей средней.
-
SlowMA_Period — период медленной скользящей средней.
-
MACD_Fast — быстрый период MACD.
-
MACD_Slow — медленный период MACD.
-
MACD_Signal — период сигнальной линии MACD.
-
Correlation_Period — период для расчёта корреляции «цена–объём».
Адаптивная нормализация
-
RollingWindowSize — размер скользящего окна для статистик.
-
RecalibrationInterval — интервал перекалибровки в паттернах.
-
EnableAdaptiveWindow — адаптировать размер окна при изменении волатильности.
-
AdaptationRate — скорость адаптации (0.001–0.5).
Фильтры сигналов
-
UseKNN_Prediction — использовать прогноз KNN.
-
UseTrendSignal — использовать сигнал тренда.
-
UseCrossSignal — использовать сигнал пересечения MA.
-
UseVolatilityFilter — фильтр по корреляции «цена–объём».
-
MinVolatility — минимальный порог корреляции.
Системные настройки
-
EnableModelPersistence — сохранять модель между сессиями.
-
ModelFileName — базовое имя файла модели.
-
AutoSaveModel — автосохранение модели.
-
AutoSaveInterval — интервал автосохранения в секундах.
Рекомендации по использованию
-
Рекомендуемый таймфрейм — M15 или выше.
-
Перед торговлей на реальном счёте протестируйте советник в тестере стратегий.
-
Настройте KNN_MaxPatterns и KNN_HistoryBars в зависимости от мощности компьютера и выбранного таймфрейма.
-
Для ECN-брокеров используйте виртуальные SL/TP или отключите реальные стопы.
