Обзор
Модуль интеллектуального принятия торговых решений — это продвинутая система управления торговлей, которая автоматически закрывает позиции на основе настраиваемых правил без зависимости от ордеров Stop Loss (SL) или Take Profit (TP) на уровне биржи. Вместо этого она непрерывно отслеживает сделки и принимает интеллектуальные решения о выходе на основе:
- Развороты свечных паттернов (изменения импульса)
- Правила порогов на основе времени (динамический стоп-лосс)
- Правила множителей тейк-профита (масштабируемая фиксация прибыли)
- Глобальные ограничения безопасности (экстренные выходы)
Структура конфигурации
1. Основные настройки (IntelligentRuleOptions)
IntelligentRuleOptions:
IsEnabled: true # Главный переключатель для интеллектуальных выходов
UseOriginalTPAsBase: false # Зарезервировано для будущего использования
EnableAdaptiveThresholds: false # Зарезервировано для будущего использования
MinimumHoldTime: 1 # Минимальное время в минутах перед любым выходом (предотвращает преждевременное закрытие)
MaximumBuyHoldTime: 20 # Принудительное закрытие ДЛИННЫХ позиций через N минут
MaximumSellHoldTime: 10 # Принудительное закрытие КОРОТКИХ позиций через N минут
Ключевые параметры:
IsEnabled: Установите вfalse, чтобы отключить все интеллектуальные правила и полагаться на SL/TP биржиMinimumHoldTime: Защита от шума — сделка должна "созреть" указанное количество минут, прежде чем правила активируютсяMaximumBuyHoldTime/MaximumSellHoldTime: Абсолютная безопасность — принудительный выход независимо от прибыли/убытка
2. Правила выхода на основе свечей (обнаружение разворота импульса)
CandleExitRules:
IsEnabled: false # Включить выходы по свечным паттернам
OppositesCandlesCount: 2 # Количество последовательных противоположных свечей для срабатывания выхода
ExitPercentage: 100 # Процент закрытия (100 = полный выход, 50 = частичный)
RuleName: "Выход по развороту импульса"
RequireMinimumProfit: null # Опционально: выход только если прибыль >= указанного процента (например, 2.0)
Как это работает:
- ДЛИННЫЕ сделки: Выход при появлении
OppositesCandlesCountпоследовательных КРАСНЫХ свечей - КОРОТКИЕ сделки: Выход при появлении
OppositesCandlesCountпоследовательных ЗЕЛЕНЫХ свечей - Применение: Улавливание быстрых разворотов импульса до превращения их в убытки
Пример:
# Выход 50% позиции после 3 последовательных красных свечей (для длинных)
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 3
ExitPercentage: 50
RequireMinimumProfit: 1.5 # Срабатывает только при прибыли 1.5%+
3. Правила порогов (стоп-лосс и защита прибыли на основе времени)
Правила порогов активируются в определенные временные интервалы и закрывают сделки, если прибыль/убыток пересекает пороги.
Пороги для длинных сделок
LongTrade:
ThresholdRules:
- Minutes: 30 # Через 30 минут
ThresholdPer: -80.0 # Закрытие при убытке >= 80% (СТОП-ЛОСС)
RuleName: "Быстрый стоп-лосс - Длинная"
- Minutes: 360 # Через 6 часов
ThresholdPer: -60.0 # Закрытие при убытке >= 60% (более жесткий SL)
RuleName: "Расширенный стоп-лосс - Длинная"
- Minutes: 720 # Через 12 часов
ThresholdPer: -50.0 # Закрытие при убытке >= 50% (защита прибыли)
RuleName: "Защита прибыли - Длинная"
Пороги для коротких сделок
ShortTrade:
ThresholdRules:
- Minutes: 15
ThresholdPer: -30.0 # Более жесткий SL для коротких (более волатильных)
RuleName: "Быстрый стоп-лосс - Короткая"
- Minutes: 60
ThresholdPer: -20.0
RuleName: "Жесткий стоп-лосс - Короткая"
- Minutes: 180
ThresholdPer: -15.0
RuleName: "Защита прибыли - Короткая"
Интерпретация:
- Отрицательные значения = Защита стоп-лосс (закрытие, если прибыль падает ниже порога)
- Положительные значения = Фиксация прибыли (закрытие, если прибыль возвращается к порогу)
- Правила кумулятивные — все применимые правила проверяются на каждом интервале
4. Правила тейк-профита (масштабируемая фиксация прибыли)
Правила тейк-профита продают части позиции по достижении этапов прибыли, основанных на множителях исходной цели TP.
LongTrade:
TakeProfitRules:
- TpMultiplier: 0.2 # При 20% от исходного TP (например, TP 10% → срабатывание при 2%)
SellPer: 100 # Продать 100% позиции
RuleName: "Цель 10% - Длинная"
IsEnabled: true
UseMarketOrder: true
Пример с несколькими уровнями TP:
# Предположим, исходная цель TP — 10%
TakeProfitRules:
- TpMultiplier: 0.5 # Срабатывает при прибыли 5% (0.5 × 10%)
SellPer: 25 # Продать 25% позиции
IsEnabled: true
- TpMultiplier: 1.0 # Срабатывает при прибыли 10% (1.0 × 10%)
SellPer: 30 # Продать еще 30% (итого продано 55%)
IsEnabled: true
- TpMultiplier: 2.0 # Срабатывает при прибыли 20%
SellPer: 25 # Продать еще 25% (итого продано 80%)
IsEnabled: true
- TpMultiplier: 5.0 # Срабатывает при прибыли 50%
SellPer: 20 # Продать оставшиеся 20% (полное закрытие)
IsEnabled: true
Ключевые особенности:
- Кумулятивное отслеживание: Система запоминает, сколько было продано (
tp_sold_cumulative) - Защита от дублирования: Каждый уровень TP выполняется только один раз
- Оставшееся количество: Всегда продается на основе оставшейся позиции, а не исходной
5. Глобальные настройки безопасности
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.0 # Минимальный процент прибыли перед активацией правил TP
MaxLossBeforeForceClose: -30.0 # ЧРЕЗВЫЧАЙНАЯ СИТУАЦИЯ: Принудительное закрытие при убытке выше этого
Параметры:
MinProfitToEnableTP: Предотвращает активацию правил TP на волатильных рынкахMaxLossBeforeForceClose: Абсолютная защита — перекрывает все другие правила
Поток приоритета решений
Система оценивает правила в следующем строгом порядке:
- 🚨 Экстренная остановка (
MaxLossBeforeForceClose) — наивысший приоритет - ⏳ Минимальное время удержания — предотвращает преждевременные выходы
- 🕐 Максимальное время удержания — принудительный выход после временного лимита
- 🕯️ Правила выхода по свечам — обнаружение разворота импульса
- ⏱️ Правила порогов — стоп-лосс/защита прибыли на основе времени
- 🎯 Правила тейк-профита — масштабируемая фиксация прибыли
- ➡️ Продолжить — отсутствие действий, если условия не выполнены
Оптимизированные настройки для стилей торговли
⚡ Скальпинг (1-15 минут)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 1 # Очень короткое удержание
MaximumBuyHoldTime: 15 # Выход из длинных через 15 минут
MaximumSellHoldTime: 10 # Выход из коротких через 10 минут
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 2 # Быстрое обнаружение разворота
ExitPercentage: 100 # Полный выход при развороте
RequireMinimumProfit: 0.5 # Выход только при прибыли 0.5%+
LongTrade:
ThresholdRules:
- Minutes: 5
ThresholdPer: -15.0 # Жесткий стоп-лосс
- Minutes: 10
ThresholdPer: -10.0
TakeProfitRules:
- TpMultiplier: 0.3 # Быстрая прибыль (30% от TP)
SellPer: 50
- TpMultiplier: 0.6
SellPer: 50
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.0
MaxLossBeforeForceClose: -20.0 # Жесткая экстренная остановка
📊 Дневная торговля (15 минут - 4 часа)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 5
MaximumBuyHoldTime: 240 # Максимум 4 часа
MaximumSellHoldTime: 180 # Максимум 3 часа
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 3
ExitPercentage: 50 # Частичный выход при развороте
RequireMinimumProfit: 1.0
LongTrade:
ThresholdRules:
- Minutes: 30
ThresholdPer: -30.0
- Minutes: 120
ThresholdPer: -20.0
- Minutes: 180
ThresholdPer: -15.0
TakeProfitRules:
- TpMultiplier: 0.5
SellPer: 30
- TpMultiplier: 1.0
SellPer: 40
- TpMultiplier: 2.0
SellPer: 30
IntelligentGlobalSettings:
MinProfitToEnableTP: 0.5
MaxLossBeforeForceClose: -35.0
📈 Свинг-трейдинг (4 часа - 3 дня)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 30
MaximumBuyHoldTime: 4320 # 3 дня
MaximumSellHoldTime: 2880 # 2 дня
CandleExitRules:
IsEnabled: true
OppositesCandlesCount: 5 # Требуется больше подтверждений
ExitPercentage: 40
RequireMinimumProfit: 2.0
LongTrade:
ThresholdRules:
- Minutes: 240 # 4 часа
ThresholdPer: -50.0
- Minutes: 1440 # 24 часа
ThresholdPer: -35.0
- Minutes: 2880 # 48 часов
ThresholdPer: -25.0
TakeProfitRules:
- TpMultiplier: 0.5
SellPer: 20
- TpMultiplier: 1.0
SellPer: 30
- TpMultiplier: 2.0
SellPer: 25
- TpMultiplier: 3.0
SellPer: 25
IntelligentGlobalSettings:
MinProfitToEnableTP: 1.0
MaxLossBeforeForceClose: -50.0
🏔️ Долгосрочная торговля (3+ дня)
IntelligentRuleOptions:
IsEnabled: true
MinimumHoldTime: 120 # Минимум 2 часа
MaximumBuyHoldTime: null # Без временного ограничения (или 43200 для 30 дней)
MaximumSellHoldTime: null
CandleExitRules:
IsEnabled: false # Отключено — фокус на фундаментальных факторах
LongTrade:
ThresholdRules:
- Minutes: 1440 # 1 день
ThresholdPer: -60.0
- Minutes: 10080 # 1 неделя
ThresholdPer: -40.0
- Minutes: 43200 # 1 месяц
ThresholdPer: -30.0
TakeProfitRules:
- TpMultiplier: 1.0
SellPer: 20
- TpMultiplier: 2.0
SellPer: 20
- TpMultiplier: 5.0
SellPer: 30
- TpMultiplier: 10.0
SellPer: 30
IntelligentGlobalSettings:
MinProfitToEnableTP: 5.0 # Фиксация прибыли только выше 5%
MaxLossBeforeForceClose: -70.0
Поддержка демо-режима
Система полностью поддерживает демо-режим, в котором сделки симулируются:
General:
demo_mode: true # Включить режим симуляции
Особенности демо-режима:
- ✅ Рассчитывает теоретическую прибыль/убыток без реальных биржевых ордеров
- ✅ Отслеживает частичные продажи и кумулятивную прибыль
- ✅ Логирует все решения с префиксом
[DEMO] - ✅ Обновляет состояние сделки идентично живому режиму
Лучшие практики
- Начинайте консервативно
- Начните с более широких стоп-лоссов и более длительного минимального времени удержания
- Постепенно ужесточайте по мере понимания поведения рынка
- Сначала тестируйте в демо-режиме
- Всегда проверяйте новые конфигурации в демо-режиме
- Следите за логами решений на предмет неожиданного поведения
- Слоистая защита
- Комбинируйте выходы по свечам + правила порогов + правила TP
- Каждый слой улавливает разные режимы сбоя
- Особенности для коротких позиций
- Используйте более жесткие стоп-лоссы для коротких (более волатильные)
- Более короткие времена удержания для коротких (риск возврата к среднему)
- Меньшие множители TP (избегайте жадности в медвежьих движениях)
- Следите за
MinProfitToEnableTP- Установите выше типичного спреда + комиссий, чтобы избежать убыточных TP
- Меньше для скальпинга, больше для свинга/долгосрочной торговли
- Дистанция экстренной остановки
MaxLossBeforeForceCloseдолжен быть вашим "худшим случаем" приемлемого убытка- Типично: -20% (скальпинг), -35% (дневная), -50% (свинг), -70% (долгосрочная)
Общие шаблоны
Агрессивный скальпинг
MinimumHoldTime: 1
MaximumBuyHoldTime: 10
CandleExitRules: { OppositesCandlesCount: 2, ExitPercentage: 100 }
ThresholdRules: [{ Minutes: 3, ThresholdPer: -10.0 }]
Консервативный свинг
MinimumHoldTime: 60
MaximumBuyHoldTime: 7200 # 5 дней
CandleExitRules: { IsEnabled: false }
ThresholdRules: [{ Minutes: 1440, ThresholdPer: -40.0 }]
Скальпер импульса
CandleExitRules: { IsEnabled: true, OppositesCandlesCount: 2, ExitPercentage: 50 }
TakeProfitRules: [
{ TpMultiplier: 0.2, SellPer: 50 },
{ TpMultiplier: 0.4, SellPer: 50 }
]
Устранение неполадок
| Проблема | Решение |
|---|---|
| Сделки закрываются слишком рано | Увеличьте MinimumHoldTime, расширьте процентные пороги |
| Сделки удерживаются слишком долго в убытках | Снизьте процентные пороги, включите выходы по свечам |
| TP не срабатывает | Проверьте MinProfitToEnableTP, убедитесь в правильности расчета множителей |
| Выходы по свечам не работают | Убедитесь, что IsEnabled: true, проверьте заполнение истории свечей |
| Некорректный PnL в демо-режиме | Проверьте правильность поля direction (Длинная/Короткая/Любая) |
Мониторинг и логи
Система записывает все решения:
✅ Решение для BTCUSDT: ЧАСТИЧНАЯ_ПРОДАЖА(25%) - Сработал тейк-профит (Длинная): прибыль 12.50% >= порога 10.00%, продажа 25% - Ранняя фиксация прибыли
📊 Выполнен частичный TP: продано 25% (всего: 25%), PnL: 125.40
🏁 Сделка ПОЛНОСТЬЮ ЗАКРЫТА для ETHUSDT: Статус=Победа, Общий PnL=543.20
Ключевые индикаторы:
- 🎯 Тип решения (ПРОДОЛЖИТЬ/ЗАКРЫТЬ_ПОЛНОСТЬЮ/ЧАСТИЧНАЯ_ПРОДАЖА)
- 📊 Подтверждения выполнения (живой режим)
- 🤖 Префикс
[DEMO]для симулированных сделок - 🏁 Окончательное закрытие с итогом PnL
Итог
Модуль интеллектуального принятия торговых решений предоставляет сложное, основанное на правилах управление торговлей, которое работает независимо от ордеров SL/TP на уровне биржи. Комбинируя анализ импульса (свечи), временные защиты (пороги) и масштабируемую фиксацию прибыли (множители TP), он предлагает гибкое, адаптивное управление торговлей, подходящее для всех стилей торговли — от скальпинга до долгосрочного удержания.