Ai predictor
- Индикаторы
-
Andrey Kozak
Laboratory of Automatic Systems (LAS) - more than 10 years, we have been developing, testing and programming automatic trading robots for the forex market. - Версия: 1.0
- Активации: 20
AI predictor - индикатор на базе искусственного интеллеккта обучается делать прогноз будущего движения цены на несколько баров вперед. Количество баров для прогноза Вы можете указывать в настройках индикатора. Чем дольше индикатор установлен на графике и собрал данных анализа, тем точнее получаются у него прогнозы движения цены. Индикатор рисует будущие бары которые прогнозируют в какую сторону с большой вероятностью пойдет цена.
Индикатор AI Predictor предназначен для прогнозирования ценовых движений на N будущих баров с использованием системы голосования на основе технических индикаторов (EMA, ADX, RSI, Стохастик, H4 EMA) и механизма самообучения. Он отображает прогнозные свечи (синие для бычьего тренда, красные для медвежьего) на графике цены, и автоматически корректирует параметры, если точность предсказаний падает ниже заданного уровня. Ниже приведено детальное и точное описание каждого параметра индикатора на русском языке, включая назначение, влияние на работу индикатора и рекомендации по настройке для оптимизации.
Параметры индикатора и их настройка:
- BarsToAnalyze (Бары для анализа)
- Тип: Целое число (int)
- Значение по умолчанию: 50
- Описание: Задаёт количество исторических баров, используемых для расчёта технических индикаторов (EMA, ADX, RSI, Стохастик, ATR, H4 EMA). Эти индикаторы формируют данные для системы голосования, которая определяет направление тренда.
- Влияние:
- Большее значение увеличивает объём анализируемых данных, что может улучшить точность индикаторов, но увеличивает время расчёта и требует больше исторических данных.
- Меньшее значение ускоряет расчёты, но может снизить надёжность сигналов из-за ограниченного набора данных.
- Настройка:
- Рекомендация: Оставьте 50 для GBP/USD M5, если доступно достаточно исторических данных (не менее 50 баров).
- Если график содержит мало данных (например, в тестере стратегий или на новых счетах), уменьшите до 30 или 25, чтобы избежать ошибок типа «Недостаточно баров».
- Для более медленных таймфреймов (например, H1) можно увеличить до 100 для повышения точности.
- Проверьте в Журнале (Experts Tab) сообщения типа «Недостаточно баров», чтобы убедиться, что данных хватает.
- FastMAPeriod (Период быстрой EMA)
- Тип: Целое число (int)
- Значение по умолчанию: 12
- Описание: Начальный период для быстрой экспоненциальной скользящей средней (EMA), используемой в системе голосования для определения краткосрочного тренда.
- Влияние:
- Меньший период делает EMA более чувствительной к недавним изменениям цены, что полезно в волатильных рынках, но может давать больше ложных сигналов.
- Больший период сглаживает EMA, снижая шум, но замедляя реакцию на изменения тренда.
- Настройка:
- Рекомендация: 12 подходит для M5 GBP/USD, балансируя между чувствительностью и стабильностью.
- Для высокочастотной торговли (скальпинг) попробуйте 8–10.
- Для более консервативных сигналов увеличьте до 14–16.
- Индикатор самообучается, корректируя CurrentFastMA (динамическую версию этого параметра) в диапазоне 8–20, поэтому начальное значение не критично, но влияет на стартовую точку обучения.
- SlowMAPeriod (Период медленной EMA)
- Тип: Целое число (int)
- Значение по умолчанию: 26
- Описание: Начальный период для медленной EMA, используемой для определения долгосрочного тренда в системе голосования.
- Влияние:
- Больший период делает EMA более устойчивой к краткосрочным колебаниям, но может пропускать быстрые изменения тренда.
- Меньший период ускоряет реакцию, но увеличивает риск ложных сигналов.
- Настройка:
- Рекомендация: 26 хорошо работает на M5 GBP/USD для фильтрации шума.
- Для агрессивной торговли уменьшите до 20–22.
- Для стабильных рынков увеличьте до 30–40.
- Самообучение корректирует CurrentSlowMA в диапазоне 20–40, так что начальное значение задаёт отправную точку.
- ADXPeriod (Период ADX)
- Тип: Целое число (int)
- Значение по умолчанию: 14
- Описание: Период индикатора ADX (Average Directional Index), который измеряет силу тренда. Используется в голосовании для подтверждения сигналов EMA.
- Влияние:
- Меньший период делает ADX более чувствительным, но менее надёжным.
- Больший период повышает надёжность, но замедляет выявление тренда.
- Настройка:
- Рекомендация: 14 — стандартное значение, подходящее для M5.
- Для быстрых рынков уменьшите до 10–12.
- Для стабильных трендов увеличьте до 16–20.
- ADX сравнивается с CurrentADXThreshold, так что настройка этого параметра влияет на вес ADX в голосовании.
- ADXThreshold (Порог ADX)
- Тип: Дробное число (double)
- Значение по умолчанию: 25
- Описание: Начальный порог силы тренда для ADX. Если ADX выше этого значения, его сигнал подтверждает EMA в системе голосования; иначе его вес равен нулю.
- Влияние:
- Высокий порог фильтрует слабые тренды, но может пропускать умеренные движения.
- Низкий порог включает больше сигналов, но увеличивает риск ложных предсказаний.
- Настройка:
- Рекомендация: 25 подходит для GBP/USD M5, отсеивая слабые тренды.
- Для волатильных пар уменьшите до 20–22.
- Для спокойных рынков увеличьте до 28–30.
- Самообучение корректирует CurrentADXThreshold в диапазоне 15–35, но начальное значение влияет на старт.
- RSIPeriod (Период RSI)
- Тип: Целое число (int)
- Значение по умолчанию: 14
- Описание: Период индикатора RSI (Relative Strength Index), используемого для выявления перекупленности/перепроданности.
- Влияние:
- Меньший период делает RSI более чувствительным к краткосрочным изменениям.
- Больший период сглаживает сигналы, но замедляет реакцию.
- Настройка:
- Рекомендация: 14 — стандарт для M5, балансирующий чувствительность и надёжность.
- Для скальпинга уменьшите до 9–12.
- Для долгосрочных сигналов увеличьте до 18–21.
- RSI сравнивается с CurrentRSIOverbought и CurrentRSIOversold, так что настройка влияет на его вклад в голосование.
- RSIOverbought (Уровень перекупленности RSI)
- Тип: Дробное число (double)
- Значение по умолчанию: 70
- Описание: Начальный уровень перекупленности для RSI. Если RSI выше, индикатор даёт медвежий сигнал (-1) в голосовании.
- Влияние:
- Высокий уровень уменьшает количество медвежьих сигналов, но повышает их надёжность.
- Низкий уровень увеличивает сигналы, но может давать ложные.
- Настройка:
- Рекомендация: 70 — стандарт для M5 GBP/USD.
- Для агрессивной торговли уменьшите до 65–68.
- Для консервативной увеличьте до 75–80.
- Самообучение корректирует CurrentRSIOverbought в диапазоне 60–80.
- RSIOversold (Уровень перепроданности RSI)
- Тип: Дробное число (double)
- Значение по умолчанию: 30
- Описание: Начальный уровень перепроданности для RSI. Если RSI ниже, индикатор даёт бычий сигнал (+1) в голосовании.
- Влияние:
- Низкий уровень уменьшает количество бычьих сигналов, но повышает их надёжность.
- Высокий уровень увеличивает сигналы, но может давать ложные.
- Настройка:
- Рекомендация: 30 — стандарт для M5.
- Для агрессивной торговли увеличьте до 32–35.
- Для консервативной уменьшите до 20–25.
- Самообучение корректирует CurrentRSIOversold в диапазоне 20–40.
- StochKPeriod (Период K Стохастика)
- Тип: Целое число (int)
- Значение по умолчанию: 14
- Описание: Период %K линии Стохастического осциллятора, используемого для выявления перекупленности/перепроданности.
- Влияние:
- Меньший период делает Стохастик более чувствительным.
- Больший период сглаживает сигналы, но замедляет реакцию.
- Настройка:
- Рекомендация: 14 — стандарт для M5.
- Для быстрых рынков уменьшите до 9–12.
- Для стабильных увеличьте до 18–21.
- StochDPeriod (Период D Стохастика)
- Тип: Целое число (int)
- Значение по умолчанию: 3
- Описание: Период сглаживания для %D линии Стохастика.
- Влияние:
- Меньший период ускоряет реакцию %D, но увеличивает шум.
- Больший период сглаживает сигналы, но замедляет их.
- Настройка:
- Рекомендация: 3 — стандарт для M5.
- Для снижения шума увеличьте до 5–7.
- Для большей чувствительности уменьшите до 2.
- StochSlowing (Замедление Стохастика)
- Тип: Целое число (int)
- Значение по умолчанию: 3
- Описание: Период замедления для Стохастика, сглаживающий %K перед расчётом %D.
- Влияние:
- Больший период сглаживает сигналы, снижая ложные сигналы.
- Меньший период делает Стохастик более реактивным.
- Настройка:
- Рекомендация: 3 — стандарт для M5.
- Для волатильных рынков увеличьте до 4–5.
- Для скальпинга уменьшите до 2.
- StochOverbought (Уровень перекупленности Стохастика)
- Тип: Дробное число (double)
- Значение по умолчанию: 80
- Описание: Начальный уровень перекупленности для Стохастика. Если %K выше, даётся медвежий сигнал (-1).
- Влияние:
- Высокий уровень снижает количество сигналов, но повышает их надёжность.
- Низкий уровень увеличивает сигналы, но может давать ложные.
- Настройка:
- Рекомендация: 80 — стандарт для M5.
- Для агрессивной торговли уменьшите до 75–78.
- Для консервативной увеличьте до 85–90.
- Самообучение корректирует CurrentStochOverbought в диапазоне 70–90.
- StochOversold (Уровень перепроданности Стохастика)
- Тип: Дробное число (double)
- Значение по умолчанию: 20
- Описание: Начальный уровень перепроданности для Стохастика. Если %K ниже, даётся бычий сигнал (+1).
- Влияние:
- Низкий уровень снижает количество сигналов, но повышает надёжность.
- Высокий уровень увеличивает сигналы, но может давать ложные.
- Настройка:
- Рекомендация: 20 — стандарт для M5.
- Для агрессивной торговли увеличьте до 22–25.
- Для консервативной уменьшите до 10–15.
- Самообучение корректирует CurrentStochOversold в диапазоне 10–30.
- ATRPeriod (Период ATR)
- Тип: Целое число (int)
- Значение по умолчанию: 14
- Описание: Период индикатора ATR (Average True Range), используемого для расчёта средней волатильности, которая определяет размер прогнозных свечей.
- Влияние:
- Меньший период делает ATR более чувствительным к недавним изменениям волатильности.
- Больший период сглаживает ATR, но может не учитывать текущие всплески волатильности.
- Настройка:
- Рекомендация: 14 — стандарт для M5.
- Для волатильных пар уменьшите до 10–12.
- Для спокойных рынков увеличьте до 16–20.
- ForecastBars (Количество прогнозируемых баров)
- Тип: Целое число (int)
- Значение по умолчанию: 10
- Описание: Задаёт количество будущих баров, для которых индикатор рисует прогнозные свечи.
- Влияние:
- Большее значение увеличивает горизонт прогноза, но снижает точность для дальних баров.
- Меньшее значение ограничивает прогноз, но повышает точность.
- Настройка:
- Рекомендация: 10 — оптимально для M5 GBP/USD, показывая прогноз на ~50 минут.
- Для краткосрочной торговли уменьшите до 5–7.
- Для долгосрочного анализа увеличьте до 15, но следите за точностью (см. Журнал, «Accuracy»).
- Убедитесь, что график содержит достаточно данных (rates_total > minBars).
- MinAccuracy (Минимальная точность)
- Тип: Дробное число (double)
- Значение по умолчанию: 0.6 (60%)
- Описание: Минимальная допустимая точность предсказаний (доля правильных направлений). Если точность ниже, индикатор корректирует параметры (IndicatorWeights, CurrentFastMA, и т.д.).
- Влияние:
- Высокое значение заставляет индикатор чаще корректироваться, что может улучшить качество сигналов, но замедлит адаптацию.
- Низкое значение снижает частоту корректировок, что может оставить слабые параметры.
- Настройка:
- Рекомендация: 0.6 — баланс для M5.
- Для тестирования или обучения уменьшите до 0.5.
- Для строгого контроля увеличьте до 0.65–0.7.
- Мониторьте Журнал («Accuracy: X») для оценки эффективности.
- LearningRate (Скорость обучения)
- Тип: Дробное число (double)
- Значение по умолчанию: 0.1
- Описание: Определяет, насколько сильно индикатор корректирует параметры (веса, периоды, пороги) при низкой точности.
- Влияние:
- Высокое значение ускоряет адаптацию, но может привести к чрезмерным изменениям.
- Низкое значение делает корректировки более плавными, но замедляет обучение.
- Настройка:
- Рекомендация: 0.1 — умеренная скорость для M5.
- Для быстрого обучения на новых данных увеличьте до 0.2–0.3.
- Для стабильных рынков уменьшите до 0.05.
- Проверяйте Журнал («New parameters») для отслеживания изменений.
- VoteThreshold (Порог голосования)
- Тип: Дробное число (double)
- Значение по умолчанию: 0.3
- Описание: Минимальная сумма весов голосов индикаторов, необходимая для определения бычьего тренда. Если сумма ниже, используется сигнал EMA.
- Влияние:
- Высокий порог требует сильного согласия индикаторов, что снижает количество сигналов, но повышает их надёжность.
- Низкий порог увеличивает сигналы, но может давать ложные предсказания.
- Настройка:
- Рекомендация: 0.3 — баланс для M5 GBP/USD.
- Если свечи не отображаются, уменьшите до 0.2–0.25.
- Для строгих сигналов увеличьте до 0.4–0.5.
- Журнал («Low-confidence vote») покажет, если порог слишком высок.
- DebugMode (Режим отладки)
- Тип: Логическое значение (bool)
- Значение по умолчанию: true
- Описание: Включает/выключает вывод отладочных сообщений в Журнал (Experts Tab). Сообщения включают информацию о рисовании свечей, точности, параметрах и ошибках (например, «Недостаточно баров», «Недопустимые данные»).
- Влияние:
- True: Помогает диагностировать проблемы (например, отсутствие свечей, низкая точность).
- False: Уменьшает нагрузку на терминал, отключая логи.
- Настройка:
- Рекомендация: Оставьте true во время тестирования и настройки.
- Отключите (false) для реальной торговли, чтобы снизить объём логов.
- Используйте Журнал для проверки сообщений типа «Drawing candle», «Accuracy», или «Invalid PredictedData».
- Общий подход к настройке:
- Начните с дефолтных значений: Они оптимизированы для GBP/USD M5 и обеспечивают баланс между скоростью, точностью и надёжностью.
- Тестируйте в тестере стратегий: Используйте MetaTrader Strategy Tester на исторических данных GBP/USD M5 для оценки влияния изменений параметров.
- Мониторьте Журнал: Включите DebugMode = true и проверяйте сообщения о точности («Accuracy: X»), параметрах («New parameters»), ошибках («Insufficient bars», «Invalid PredictedData»).
- Обеспечьте данные: Загрузите достаточно M5 и H4 данных для GBP/USD (Tools > History Center), чтобы избежать ошибок типа «Недостаточно баров».
- Пошаговая настройка:
- Шаг 1: Проверка отображения свечей
- Примените индикатор на график M5 GBP/USD.
- Убедитесь, что включён сдвиг графика (ChartSetInteger(0, CHART_SHIFT, true)).
- Если свечи не появляются, проверьте Журнал:
- Сообщение «Недостаточно баров»: Уменьшите BarsToAnalyze до 30 или загрузите больше данных.
- Сообщение «Low-confidence vote»: Понизьте VoteThreshold до 0.2.
- Сообщение «Invalid indicator data»: Убедитесь, что H4 данные доступны, или уменьшите SlowMAPeriod, RSIPeriod, ATRPeriod.
- Шаг 2: Оптимизация точности
- Мониторьте «Accuracy: X» в Журнале. Если точность часто < 60% (MinAccuracy), индикатор корректирует параметры.
- Для ускорения адаптации увеличьте LearningRate до 0.2.
- Если точность низкая на волатильных рынках, уменьшите FastMAPeriod до 10, RSIPeriod до 12, или ADXThreshold до 20.
- Для стабильных рынков увеличьте SlowMAPeriod до 30–40 и ADXThreshold до 28.
- Шаг 3: Настройка размера свечей
- Размер прогнозных свечей зависит от ATRPeriod и ATRMultiplier (0.7).
- Если свечи слишком малы, увеличьте ATRMultiplier до 1.0–1.2.
- Если свечи нереалистично большие, уменьшите ATRMultiplier до 0.5 или увеличьте ATRPeriod до 16–20.
- Шаг 4: Балансировка голосования
- Проверьте веса индикаторов в Журнале («Weights=[X,Y,Z,W,V]»).
- Если один индикатор (например, RSI) доминирует, но даёт низкую точность («Accuracies: RSI=X»), уменьшите его начальный вес в IndicatorWeights (например, с 0.2 до 0.1).
- Для большей надёжности увеличьте VoteThreshold до 0.4, но следите, чтобы свечи не исчезли.
- Шаг 5: Тестирование и тонкая настройка
- Запустите индикатор в тестере на 1–3 месяцах данных GBP/USD M5.
- Сравните точность (Accuracy) и визуальную корреляцию прогнозных свечей с реальными.
- Если точность стабильно низкая, уменьшите MinAccuracy до 0.5 или увеличьте ForecastBars до 5 для краткосрочных прогнозов.
- Для сохранения параметров между сессиями добавьте сохранение в файл (например, FileWrite для IndicatorWeights).
- Шаг 1: Проверка отображения свечей
- Рекомендации по использованию:
- Для скальпинга: Уменьшите FastMAPeriod (8–10), RSIPeriod (9–12), StochKPeriod (9–12), VoteThreshold (0.2), ForecastBars (5–7).
- Для свинг-трейдинга: Увеличьте SlowMAPeriod (30–40), ADXThreshold (28–30), VoteThreshold (0.4), BarsToAnalyze (100).
- Для тестирования: Включите DebugMode, уменьшите MinAccuracy (0.5) и увеличьте LearningRate (0.2) для быстрого обучения.
- Для реальной торговли: Отключите DebugMode для снижения нагрузки, используйте дефолтные значения и периодически проверяйте точность.
Пример настройки для GBP/USD M5:
- Ситуация: Свечи не отображаются, Журнал показывает «Low-confidence vote» и «Accuracy: 0.55».
- Действия:
- Понизьте VoteThreshold до 0.25, чтобы прогнозы чаще формировались.
- Уменьшите MinAccuracy до 0.5 для активации обучения.
- Увеличьте LearningRate до 0.2 для быстрой корректировки.
- Уменьшите BarsToAnalyze до 30, если данные ограничены.
- Проверьте H4 данные (Tools > History Center).
- Результат: Свечи должны появиться, точность начнёт расти после нескольких корректировок.
