Система DCA (Средняя Стоимость Доллара) – Руководство пользователя

  • Home
  • Documentation
  • Система DCA (Средняя Стоимость Доллара) – Руководство пользователя

Содержание

  1. Обзор
  2. Быстрый старт
  3. Справочник по настройкам
  4. Как работает DCA
  5. Реальные примеры
  6. Лучшие практики
  7. Управление рисками
  8. Устранение неполадок
  9. Часто задаваемые вопросы

Обзор

Что такое 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. Первый ордер (родительский): размещает ваш начальный ордер по текущей цене
  2. Второй ордер (дочерний 1): срабатывает при движении цены на 5% против вас, размер = 1.2 × родительский
  3. Третий ордер (дочерний 2): срабатывает на 5% ниже дочернего 1, размер = 1.44 × родительский (1.2²)
  4. Четвёртый ордер (дочерний 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 (максимальная потеря при достижении лимита ордеров)

Лучше всего подходит для: высоковолатильных активов, коротких таймфреймов
⚠️ Предупреждение: очень высокий требования к капиталу!

Настройки:

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 не активировался

Возможные причины:

  1. DCA не включён
    # Проверьте:
    DCASettings:
     enabled: true # ← должно быть true!
    
  2. Достигнут лимит ордеров
    # Ищите в логах:
    "Max orders reached" или "dca_total_orders >= dca_max_orders"
    # Решение: сделка завершена, ждите выхода или нового входа
    
  3. Цена триггера не достигнута
    # Смотрите логи:
    "DCA trigger check: current_price=X trigger_price=Y"
    # LONG: срабатывает когда current_price <= trigger_price
    # SHORT: срабатывает когда current_price >= trigger_price
    # Решение: ждите дальнейшего движения цены
    
  4. Недостаточно средств
    # В логах:
    "Failed to place order" или "Insufficient balance"
    # Решение: пополните баланс или уменьшите настройки DCA
    

DCA-ордера срабатывают слишком часто

Симптом: несколько DCA подряд за секунды/минуты

Возможные причины:

  1. Слишком маленький price_deviation_percent
    # Сейчас:
    price_deviation_percent: 0.5 # ❌ слишком узко!
    # Исправление:
    price_deviation_percent: 5 # ✅ разумнее
    
  2. Флэш-крэш / экстремальная волатильность
    # Цена прыгнула сразу на >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
  • [ ] Есть план действий на случай максимальной просадки

📎 Related Topics