Обзор
Система Precision Configuration в MagicTradeBot дает вам полный контроль над качеством сигналов по сравнению с их количеством. Каждый из более чем 15 типов сигналов имеет собственный раздел конфигурации в файле tradesettings.yaml, что позволяет точно настраивать параметры — от агрессивных (высокая частота, больше шума) до консервативных (низкая частота, высокая надежность). Такой детальный контроль позволяет сканировать тысячи торговых инструментов и отбирать только лучшие возможности, соответствующие вашему уровню риска.
Компромисс между качеством и количеством
Спектр строгости сигналов
АГРЕССИВНЫЙ ←――――――――――――――――――――――――――――――――――→ КОНСЕРВАТИВНЫЙ (Много сигналов) (Высокое качество) Больше сигналов Меньше сигналов Ниже винрейт Выше винрейт Выше риск Ниже риск Активная торговля Избирательная торговля
Ключевой принцип: Более строгие пороги = меньше сигналов, но выше вероятность успеха. Более широкие пороги = больше сигналов, но выше количество ложных срабатываний.
Философия конфигурации
Каждый параметр сигнала можно настроить по трем направлениям:
- Чувствительность — насколько легко срабатывает сигнал (пороговые значения)
- Подтверждение — сколько условий должны совпасть (мультифакторные требования)
- Фильтрация — какие дополнительные критерии должны быть выполнены (объем, волатильность и т.д.)
Структура конфигурации
Все настройки сигналов находятся в файле tradesettings.yaml:
yaml
signals:
rsi:
enabled: true
oversold_threshold: 30
overbought_threshold: 70
# ... другие настройки RSI
macd:
enabled: true
fast_period: 12
slow_period: 26
# ... другие настройки MACD
# ... настройки всех остальных сигналов
Каждый раздел настраивается независимо, что позволяет комбинировать агрессивные настройки для одних сигналов и консервативные — для других.
Настройки каждого сигнала
Настройка сигналов RSI
Назначение: управление чувствительностью зон перекупленности/перепроданности и обнаружением дивергенций
yaml
rsi:
enabled: true
period: 14
# Пороговые настройки
oversold_threshold: 30
overbought_threshold: 70
# Фильтры качества
require_volume_confirmation: true
min_volume_multiplier: 1.5
# Настройки дивергенций
enable_divergence_detection: true
divergence_lookback: 20
divergence_min_strength: 0.6
# Фильтрация сигналов
ignore_in_strong_trends: true
min_price_move_percent: 0.5
Руководство по настройке:
- Больше сигналов: oversold=40, overbought=60, require_volume=false
- Более качественные сигналы: oversold=20, overbought=80, require_volume=true, min_strength=0.8
Настройка сигналов MACD
Назначение: тонкая настройка чувствительности пересечений и порогов гистограммы
yaml
macd:
enabled: true
# Настройки периодов
fast_period: 12
slow_period: 26
signal_period: 9
# Триггеры сигналов
trigger_on_crossover: true
trigger_on_histogram_flip: true
trigger_on_divergence: true
# Фильтры качества
min_histogram_value: 0.0001
require_momentum_confirmation: true
min_bars_since_last_signal: 5
# Дивергенции
divergence_lookback: 15
divergence_min_strength: 0.65
# Контекстные фильтры
ignore_choppy_markets: true
choppiness_threshold: 61.8
Руководство по настройке:
- Больше сигналов: fast=8, slow=17, min_histogram=0, ignore_choppy=false
- Более качественные сигналы: fast=16, slow=35, min_histogram=0.0005, min_bars=10
Настройка полос Боллинджера
Цель: Контроль чувствительности к волатильности и строгости возврата к среднему
yaml
bollinger_bands:
enabled: true
period: 20
std_dev: 2.0
trigger_on_touch: true
trigger_on_break: false
require_reversal_candle: true
min_band_width_percent: 2.0
max_band_width_percent: 10.0
require_volume_spike: true
min_volume_ratio: 1.3
enable_squeeze_alerts: true
squeeze_threshold: 1.5
squeeze_breakout_multiplier: 2.0
require_price_return_to_middle: false
Руководство по настройке:
- Больше сигналов: std_dev=1.5, trigger_on_break=true, require_reversal=false
- Лучшие сигналы: std_dev=2.5, min_band_width=3.0, require_volume=true
Настройка сигналов ATR
Цель: Определение порогов расширения волатильности и критериев прорыва
yaml
atr:
enabled: true
period: 14
breakout_multiplier: 1.5
min_atr_expansion_percent: 20
lookback_for_expansion: 10
require_volume_confirmation: true
min_volume_multiplier: 1.8
require_directional_close: true
close_position_percent: 0.8
min_bars_in_consolidation: 5
max_prior_volatility: 2.5
ignore_gaps: true
ignore_news_hours: true
Руководство по настройке:
- Больше сигналов: multiplier=1.2, min_expansion=10, min_bars=3
- Лучшие сигналы: multiplier=2.0, min_expansion=30, min_bars=8, volume=2.0x
Настройка сигналов объёма
Цель: Установить пороги для обнаружения необычного объёма
yaml
volume:
enabled: true
lookback_period: 20
spike_multiplier: 2.0
detect_buying_volume: true
detect_selling_volume: true
detect_climax_volume: true
min_candle_body_percent: 40
require_price_confirmation: true
min_price_move_percent: 1.0
climax_multiplier: 4.0
climax_lookback: 50
signal_reversal_after_climax: true
use_volume_profile: true
significant_level_volume_ratio: 1.5
ignore_low_liquidity_symbols: true
min_dollar_volume: 100000
Руководство по настройке:
- Больше сигналов: multiplier=1.5, min_body=30, min_move=0.5
- Лучшие сигналы: multiplier=3.0, min_body=60, climax=5.0, dollar_volume=500k
Настройка сигналов импульса / скорости
Цель: Обнаружение ускорения скорости изменения
yaml
momentum_velocity:
enabled: true
momentum_period: 10
velocity_lookback: 5
min_momentum_percent: 2.0
min_velocity_increase: 1.5
require_sustained_momentum: true
min_consecutive_periods: 3
require_volume_increase: true
enable_momentum_divergence: true
divergence_lookback: 15
divergence_sensitivity: 0.7
ignore_choppy_conditions: true
max_directional_changes: 2
require_trend_alignment: true
trend_timeframe_multiplier: 4
Руководство по настройке:
- Больше сигналов: period=5, min_momentum=1.0, consecutive=2, require_trend=false
- Лучшие сигналы: period=20, min_momentum=3.0, consecutive=5, velocity=2.0
Настройка дивергенции RSI
Цель: Точная настройка чувствительности дивергенции
yaml
rsi_divergence:
enabled: true
lookback_period: 20
min_pivot_strength: 3
min_pivots_required: 2
min_divergence_angle: 15
min_rsi_difference: 5
min_price_difference_percent: 1.0
require_volume_confirmation: true
volume_must_decrease: true
require_trend_context: true
detect_hidden_divergence: true
hidden_requires_stricter_rules: true
ignore_in_consolidation: true
min_atr_for_signal: 0.5
Руководство по настройке:
- Больше сигналов: lookback=10, pivot=2, angle=10, volume=false
- Лучшие сигналы: lookback=30, pivot=5, angle=25, rsi_diff=8
Настройка VWAP и полос
Цель: Настройка логики полос отклонения VWAP
yaml
vwap:
enabled: true
reset_period: "daily"
use_cumulative: true
enable_bands: true
band_1_std_dev: 1.0
band_2_std_dev: 2.0
band_3_std_dev: 3.0
trigger_on_band_touch: true
trigger_level: 2
require_rejection_candle: true
min_distance_from_vwap_percent: 0.5
require_volume_at_level: true
volume_percentile_threshold: 70
require_return_toward_vwap: true
min_reversion_percent: 30
max_bars_for_reversion: 5
ignore_trending_markets: false
min_time_from_reset: 60
Руководство по настройке:
- Больше сигналов: trigger_level=1, min_distance=0.2, rejection=false
- Лучшие сигналы: trigger_level=3, min_distance=1.0, volume_percentile=80
Настройка CVD (накопительная дельта объема)
Цель: Обнаружение дисбаланса давления
yaml
cvd:
enabled: true
lookback_period: 100
enable_divergence_signals: true
divergence_lookback: 20
min_divergence_strength: 0.7
cvd_trend_period: 20
min_cvd_trend_strength: 0.6
trigger_on_divergence: true
trigger_on_trend_change: true
trigger_on_exhaustion: true
min_cvd_change_percent: 10
require_price_confirmation: true
min_price_move_percent: 0.8
exhaustion_lookback: 10
exhaustion_threshold: 0.3
require_volume_divergence: true
ignore_low_volume_periods: true
min_volume_for_valid_cvd: 1.5
Руководство по настройке:
- Больше сигналов: lookback=50, min_change=5, exhaustion=0.5
- Лучшие сигналы: lookback=200, min_change=20, strength=0.8, volume_divergence=true
Настройка выравнивания по нескольким таймфреймам
Цель: Определение правил выравнивания между различными интервалами графика
yaml
multi_timeframe:
enabled: true
base_timeframe: "5m"
higher_timeframes:
- "15m"
- "1h"
- "4h"
require_all_aligned: false
min_alignment_percent: 75
primary_signals:
- "RSI"
- "MACD"
- "MOMENTUM"
confirmation_signals:
- "TREND_DIRECTION"
- "REGIME"
trend_indicator: "EMA"
trend_periods:
fast: 20
slow: 50
require_higher_tf_trend: true
min_higher_tf_strength: 0.6
ignore_conflicting_signals: true
weight_by_timeframe: true
timeframe_weights:
"5m": 1.0
"15m": 1.5
"1h": 2.0
"4h": 3.0
Руководство по настройке:
- Больше сигналов: alignment=50, require_higher_tf_trend=false, check 2 TF
- Лучшие сигналы: alignment=100, require_all=true, check 4+ TF
Настройка обнаружения рыночного режима
Цель: Обнаружение состояния рынка: трендовый, боковой, волатильный или спокойный
yaml
market_regime:
enabled: true
lookback_period: 50
trend_indicator: "ADX"
trend_threshold: 25
range_indicator: "CHOPPINESS"
range_threshold: 61.8
volatility_measure: "ATR_PERCENTILE"
high_volatility_threshold: 70
low_volatility_threshold: 30
signal_on_regime_change: true
require_confirmation_bars: 3
adjust_other_signals: true
regime_adjustments:
trending:
rsi_overbought: 80
rsi_oversold: 20
follow_trend_only: true
ranging:
bb_std_dev: 1.5
enable_mean_reversion: true
disable_breakout_signals: true
volatile:
atr_multiplier: 2.5
reduce_position_size: 0.5
calm:
atr_multiplier: 1.2
increase_position_size: 1.2
Руководство по настройке:
- Больше сигналов: lookback=20, trend_threshold=20, confirm=1
- Лучшие сигналы: lookback=100, trend_threshold=30, confirm=5
Конфигурация Relative Strength vs BTC
Цель: Настроить метрики сравнения и пороги опережения
Конфигурация Relative Strength vs BTC
Цель: Настроить метрики сравнения и пороги опережения
relative_strength:
enabled: true
# Расчет RS
lookback_period: 20 # Рассчитывать RS за 20 периодов
# Краткосрочно = 10, Долгосрочно = 50
comparison_symbol: "BTCUSDT" # Актив для сравнения по умолчанию
# Пороги силы
min_outperformance_percent: 5 # Должен превзойти на ≥5%
# Агрессивно = 2, Консервативно = 10
min_consecutive_periods: 3 # Превосходить в течение 3 последовательных баров
# Фильтры качества
require_volume_confirmation: true
min_relative_volume: 1.2 # Объем символа > 1.2x относительно BTC
require_absolute_gain: true # Символ и BTC должны быть положительными (бычий рынок)
allow_absolute_loss_outperformance: false # Не сигнализировать, если оба снижаются
# Детекция дивергенции
detect_rs_divergence: true # Цена падает, а RS растет
divergence_lookback: 15
# Согласованность с трендом
require_btc_trend_agreement: false # Разрешать сигналы против BTC
btc_trend_threshold: 0.5 # Если требуется, сила тренда BTC
# Детекция пробоя
detect_rs_breakout: true # RS пробивает предыдущие максимумы
rs_breakout_lookback: 50
rs_breakout_buffer: 0.95 # Должен превысить 95% максимума за период
Руководство по настройке:
- Больше сигналов: min_outperformance=2, consecutive=2, require_absolute=false
- Лучшие сигналы: min_outperformance=10, consecutive=5, require_volume=true
Конфигурация дисбаланса потока ордеров (OFI)
Цель: Настроить чувствительность к дисбалансу книги ордеров
order_flow_imbalance:
enabled: true
# Расчет OFI
calculation_window: 5 # Измерять дисбаланс за 5 тиков/баров
# Сверхбыстро = 3, Стандарт = 5, Медленно = 10
# Пороги дисбаланса
min_imbalance_ratio: 2.0 # Соотношение покупок/продаж > 2.0 или < 0.5
# Агрессивно = 1.5, Консервативно = 3.0
min_imbalance_volume: 10000 # Минимальный объем для валидного сигнала OFI
# Фильтры качества
require_sustained_imbalance: true
min_sustained_periods: 3 # Дисбаланс должен сохраняться 3 окна расчета
require_price_confirmation: true
min_price_move_with_ofi: 0.1 # Цена должна измениться ≥0.1% в направлении OFI
# Детекция истощения
detect_ofi_exhaustion: true # Ослабление OFI = разворот
exhaustion_ratio_threshold: 1.2 # Дисбаланс падает ниже 1.2
# Контекстные фильтры
ignore_low_liquidity: true
min_order_book_depth: 50000 # Требуется глубина книги ордеров $50k
ignore_spread_widening: true # Пропуск сигналов при слишком широком спреде
max_spread_multiplier: 2.0
# Фильтры по времени
ignore_market_open_close: true # Пропустить первые/последние 5 мин сессии
open_close_buffer_minutes: 5
Руководство по настройке:
- Больше сигналов: window=3, ratio=1.5, sustained=2, price_move=0.05
- Лучшие сигналы: window=10, ratio=3.0, sustained=5, depth=100k
Конфигурация индекса колебаний (Choppiness Index)
Цель: Определить пороги для различения трендового и бокового рынка
choppiness_index:
enabled: true
# Расчет колебаний
period: 14 # Стандарт = 14, Быстрее = 7, Медленнее = 21
# Пороги режимов
choppy_threshold: 61.8 # Колебания > 61.8 = боковой рынок
trending_threshold: 38.2 # Колебания < 38.2 = сильный тренд
# Агрессивно: 55/45, Консервативно: 65/35
# Генерация сигналов
signal_on_transition: true # Сигнал при пересечении порогов
require_confirmation_bars: 2 # Ждать 2 бара после пересечения
signal_direction_from: # Определение направления покупки/продажи
method: "PRICE_MOMENTUM" # Опции: "PRICE_MOMENTUM", "BREAKOUT_DIRECTION", "CUSTOM"
lookback: 10
# Фильтры качества
min_time_in_chop: 10 # Должно быть колебание ≥10 баров перед сигналом
max_time_in_chop: 50 # Не сигнализировать, если колебание >50 баров
require_volume_expansion: true # Объем должен увеличиваться на пробое
min_volume_multiplier: 1.5
# Интегрированное использование
use_as_filter_only: false # True = только фильтр других сигналов
filter_other_signals_in_chop: true # Отключить определенные сигналы при колебаниях
signals_to_disable_in_chop:
- "BREAKOUT"
- "MOMENTUM"
- "TREND_FOLLOWING"
signals_to_enable_in_chop:
- "MEAN_REVERSION"
- "RANGE_TRADING"
Руководство по настройке:
- Больше сигналов: thresholds=55/45, confirmation=1, min_time=5
- Лучшие сигналы: thresholds=65/35, confirmation=3, min_time=15, max_time=30
Конфигурация облака Ichimoku
Цель: Настроить компоненты Ichimoku и строгость сигналов
ichimoku:
enabled: true
# Периоды Ichimoku
tenkan_period: 9 # Линия конверсии (быстрая)
kijun_period: 26 # Базовая линия (средняя)
senkou_b_period: 52 # Ведущий спэн B (медленный)
displacement: 26 # Смещение облака вперед
# Традиционно: 9/26/52, Агрессивно: 7/22/44, Консервативно: 12/30/60
# Требования сигналов
require_price_above_cloud: true # Для покупки
require_price_below_cloud: true # Для продажи
require_tk_cross: true # Пересечение Tenkan/Kijun
require_positive_chikou: true # Chikou выше цены
require_future_cloud_agreement: true # Будущее облако соответствует сигналу
# Уровни строгости
strictness: "moderate" # Опции: "loose", "moderate", "strict", "extreme"
# Определения строгости:
# loose: 1 условие
# moderate: 3 условия
# strict: 4 условия
# extreme: все 5 условий
# Фильтры качества
min_cloud_thickness_percent: 0.5 # Облако ≥0.5% толщины
ignore_thin_clouds: true
min_distance_from_cloud: 0.3 # Цена ≥0.3% от края облака
require_volume_confirmation: true
min_volume_on_signal: 1.3
# Сила тренда
measure_trend_strength: true
min_trend_strength: 0.6 # Все компоненты должны совпадать ≥0.6
# Контекстные фильтры
ignore_conflicting_components: true # Пропустить, если компоненты противоречат
max_conflicting_components: 1 # Разрешить 1 конфликтующий компонент
Руководство по настройке:
- Больше сигналов: periods=7/22/44, strictness="loose", require_only_2_conditions
- Лучшие сигналы: periods=12/30/60, strictness="extreme", min_strength=0.8
Конфигурация комбинированных сигналов
Цель: Настроить систему взвешенного консенсуса нескольких индикаторов
combined_signals:
enabled: true
# Взвешивание сигналов
weights:
rsi: 15
macd: 20
bollinger_bands: 15
atr: 10
volume: 25
momentum: 10
divergence: 20
vwap: 15
cvd: 20
# ... другие сигналы
# Требования консенсуса
min_total_weight: 65 # Требуется 65/100 взвешенных очков
# Агрессивно = 45, Консервативно = 80
min_signals_agreeing: 3 # Не менее 3 сигналов должны совпадать
# Агрессивно = 2, Консервативно = 5
max_conflicting_signals: 1 # Разрешить максимум 1 противоположный сигнал
# Категории сигналов
require_trend_signal: true # Должен быть ≥1 индикатор тренда
require_momentum_signal: true # Должен быть ≥1 индикатор импульса
require_volume_signal: true # Должен быть ≥1 индикатор объема
# Улучшения качества
bonus_for_diverggence: 15 # Добавить 15 очков при наличии дивергенции
bonus_for_mtf_alignment: 20 # Добавить 20 очков при согласовании нескольких таймфреймов
bonus_for_regime_match: 10 # Добавить 10, если режим соответствует типу сигнала
# Динамическая корректировка весов
adjust_weights_by_regime: true
regime_weight_modifiers:
trending:
macd: 1.5 # Увеличить вес MACD в тренде
momentum: 1.5
rsi: 0.7 # Уменьшить вес RSI в тренде
ranging:
rsi: 1.5 # Увеличить вес RSI в боковом рынке
bollinger_bands: 1.5
macd: 0.6
# Оценка доверия
output_confidence_score: true # Включить оценку доверия 0-100
min_confidence_for_action: 70 # Торговать только если ≥70 доверия
# Правила тайм-аута
max_time_between_signals: 10 # Все сигналы должны появиться в течение 10 баров
signals_must_be_recent: true
Руководство по настройке:
- Больше сигналов: min_weight=45, min_signals=2, max_conflicting=2
- Лучшие сигналы: min_weight=80, min_signals=5, max_conflicting=0, min_confidence=80
Конфигурация обнаружения всплесков (Spike Detection)
Цель: Определить пороги для выявления экстремальных движений цены
spike_detection:
enabled: true
# Статистические пороги
lookback_period: 100
std_dev_multiplier: 3.0
# Типы всплесков
detect_pump_spikes: true
detect_crash_spikes: true
# Фильтры качества
min_spike_percent: 2.0
max_spike_percent: 50.0
require_volume_confirmation: true
min_volume_multiplier: 2.5
require_single_candle: false
max_candles_for_spike: 3
# Проверка контекста
ignore_gap_spikes: true
ignore_low_liquidity: true
min_liquidity_threshold: 50000
# Логика сигналов
signal_direction:
pump_action: "BUY"
crash_action: "SELL"
# Продолжение vs Разворот
check_for_continuation: true
continuation_lookback: 5
min_continuation_percent: 50
# Детекция истощения
detect_spike_exhaustion: true
exhaustion_volume_multiplier: 5.0
signal_reversal_on_exhaustion: true
Руководство по настройке:
- Больше сигналов: std_dev=2.0, min_spike=1.0, volume=1.5x, max_candles=5
- Лучшие сигналы: std_dev=4.0, min_spike=3.0, volume=3.0x, single_candle=true
Конфигурация сигналов PUMP / CRASH
Цель: Настроить обнаружение устойчивых волатильных движений с подтверждением объемом
pump_crash:
enabled: true
# Обнаружение движения
min_percent_move: 3.0
max_bars_for_move: 5
# Требования к объему
require_volume_surge: true
min_volume_multiplier: 1.8
volume_must_increase: true
# Проверка импульса
require_momentum_acceleration: true
min_acceleration_ratio: 1.2
allow_pullback_bars: 1
max_pullback_percent: 30
# Фильтры качества
require_directional_close: true
min_close_position: 0.75
ignore_wick_dominated: true
max_wick_to_body_ratio: 0.6
# Контекстные фильтры
ignore_during_news: true
ignore_market_open: true
open_buffer_minutes: 15
ignore_low_liquidity: true
min_dollar_volume: 250000
# Типы сигналов
pump_action: "BUY"
crash_action: "SELL"
# Настройки продолжения
wait_for_consolidation: false
consolidation_max_bars: 5
consolidation_max_range: 1.0
# Детекция истощения
detect_climax: true
climax_volume_multiplier: 4.0
fade_climax_bars: true
Руководство по настройке:
- Больше сигналов: min_move=1.5, max_bars=10, volume=1.3x, allow_pullback=2
- Лучшие сигналы: min_move=5.0, max_bars=3, volume=2.5x, acceleration=1.5
Резюме
Система Precision Configuration в MagicTradeBot предоставляет
беспрецедентный контроль над качеством и количеством сигналов.
Настраивая параметры в tradesettings.yaml, вы можете:
- Отфильтровать тысячи символов до только наиболее вероятных сетапов
- Соответствовать вашей терпимости к риску с помощью тонких настроек строгих параметров
- Адаптироваться к рыночным условиям с динамическими настройками порогов
- Оптимизировать под ваш стиль торговли от скальпинга до позиционной торговли
- Комбинировать сигналы интеллектуально с использованием алгоритмов взвешенного консенсуса
- Максимизировать процент побед при сохранении адекватной частоты сделок
Система масштабируется от простых предустановленных конфигураций для новичков до полностью настраиваемой многомерной фильтрации для продвинутых алгоритмических трейдеров. Каждый параметр документирован, доступен для бэктестов и предназначен для поиска идеального баланса между ловлей возможностей и избеганием ложных сигналов.