Содержание
- Обзор
- Быстрый старт
- Справочник по настройкам
- Как работает DCA
- Реальные примеры
- Лучшие практики
- Управление рисками
- Устранение неполадок
- Часто задаваемые вопросы
Обзор
Что такое DCA?
Dollar Cost Averaging (DCA) — это торговая стратегия, которая автоматически размещает дополнительные ордера на заранее заданных ценовых уровнях, когда рынок движется против вашей начальной позиции. Вместо того чтобы входить в позицию целиком сразу, DCA помогает:
- ✅ Снизить среднюю цену входа при покупке на просадках (LONG)
- ✅ Улучшить среднюю цену входа при продаже на отскоках (SHORT)
- ✅ Снизить влияние неудачного тайминга входа
- ✅ Стратегически увеличивать размер позиции, когда цена движется в вашу сторону
Основные преимущества
| Преимущество | Описание |
|---|---|
| Лучшая средняя цена входа | Несколько входов на разных уровнях создают более выгодную общую точку входа |
| Распределение риска | Распределяете капитал по нескольким ценовым уровням вместо «всё сразу» |
| Автоматическое исполнение | Бот сам размещает ордера по вашим заранее заданным правилам |
| Масштабирование позиции | Постепенное увеличение размера позиции с помощью настраиваемых множителей |
| Оптимизация прибыли | Ниже средняя цена входа → выше потенциальная прибыль при развороте цены |
Важные понятия
- Родительский ордер (Parent Order): ваш первоначальный вход в сделку
- Дочерние ордера (Child Orders): дополнительные ордера DCA, срабатывающие по движению цены
- Средняя цена входа (Average Entry Price): взвешенное среднее всех цен входа (родительский + дочерние)
- Цена срабатывания (Trigger Price): ценовой уровень, активирующий следующий ордер DCA
Быстрый старт
Минимальная конфигурация
DCASettings:
enabled: true # Включить DCA
max_orders: 4 # 1 родительский + 3 DCA-дочерних
size_multiplier: 1.2 # Каждый следующий ордер на 20% больше предыдущего
price_deviation_percent: 5 # Срабатывание следующего ордера при отклонении цены на 5%
Что делает эта настройка
- Первый ордер (родительский): размещает ваш начальный ордер по текущей цене
- Второй ордер (дочерний 1): срабатывает при движении цены на 5% против вас, размер = 1.2 × родительский
- Третий ордер (дочерний 2): срабатывает на 5% ниже дочернего 1, размер = 1.44 × родительский (1.2²)
- Четвёртый ордер (дочерний 3): срабатывает на 5% ниже дочернего 2, размер = 1.728 × родительский (1.2³)
Пример сценария (LONG-позиция)
Начальный вход: 100 единиц @ $10,000 = $1,000,000 вложено
Цена -5%: 120 единиц @ $9,500 = $1,140,000 вложено
Цена -5%: 144 единицы @ $9,025 = $1,299,600 вложено
Цена -5%: 172.8 единицы @ $8,574 = $1,481,587 вложено
Итоговая позиция: 536.8 единиц
Всего вложено: $4,921,187
Средняя цена входа: $9,168 ✅ (против $10,000 без DCA)
Точка безубыточности: $9,168 (экономия $832 на единицу!)
Справочник по настройкам
Полная конфигурация
#################################################
# 6. Настройки DCA
#################################################
DCASettings:
enabled: true # Вкл/выкл функцию DCA
max_orders: 4 # Максимальное количество ордеров (включая начальный)
size_multiplier: 1.2 # Множитель размера ордера (1.0 = одинаковый, 1.2 = +20%)
price_deviation_percent: 5 # Процент отклонения цены от последнего входа для следующего ордера
Подробное описание параметров
enabled
- Тип: Булев (true/false)
- По умолчанию: false
- Описание: Главный переключатель функции DCA
- Пример:
enabled: true # DCA включён enabled: false # DCA выключен (обычные одиночные входы)
max_orders
- Тип: Целое число (рекомендуется 1–10)
- По умолчанию: 1
- Описание: Общее количество ордеров, включая родительский
- Важно:
max_orders = 1 родительский + N дочерних - Примеры:
max_orders: 1 # Без DCA max_orders: 3 # 1 родительский + 2 дочерних max_orders: 4 # 1 родительский + 3 дочерних (рекомендуется) max_orders: 7 # 1 родительский + 6 дочерних (агрессивно)
size_multiplier
- Тип: Десятичное число (рекомендуется 0.1–5.0)
- По умолчанию: 1.0
- Описание: Насколько больше должен быть каждый следующий ордер
- Формула:
Размер ордера N = базовый размер × множитель^(N-1) - Примеры:
size_multiplier: 1.0 # Все ордера одинаковые size_multiplier: 1.2 # +20% к каждому (рекомендуется) size_multiplier: 1.5 # +50% к каждому (агрессивно) size_multiplier: 2.0 # удваивается каждый раз (очень агрессивно) size_multiplier: 0.8 # -20% к каждому (пирамида вниз)
price_deviation_percent
- Тип: Десятичное число (рекомендуется 0.1–20.0)
- По умолчанию: 5.0
- Описание: Процент отклонения цены от последнего входа для срабатывания следующего ордера
- Направление:
- LONG: срабатывает при падении цены на эту величину
- SHORT: срабатывает при росте цены на эту величину
- Примеры:
price_deviation_percent: 2 # узкие интервалы (скальпинг, высокая волатильность) price_deviation_percent: 5 # средние интервалы (рекомендуется) price_deviation_percent: 10 # широкие интервалы (свинг, низкая волатильность) price_deviation_percent: 15 # очень широкие интервалы (позиционная торговля)
Как работает DCA
Последовательность размещения ордеров
┌─────────────────────────────────────────────────────────────┐
│ 1. Родительский ордер размещён │
│ Вход: $10,000 | Размер: 100 единиц | Инвестировано: $1M │
│ Рассчитанный триггер: $10,000 × (1 - 0.05) = $9,500 │
└─────────────────────────────────────────────────────────────┘
↓
Цена упала до $9,400
↓
┌─────────────────────────────────────────────────────────────┐
│ 2. Дочерний ордер 1 сработал │
│ Вход: $9,400 | Размер: 120 единиц | Инвестировано: $1.128M │
│ Новая средняя цена: $9,686 │
│ Следующий триггер: $9,400 × 0.95 = $8,930 │
└─────────────────────────────────────────────────────────────┘
↓
Цена упала до $8,900
↓
┌─────────────────────────────────────────────────────────────┐
│ 3. Дочерний ордер 2 сработал │
│ Вход: $8,900 | Размер: 144 единиц | Инвестировано: $1.282M │
│ Новая средняя цена: $9,367 │
│ Следующий триггер: $8,900 × 0.95 = $8,455 │
└─────────────────────────────────────────────────────────────┘
↓
Цена упала до $8,400
↓
┌─────────────────────────────────────────────────────────────┐
│ 4. Дочерний ордер 3 сработал │
│ Вход: $8,400 | Размер: 172.8 единиц | Инвестировано: $1.45M│
│ Новая средняя цена: $9,168 │
│ Достигнут лимит ордеров — больше DCA не будет │
└─────────────────────────────────────────────────────────────┘
Расчёт средней цены входа
Бот автоматически рассчитывает среднюю цену входа:
Средняя цена входа = Общая сумма инвестиций ÷ Общее количество
Пример:
Ордер 1: 100 × $10,000 = $1,000,000
Ордер 2: 120 × $9,400 = $1,128,000
Ордер 3: 144 × $8,900 = $1,281,600
Ордер 4: 172.8 × $8,400 = $1,451,520
─────────────────────────────────────
Итого: 536.8 единиц = $4,861,120
Средняя цена = $4,861,120 ÷ 536.8 = $9,056
Расчёт прибыли/убытка
Все расчёты прибыли и убытка ведутся от средней цены входа, а не от начальной:
Без DCA:
Вход: $10,000
Текущая: $9,500
П/У: -5.0% ❌
С DCA (4 ордера):
Средняя цена: $9,056
Текущая: $9,500
П/У: +4.9% ✅
Реальные примеры
Пример 1: Консервативный свинг-трейдинг
Настройки:
DCASettings:
enabled: true
max_orders: 3 # Небольшая позиция
size_multiplier: 1.0 # Одинаковые размеры
price_deviation_percent: 10 # Широкие интервалы
Исполнение сделки (LONG BTC):
Вход 1: 0.1 BTC @ $40,000 = $4,000
Цена упала до $36,000 (10%)
Вход 2: 0.1 BTC @ $36,000 = $3,600
Цена упала до $32,400 (10%)
Вход 3: 0.1 BTC @ $32,400 = $3,240
Итого: 0.3 BTC за $10,840
Средняя цена входа: $36,133
Точка безубыточности: $36,133 (против $40,000 без DCA)
Лучше всего подходит для: активов с низкой волатильностью, длительных таймфреймов
Пример 2: Агрессивный скальпинг
Настройки:
DCASettings:
enabled: true
max_orders: 5 # Больше ордеров
size_multiplier: 1.5 # Агрессивное масштабирование
price_deviation_percent: 2 # Узкие интервалы
Исполнение сделки (SHORT ETH):
Вход 1: 1 ETH @ $3,000 = $3,000
Цена выросла до $3,060 (2%)
Вход 2: 1.5 ETH @ $3,060 = $4,590
Цена выросла до $3,121 (2%)
Вход 3: 2.25 ETH @ $3,121 = $7,022
Цена выросла до $3,183 (2%)
Вход 4: 3.375 ETH @ $3,183 = $10,742
Цена выросла до $3,247 (2%)
Вход 5: 5.063 ETH @ $3,247 = $16,440
Итого: 13.188 ETH за $41,794
Средняя цена входа: $3,169
Точка безубыточности: $3,169 (максимальная потеря при достижении лимита ордеров)
Лучше всего подходит для: высоковолатильных активов, коротких таймфреймов
⚠️ Предупреждение: очень высокий требования к капиталу!
Пример 3: Сбалансированный подход (рекомендуемый)
Настройки:
DCASettings:
enabled: true
max_orders: 4 # Средняя глубина
size_multiplier: 1.2 # Постепенное масштабирование
price_deviation_percent: 5 # Средние интервалы
Исполнение сделки (LONG SOL):
Вход 1: 100 SOL @ $100 = $10,000
Цена -5%: $95
Вход 2: 120 SOL @ $95 = $11,400
Цена -5%: $90.25
Вход 3: 144 SOL @ $90.25 = $12,996
Цена -5%: $85.74
Вход 4: 172.8 SOL @ $85.74 = $14,816
Итого: 536.8 SOL за $49,212
Средняя цена входа: $91.68
Точка безубыточности: $91.68 (на 8.3% лучше начального входа)
Цена отскочила до $95:
Прибыль: 536.8 × ($95 - $91.68) = $1,782 (+3.6%)
Без DCA: 100 × ($95 - $100) = -$500 (-5% убыток)
Лучше всего подходит для: большинства торговых ситуаций, сбалансированное соотношение риск/прибыль
Лучшие практики
1. Управление капиталом
Резервируйте достаточно капитала
Расчёт максимального необходимого капитала:
Базовый ордер: $10,000
Множитель: 1.2
Максимум ордеров: 4
Ордер 1: $10,000
Ордер 2: $12,000 (1.2×)
Ордер 3: $14,400 (1.2²×)
Ордер 4: $17,280 (1.2³×)
─────────────────
Итого: $53,680 ⚠️ Нужно примерно 5.4× от начального размера ордера!
Правило большого пальца:
- Одинаковые размеры (1.0): нужно max_orders × начальный размер
- Множитель 1.2: ~5× начального размера для 4 ордеров
- Множитель 1.5: ~10× начального размера для 4 ордеров
- Множитель 2.0: ~15× начального размера для 4 ордеров
Безопасность баланса счёта
# Держите 20–30% буфера на непредвиденные возможности
Доступный баланс: $100,000
Резерв под DCA: $70,000
Буфер безопасности: $30,000
2. Выбор правильных настроек
В зависимости от рыночных условий
Высокая волатильность (BTC, ETH во время новостей):
max_orders: 5
size_multiplier: 1.3
price_deviation_percent: 3
Средняя волатильность (крупные альткоины):
max_orders: 4
size_multiplier: 1.2
price_deviation_percent: 5
Низкая волатильность (стейблкоины, зрелые рынки):
max_orders: 3
size_multiplier: 1.1
price_deviation_percent: 2
В зависимости от таймфрейма
Скальпинг (минуты):
price_deviation_percent: 1-2
max_orders: 3-4
size_multiplier: 1.3-1.5
Дневная торговля (часы):
price_deviation_percent: 3-5
max_orders: 3-5
size_multiplier: 1.2-1.3
Свинг-трейдинг (дни):
price_deviation_percent: 5-10
max_orders: 3-4
size_multiplier: 1.0-1.2
Позиционная торговля (недели):
price_deviation_percent: 10-15
max_orders: 2-3
size_multiplier: 1.0-1.1
По размеру счёта
Маленький счёт (< $10,000):
max_orders: 3 # ограниченный капитал
size_multiplier: 1.0 # нельзя агрессивно масштабировать
price_deviation_percent: 7
Средний счёт ($10,000–$100,000):
max_orders: 4
size_multiplier: 1.2
price_deviation_percent: 5
Большой счёт (> $100,000):
max_orders: 5-7
size_multiplier: 1.3-1.5
price_deviation_percent: 3-5
3. Стратегия выхода
Уровни фиксации прибыли
С учётом улучшения средней цены входа благодаря DCA:
- Устанавливайте тейк-профит на +5% от средней цены входа (не от начальной!)
- Рассматривайте частичную фиксацию прибыли на психологических уровнях
- Используйте трейлинг-стоп по мере роста прибыли
Управление стоп-лоссом
Варианты:
1. Без стоп-лосса — пусть DCA работает (рискованно!)
2. Стоп-лосс на -X% от средней цены входа
3. Стоп-лосс на -X% от последней DCA-ордера
4. Лимит максимальной просадки (например, -20% от всего счёта)
4. Мониторинг
Регулярно проверяйте:
- ✅ Текущее количество активных DCA-ордеров
- ✅ Средняя цена входа vs текущая цена
- ✅ Объём вложенного капитала
- ✅ Расстояние до следующего срабатывания DCA
- ✅ Остаток свободного капитала
Важные строки в логах бота:
✅ "DCA trigger hit" — размещён новый ордер
✅ "Parent trade updated with DCA data" — средняя цена пересчитана
✅ "Max orders reached" — достигнут лимит, больше DCA не будет
⚠️ "Insufficient balance" — недостаточно средств, нужно пополнить!
Управление рисками
Сценарии максимальной просадки
Сценарий: 4 ордера, множитель 1.2×, шаг 5%
| Исполнено ордеров | Падение цены | Использовано средств | Макс. просадка |
|---|---|---|---|
| 1 (начальный) | 0% | $10,000 | 0% |
| 2 | -5% | $22,000 | -2.5% |
| 3 | -9.75% | $36,400 | -5.1% |
| 4 (максимум) | -14.26% | $53,680 | -7.8% |
Вывод:
- Даже при полном срабатывании 4 DCA-ордеров максимальная просадка всего 7.8%
- Без DCA на том же уровне цены — убыток 14.26%
- DCA уменьшил просадку примерно на 50%!
Требования к капиталу в разных конфигурациях
| Конфигурация | Начальный | Максимум капитала | Эффект множителя |
|---|---|---|---|
| 3 ордера, 1.0× | $10k | $30k | 3.0× |
| 3 ордера, 1.2× | $10k | $34.4k | 3.4× |
| 4 ордера, 1.0× | $10k | $40k | 4.0× |
| 4 ордера, 1.2× | $10k | $53.7k | 5.4× |
| 5 ордера, 1.2× | $10k | $71.1k | 7.1× |
| 4 ордера, 1.5× | $10k | $88.1k | 8.8× |
| 5 ордеров, 1.5× | $10k | $181.9k | 18.2× |
⚠️ Критически важно: всегда держите запас 1.5–2× от максимальной потребности в капитале!
Стратегии снижения рисков
1. Ограничение размера позиции
# Начинайте с малого!
InitialTradeAmount: 100 # а не 1000
DCASettings:
max_orders: 3 # а не 7
size_multiplier: 1.1 # а не 2.0
2. Ограничения по символу
Не используйте DCA в каждой сделке:
- Оставляйте DCA только для сделок с высокой уверенностью
- В неуверенных ситуациях используйте одиночный вход
- Ограничивайте количество одновременно открытых DCA-позиций (максимум 2–3)
3. Ограничения по времени
Предотвращение быстрого каскада DCA во время флэш-крэшей:
- Минимальное время между ордерами: 5–15 минут
- Суточный лимит DCA: не более 10 срабатываний в день
- При множестве цепочек DCA в один день — обязательный ручной пересмотр
4. Корректировки по волатильности
При обнаружении высокой волатильности:
- Увеличьте price_deviation_percent (с 5% до 7%)
- Уменьшите max_orders (с 4 до 3)
- Снизьте size_multiplier (с 1.2 до 1.1)
Устранение неполадок
DCA-ордера не срабатывают
Симптом: цена прошла нужный уровень, но DCA не активировался
Возможные причины:
- DCA не включён
# Проверьте: DCASettings: enabled: true # ← должно быть true! - Достигнут лимит ордеров
# Ищите в логах: "Max orders reached" или "dca_total_orders >= dca_max_orders" # Решение: сделка завершена, ждите выхода или нового входа - Цена триггера не достигнута
# Смотрите логи: "DCA trigger check: current_price=X trigger_price=Y" # LONG: срабатывает когда current_price <= trigger_price # SHORT: срабатывает когда current_price >= trigger_price # Решение: ждите дальнейшего движения цены - Недостаточно средств
# В логах: "Failed to place order" или "Insufficient balance" # Решение: пополните баланс или уменьшите настройки DCA
DCA-ордера срабатывают слишком часто
Симптом: несколько DCA подряд за секунды/минуты
Возможные причины:
- Слишком маленький price_deviation_percent
# Сейчас: price_deviation_percent: 0.5 # ❌ слишком узко! # Исправление: price_deviation_percent: 5 # ✅ разумнее - Флэш-крэш / экстремальная волатильность
# Цена прыгнула сразу на >15% — все ордера сработали разом. Это нормально! # Профилактика: в волатильных рынках используйте более широкий шаг
Неправильная средняя цена входа
Симптом: средняя цена входа не соответствует ожиданиям
Проверьте:
В логах должно быть:
"Parent trade updated with DCA data"
avg_entry=X total_quantity=Y total_invested=Z
Ручная проверка:
Средняя = total_invested ÷ total_quantity
Если расхождение, проверьте:
1. Все дочерние ордера сохранены в базе?
2. Обновлялась ли родительская сделка после каждого дочернего ордера?
3. Были ли неудачные попытки размещения ордеров?
DCA не улучшает среднюю цену входа
Симптом: средняя цена после DCA хуже, чем была бы при одиночном входе
Это происходит когда:
Цена развернулась сразу после первого DCA:
Вход 1: $100 (100 ед.)
Вход 2: $95 (120 ед.) ← сработал DCA
Текущая цена: $98
Без DCA: -2% ($100 → $98)
С DCA: -1.4% (средняя $96.36 → $98) ✅ всё равно лучше!
А если цена вернулась на $100:
Без DCA: 0% (безубыток)
С DCA: +3.8% ($96.36 → $100) ✅ в плюсе!
Это нормальное поведение — DCA раскрывается именно на развороте цены!
Часто задаваемые вопросы (FAQ)
Q1: Можно ли использовать DCA вместе со стратегиями управления капиталом?
A: Да! DCA отлично сочетается с мани-менеджментом:
Базовый размер из мани-менеджмента: $10,000
Множитель DCA: 1.2
Результат:
- Ордер 1: $10,000 (по правилам мани-менеджмента)
- Ордер 2: $12,000 (применён множитель DCA)
- Ордер 3: $14,400
Q2: Что происходит с тейк-профитом и стоп-лоссом при использовании DCA?
A:
- Изначально TP/SL рассчитываются от первой цены входа
- Фактический расчёт прибыли/убытка ведётся от средней цены входа
- Поэтому тейк-профит может сработать раньше, чем вы ожидали! ✅
Исходный TP: +5% от $100 = $105
Средняя цена после DCA: $95
Текущая цена: $102
Без DCA: +2% (ещё не TP)
С DCA: +7.4% (TP уже сработал!) ✅
Q3: Нужно ли применять DCA к каждой сделке?
A: Нет! Используйте DCA выборочно:
Хорошо подходит для DCA:
- ✅ Сделки с высокой уверенностью
- ✅ Сильные уровни поддержки/сопротивления
- ✅ Торговля по тренду
- ✅ Высоколиквидные пары
Плохо подходит для DCA:
- ❌ Сделки с низкой уверенностью
- ❌ Новости и экстремальная волатильность
- ❌ Прорывы (могут продолжать движение)
- ❌ Низколиквидные пары
- ❌ Короткие скальперские сделки
Q4: Можно ли вручную закрыть позицию с DCA?
A: Да. Закрытие родительского ордера автоматически закроет всю цепочку DCA.
Q5: Что делать, если во время DCA закончился капитал?
A: Бот запишет ошибку и перестанет выставлять новые DCA-ордера. Уже открытые ордера останутся активными. Чтобы этого избежать:
1. Рассчитайте максимальную потребность в капитале заранее
2. Установите TradeAmountPer с запасом:
TradeAmountPer: 15% # используйте только 15% от баланса
# Баланс $100k → $15k на сделку
# При 4 DCA ≈ $80k максимум
# Остаётся $20k запаса ✅
Q6: Как протестировать DCA без риска реальных денег?
A:
# Включите демо-режим:
general:
demo_mode: true
DCASettings:
enabled: true
max_orders: 4
size_multiplier: 1.2
price_deviation_percent: 5
Или используйте симулятор: cargo run --bin dca_simulator
Q7: Можно ли менять настройки DCA, когда сделки уже открыты?
A: Изменения применяются только к новым сделкам. Уже запущенные цепочки DCA продолжают работать по старым настройкам.
Q8: Какой size_multiplier оптимален?
A: Зависит от вашей цели:
| Множитель | Стиль | Риск | Требования к капиталу | Лучше всего подходит |
|---|---|---|---|---|
| 1.0 | Консервативный | Низкий | 3–4× | Новичкам, неуверенным рынкам |
| 1.1–1.2 | Сбалансированный | Средний | 4–6× | Большинству трейдеров (рекомендуется) |
| 1.3–1.5 | Агрессивный | Высокий | 7–12× | Опытным, при высокой уверенности |
| 1.5–2.0 | Очень агрессивный | Очень высокий | 12–20× | Только профи, очень сильные setups |
Q9: Почему DCA-ордер исполнился по цене, отличной от триггера?
A: Рыночные ордера исполняются по текущей рыночной цене. В волатильном рынке:
Триггер: $9,500
Исполнение: $9,502 (рынок немного подрос)
Это нормально! DCA использует триггер как «примерно на этом уровне»
Если нужна точность — используйте лимитные ордера (но можно пропустить исполнение)
Q10: Можно ли задавать разные настройки DCA для разных символов?
A: Сейчас настройки глобальные. Обходной путь:
1. Запустите несколько экземпляров бота
2. У каждого — свой конфиг
3. Распределите символы между ботами
Краткое резюме
Быстрая матрица решений
| Ваша ситуация | Рекомендуемая конфигурация |
|---|---|
| Новичок в DCA | max_orders: 3, множитель: 1.0, шаг: 5% |
| Опытный трейдер | max_orders: 4, множитель: 1.2, шаг: 5% |
| Высокая волатильность | max_orders: 5, множитель: 1.3, шаг: 3% |
| Низкая волатильность | max_orders: 3, множитель: 1.1, шаг: 2% |
| Маленький счёт | max_orders: 3, множитель: 1.0, шаг: 7% |
| Большой счёт | max_orders: 5, множитель: 1.5, шаг: 3% |
| Скальпинг | max_orders: 3, множитель: 1.5, шаг: 1–2% |
| Свинг-трейдинг | max_orders: 4, множитель: 1.2, шаг: 5–10% |
Финальный чек-лист
Перед включением DCA убедитесь, что:
- [ ] Вы понимаете, сколько капитала максимально потребуется
- [ ] На балансе хватает для max_orders × size_multiplier
- [ ] Настройки соответствуют текущей волатильности рынка
- [ ] Вы уже протестировали в демо-режиме
- [ ] Определили стратегию тейк-профита и стоп-лосса
- [ ] Будете регулярно мониторить позиции DCA
- [ ] Есть план действий на случай максимальной просадки