К основному содержимому

Wunder DCA Бот: Руководство по настройке TradingView и торговой стратегии

Стратегия TradingView Wunder DCA является высокоразвитой стратегией усреднения долларовой стоимости (Dollar-Cost Averaging) с расширенными возможностями входа, фильтров и выхода из позиций.

Автор: Anna Smith

Как автоматизировать стратегию TradingView Wunder DCA на WunderTrading

  1. Перейдите во вкладку Signal Bot и нажмите Create Bot.

  2. Заполните все поля в разделе General и выберите TradingView Strategy в качестве условия запуска бота.

  3. Решите, хотите ли вы установить лимит Max Capital, и нажмите Create Bot. Вы увидите окно с Webhook URL и плейсхолдерами:

  4. Оставьте окно открытым и перейдите в Supercharts на TradingView. Нажмите Indicators и выберите вашу стратегию.

  5. После применения стратегии к графику выберите торговую пару и таймфрейм.

  6. Настройте Inputs и Properties вашей стратегии, затем нажмите Ok.

  7. Откройте Alert и выберите вашу стратегию в поле Condition.

  8. Перейдите на вкладку Message, введите имя алерта, затем скопируйте JSON стратегии TradingView из окна сигнального бота и вставьте его в поле Message алерта на TradingView.

  9. Перейдите на вкладку Notifications и вставьте Webhook URL из сигнального бота:

    https://wtalerts.com/bot/trading_view_strategy

    Нажмите Create для завершения процесса.


    Теперь ваш бот полностью подключен к TradingView и готов автоматически исполнять сделки на основе сигналов вашей стратегии. Каждый раз, когда стратегия срабатывает, TradingView отправит webhook с настроенными плейсхолдерами, позволяя боту получать точные данные о заказах в реальном времени.

    Перед запуском бота на реальных счетах настоятельно рекомендуется протестировать настройку на демо-счете или с минимальным капиталом, чтобы убедиться, что всё работает корректно. Дважды проверьте настройки стратегии, конфигурацию алертов и значения плейсхолдеров, чтобы избежать ошибок при исполнении.
    После проверки ваш автоматизированный процесс будет работать непрерывно без ручного вмешательства.

    Вы всегда можете проверять и анализировать свои сигналы в логах TV и логах сигнального бота:

1. Обзор стратегии

Wunder DCA Бот – это продвинутая стратегия TradingView, которая объединяет основной сигнал входа с сеткой ордеров усреднения стоимости покупки (DCA). Она позволяет постепенно наращивать позицию по более выгодным (или менее выгодным) ценам, при этом управляя риском с помощью стоп-лосса, тейк-профита, трейлинг-стопа и перевода стопа в безубыток. Можно использовать продвинутый фильтр тренда, чтобы входы соответствовали общему направлению рынка. Стратегия также предлагает несколько методов выхода на основе различных индикаторов.

Ключевые особенности:

  • Условия входа: Выбор из Breakout, MACD, Bollinger Bands, VWRSI, Price Change или ASAP (немедленный вход).

  • Сетка DCA: Возможность задать до 30 дополнительных ордеров с настраиваемым отклонением цены, множителем объёма и множителем отклонения.

  • Фильтр тренда: Опциональный фильтр с использованием SuperTrend, SMA, EMA, TEMA, ATR или стандартного отклонения доходности с анализом перцентилей.

  • Управление выходом: Выход через только TP, через только индикатор или по принципу «кто первый». Индикаторные выходы включают RSI, SMA, CRSI, MACD и SuperTrend с различными подметодами.

  • Управление рисками: Фиксированные проценты TP/SL или SL, рассчитанный по Risk/Reward. Можно включить трейлинг-стоп и перевод стопа в безубыток.

  • Проверка безопасности стоп-лосса: Обеспечивает размещение стоп-лосса вне сетки DCA, чтобы избежать преждевременной ликвидации.


2. Быстрый старт

  1. Добавьте скрипт на график в TradingView.

  2. Установите период бэктеста (по желанию).

  3. Настройте управление капиталом и рисками – укажите свой капитал.

  4. Выберите условие входа в разделе Core SettingsEntry condition type.

  5. Настройте параметры DCA – количество ордеров, отклонение цены, множитель объёма и т.д.

  6. Включите/отключите фильтр тренда и выберите метод с параметрами.

  7. Установите TP и SL – фиксированные проценты или через Risk/Reward.

  8. Настройте трейлинг-стоп и перевод стопа в безубыток, если требуется.

  9. Выберите метод выхода и соответствующий индикатор.

  10. Проведите бэктест и оптимизацию параметров.


3. Справка по входным параметрам

Все входные параметры сгруппированы в панели настроек скрипта. Ниже приведено подробное описание.

3.1 Диапазон дат бэктеста

Параметр

Тип

Ограничения

По умолчанию

Описание

Start

bool

true/false

false

Включить ограничение по дате начала.

Start Period

time

любой допустимый timestamp

24 Mar 2023 00:00 +0300

Начало периода бэктеста.

Finish

bool

true/false

false

Включить ограничение по дате окончания.

End Period

time

любой допустимый timestamp

24 Mar 2025 23:59 +0300

Конец периода бэктеста.

Примечание: Для активации фильтра по дате должны быть включены оба переключателя.


3.2 Риск и управление капиталом

Параметр

Тип

Ограничения

По умолчанию

Описание

Capital $

int

min=1, max=1,000,000

1000

Размер капитала, используемый для расчёта объёма позиции.

Примечание: в этой версии нет процента риска на сделку; размер позиции просто равен капитал / цена входа. Параметры Volume in contract и Risk Per Trade % из предыдущих версий присутствуют, но не используются.


3.3 Настройки стратегии

3.3.1 Тейк-профит и стоп-лосс

Параметр

Тип

Ограничения

По умолчанию

Описание / Активация

Use TP

bool

true/false

true

Включить тейк-профит.

Use SL

bool

true/false

true

Включить стоп-лосс.

Take Profit (%)

float

min=0.1

3.5

Фиксированный процент TP (используется, когда RR отключен или когда используется только TP).

Stop Loss (%)

float

min=0.1, max=100

3.5

Фиксированный процент SL (используется, когда SL включен).

3.3.2 Соотношение риск/прибыль (Risk / Reward)

Отображается только когда включены и TP, и SL.

Параметр

Тип

Ограничения / Опции

По умолчанию

Описание / Активация

Condition RR

bool

true/false

true

Главный переключатель Risk/Reward. Если отключён, TP устанавливается через фиксированный Take Profit (%).

Simple fraction / Decimal

string

Simple fr, Decimal

Simple fraction

Выбор формата RR.

Risk (simple fraction)

int

min=1, max=100

4

Числитель RR (активен только при выборе simple fraction).

Reward (simple fraction)

int

min=1, max=100

5

Знаменатель RR (активен только при выборе simple fraction).

Decimal RR

float

min=0.01, max=99.99

0.50

Значение RR в десятичной форме (0.5 → риск:вознаграждение = 1:2). (активен только при выборе Decimal).

  • Примечание: RR рассчитывается как Risk / Reward. Если RR = 0.5, тейк-профит устанавливается на расстоянии, вдвое превышающем дистанцию стоп-лосса.*

3.3.3 Трейлинг-стоп

Параметр

Тип

Ограничения

По умолчанию

Описание

Use TS

bool

true/false

true

Включить трейлинг-стоп.

Trailing Stop Activation (%)

float

min=0.01, step=0.1

0.4

Движение цены (в % от входа) для активации трейлинг-стопа.

Trailing Stop Execution (%)

float

min=0.01, step=0.1

0.6

Расстояние (в %) от самой высокой цены (длинная позиция) или самой низкой цены (короткая позиция) для размещения стопа после активации.

3.3.4 Перевод стоп-лосса в безубыток

Параметр

Тип

Ограничения

По умолчанию

Описание

Use MSL

bool

true/false

true

Включить перевод в безубыток.

MSL activation (%)

float

min=0.01, step=0.1

0.5

Движение цены (в % от входа), при котором стоп-лосс переносится в точку безубытка.


3.4 Настройки DCA

Эти параметры задают сетку ордеров DCA.

Параметр

Тип

Ограничения

По умолчанию

Описание

Max DCA orders

int

min=1, max=30

5

Общее количество ордеров, включая базовый. Пример: 5 → 1 базовый + 4 DCA.

Price deviation

float

min=0.1, max=20.0

1.00

Первоначальное отклонение цены (в %) для первого DCA-ордера.

Order size multiplier

float

min=1.0, max=10.0

2.01

Множитель объёма для каждого последующего DCA-ордера.

Price dev. multiplier

float

min=1.0, max=10.0

1.0

Множитель отклонения цены для каждого последующего ордера.

DCA Take-profit anchor point

string

average_price, entry_order

average_price

Определяет опорную цену для расчета TP:
average_price использует среднюю цену входа в позицию; entry_order использует цену начального ордера.

DCA Stop-loss anchor point

string

entry_order, average_price

entry_order

Определяет опорную цену для расчета стоп-лосса.


3.5 Основные настройки

3.5.1 Направление торговли

Параметр

Тип

Варианты

По умолчанию

Описание

Trade direction

string

LONG, SHORT, BOTH, NONE

BOTH

Ограничивает направление, в котором стратегия может открывать сделки.

3.5.2 Тип условия входа

Параметр

Тип

Варианты

По умолчанию

Описание

Entry condition type

string

Breakout, MACD, Bollinger, Price Change, VWRSI, ASAP

Breakout

Выбирает основной индикатор, генерирующий первоначальный сигнал входа.


3.6 Индикаторы условий входа

3.6.1 Breakout

Параметр

Тип

Ограничения

По умолчанию

Описание

Timeframe

timeframe

любой допустимый TF

'D'

Старший таймфрейм для расчёта дневного максимума/минимума.

Логика: Long – когда close[1] <= dailyLow и close > dailyLow; Short – когда close[1] >= dailyHigh и close < dailyHigh.

3.6.2 MACD

Параметр

Тип

Ограничения

По умолчанию

Описание

Fast Length

int

min=1

3

Период быстрой EMA.

Slow Length

int

min=1

21

Период медленной EMA.

Signal Smoothing

int

min=1, max=50

9

Период EMA сигнальной линии.

Логика: Long – при пересечении MACD выше сигнальной линии и при signal < 0; Short – при пересечении MACD ниже сигнальной линии и при signal > 0.

3.6.3 Bollinger Bands

Параметр

Тип

Ограничения

По умолчанию

Описание

BBPeriod

int

min=1

210

Период SMA (базовой линии).

StdDev

float

min=0.001, max=50

2.5

Количество стандартных отклонений для полос.

Логика: Long – когда close[1] < lowerBand и close > lowerBand; Short – когда close[1] > upperBand и close < upperBand.

3.6.4 VWRSI

Параметр

Тип

Ограничения

По умолчанию

Описание

Length

int

min=1

14

Период RSI.

VWRSI lower limit

int

(без явных ограничений)

20

Уровень перепроданности для входа в Long.

VWRSI upper limit

int

(без явных ограничений)

80

Уровень перекупленности для входа в Short.

Логика: Long – при пересечении VWRSI выше нижнего лимита; Short – при пересечении ниже верхнего лимита.

3.6.5 Изменение цены (Price Change)

Параметр

Тип

Ограничения

По умолчанию

Описание

Price Change Period

int

min=1

14

Количество баров для анализа изменения цены.

Price Cap, %

float

min=2.0, max=5.0

5.0

Требуемое изменение цены в процентах (отрицательное – для Long, положительное – для Short).

Логика: Long – если цена снизилась более чем на Price Cap за указанный период; Short – если цена выросла более чем на Price Cap.

3.6.6 ASAP

Параметр

Тип

Ограничения

По умолчанию

Описание

(нет параметров)

-

-

-

Немедленно открывает сделку на первом баре при отсутствии открытой позиции с учётом выбранного направления торговли.

3.6.7 RSI-фильтр для Price Change

Этот фильтр может применяться к условию Price Change.

Параметр

Тип

Ограничения

По умолчанию

Описание

Use RSI filter

bool

true/false

false

Включить RSI-фильтр для Price Change.

RSI period

int

(без явных ограничений)

14

Период RSI.

RSI lower limit

int

(без явных ограничений)

20

RSI должен быть ниже этого уровня для входа в Long.

RSI upper limit

int

(без явных ограничений)

80

RSI должен быть выше этого уровня для входа в Short.


3.7 Настройки фильтра тренда

Фильтр тренда – это дополнительный слой условий, который должен быть выполнен для входа в сделку. Он может быть отключён (none) или установлен на один из шести типов индикаторов.

Параметр

Тип

Варианты

По умолчанию

Описание

Filter indicator type

string

none, Super Trend, SMA, EMA, TEMA, ATR, STD+Percentile

none

Выбор фильтра тренда. При включении появляются дополнительные параметры.

3.7.1 Фильтр Super Trend

Отображается при выборе Filter indicator type = Super Trend.

Параметр

Тип

Варианты

По умолчанию

Описание

Super Trend filter type

string

Trend Direction, Trend Confirmation, Price Distance

Направление тренда

Определяет, как используется SuperTrend.

ATR Length (глобальная)

int

min=1

10

Период ATR для расчёта SuperTrend.

Factor (глобальный)

float

min=0.01

3.0

Множитель SuperTrend.

SuperTrend confirmation bars (только для Trend Confirmation)

int

min=1

10

Количество последовательных баров, в течение которых тренд должен сохраняться для подтверждения.

SuperTrend Price-ATR Threshold (только для Price Distance)

float

min=0.001

0.5

Минимальное отношение расстояния между ценой и линией SuperTrend к ATR.

SuperTrend Price-ATR ATRperiod (только для Price Distance)

int

min=1

14

Период ATR, используемый в расчёте расстояния.

Логика:

  • Trend Direction (Направление тренда): Long – когда направление SuperTrend < 0 (восходящий тренд), Short – когда > 0 (нисходящий тренд).

  • Trend Confirmation (Подтверждение тренда): Подсчитывается количество последовательных баров в одном направлении; условие выполняется, когда их число ≥ заданного порога.

  • Price Distance (Ценовое расстояние): Требуется, чтобы цена находилась на достаточном расстоянии от линии SuperTrend (с учётом ATR) в направлении тренда.

3.7.2 Фильтр SMA

Отображается при выборе Filter indicator type = SMA. Требует настройки Fast и Slow SMA (см. параметры фильтра тренда). Тип фильтра может быть следующим:

Параметр

Тип

Варианты

По умолчанию

Описание

SMA filter type

string

Price‑SMA position, Price‑SMA with slope, SMA Comparison

Price‑SMA position

Логика (используя Fast SMA = out_fast и Slow SMA = out_slow):

  • Price‑SMA position (Позиция цена-SMA): Long – когда close > out_fast, Short – когда close < out_fast.

  • Price‑SMA with slope (Цена-SMA со склонением): Long – когда close > out_fast и out_fast > out_fast[1], Short – когда close < out_fast и out_fast < out_fast[1].

  • SMA Comparison (Сравнение SMA): Long – когда out_fast > out_slow, Short – когда out_fast < out_slow.

3.7.3 Фильтр EMA

Аналогичен фильтру SMA, но использует EMA. Отображается, когда Filter indicator type = EMA.

Параметр

Тип

Варианты

По умолчанию

Описание

EMA filter type

string

Price‑EMA position, Price‑EMA with slope, EMA Comparison

Price‑EMA position

Логика: аналогична SMA, но используется Fast EMA (out_fast_ema) и Slow EMA (out_slow_ema).

3.7.4 Фильтр TEMA

Отображается, когда Filter indicator type = TEMA. Использует Triple EMA.

Параметр

Тип

Варианты

По умолчанию

Описание

TEMA filter type

string

Price‑TEMA position, Price‑TEMA with slope, TEMA Comparison

Price‑TEMA position

Логика: аналогична SMA, но используется Fast TEMA (out_f_tema) и Slow TEMA (out_s_tema).

3.7.5 Фильтр ATR

Отображается, когда Filter indicator type = ATR.

Параметр

Тип

Варианты

По умолчанию

Описание

ATR filter type

string

Volatility Level, Historical Comparison, Adaptive Threshold

Volatility Level

Volatility threshold (для Volatility Level)

float

min=0.000001

0.05

ATR должен превышать это значение.

Market condition (для Historical Comparison)

string

Active market, Calm market

Active market

Сравнивает текущий ATR с его историческим средним (SMA за последние 100 баров). Активный: текущий > средний; Спокойный: текущий < средний.

Adaptive Threshold Range (%) (для Adaptive Threshold)

float

min=5.0, max=80.0

15.00

Определяет диапазон вокруг исторического среднего: atrLow = avg * (1 - range), atrHigh = avg * (1 + range). Вход разрешён, когда atrLow < current < atrHigh.

Примечание: одно и то же условие применяется как для Long, так и для Short.

3.7.6 Фильтр STD+Percentile

Этот фильтр использует скользящее стандартное отклонение логарифмической доходности и его перцентиль (по умолчанию 75-й) для оценки волатильности. Поддерживает несколько продвинутых методов. Отображается, когда Filter indicator type = STD+Percentile.

Параметр

Тип

Ограничения / Варианты

По умолчанию

Описание

STD+Percentile filter type

string

Low Volatility, High Volatility, Historical Comparison, Adaptive Threshold, Smart Adaptive Threshold

Low Volatility

Show Indicator "STD+Percentile"

bool

true/false

false

Отображает индикатор в отдельной панели.

Market condition (для Historical Comparison, Adaptive Threshold, SAT)

string

Active market, Calm market

Active market

Определяет режим рынка.

Standard Deviation Window

int

(без явных ограничений)

280

Период расчёта стандартного отклонения.

Percentile Window

int

(без явных ограничений)

280

Период расчёта перцентиля.

Percentile

int

(без явных ограничений)

75

Уровень перцентиля (например, 75-й).

Низкая / Высокая волатильность (Low / High Volatility)

  • Low Volatility (Низкая волатильность): Требуется std_dev < percentile_75 и std_dev < std_dev[1] (волатильность уменьшается).

  • High Volatility (Высокая волатильность): Требуется std_dev > percentile_75 и std_dev > std_dev[1] (волатильность увеличивается).

Историческое сравнение (Historical Comparison, STD)

  • Active market (Активный рынок): std_dev > percentile_75

  • Calm market (Спокойный рынок): std_dev < percentile_75

Адаптивный порог (Adaptive Threshold, AT)

Нормализует волатильность относительно якорного процентиля: q = std_dev / percentile_75.

Параметры диапазонов (band parameters) задаются как доли якорного значения (anchor).

  • AT: Active band min (rA_min)float, min=0.05, step=0.01, default 0.90. Нижняя граница активного режима в пространстве q.

  • AT: Active band max (rA_max)float, min=0.05, step=0.01, default 1.20. Верхняя граница активного режима.

  • AT: Calm band min (rC_min)float, min=0.05, step=0.01, default 0.60.

  • AT: Calm band max (rC_max)float, min=0.05, step=0.01, default 0.90.

Условие: в активном режиме, q ∈ [rA_min, rA_max]; в спокойном режиме, q ∈ [rC_min, rC_max]. Условия одинаковы для Long и Short позиций.

Умный адаптивный порог (Smart Adaptive Threshold, SAT)

SAT строит динамический коридор вокруг скользящего среднего std_dev, используя устойчивую оценку ширины.

Параметр

Тип

Ограничения

По умолчанию

Описание

SAT: Baseline SMA length (Lμ)

int

min=2

50

Период SMA для std_dev (базовая линия μ).

SAT: Width SMA length (Lw)

int

min=2

50

Период SMA для абсолютного отклонения от базовой линии (ширина w).

SAT: Corridor width multiplier (k)

float

min=0.1, step=0.1

1.5

Множитель для задания ширины коридора: low = μ - k·w, high = μ + k·w.

SAT: Active zone floor (u_min, 0..1)

float

min=0.0, max=1.0, step=0.01

0.65

Нормализованная позиция внутри коридора для активного режима (нижняя граница).

SAT: Active zone ceiling (u_max, 0..1)

float

min=0.0, max=1.0, step=0.01

0.95

Нормализованная позиция внутри коридора для активного режима (верхняя граница).

SAT: Calm zone floor (u_min, 0..1)

float

min=0.0, max=1.0, step=0.01

0.10

Нормализованная позиция внутри коридора для спокойного режима (нижняя граница).

SAT: Calm zone ceiling (u_max, 0..1)

float

min=0.0, max=1.0, step=0.01

0.40

Нормализованная позиция внутри коридора для спокойного режима (верхняя граница).

SAT: Enable hysteresis

bool

true/false

false

Если включено, используются отдельные зоны входа/выхода для уменьшения «мигания».

SAT: Hysteresis margin (h, 0..1)

float

min=0.0, max=0.50, step=0.01

0.03

Дополнительный диапазон для расширения зоны удержания/выхода.

SAT: Show hysteresis bands

bool

true/false

false

Отображает расширенные зоны удержания/выхода.

Логика SAT:

  1. Вычисление μ = SMA(std_dev, Lμ), w = SMA(|std_dev - μ|, Lw).

  2. Построение коридора: low = max(0, μ - k·w), high = μ + k·w.

  3. Нормализованная позиция: u = (std_dev - low) / (high - low), ограничивается диапазоном [0,1].

  4. В активном режиме (Active mode), фильтр SAT пропускает сигнал, если std_dev находится внутри коридора, и u в [active_floor, active_ceiling]. В спокойном режиме (Calm mode), используются границы calm.

  5. Если гистерезис (hysteresis) включён, проверка входа использует исходные границы зоны, а проверка удержания использует расширенные границы [u_min - h, u_max + h] (с ограничением) с запоминанием состояния.


3.8 Настройки выхода

3.8.1 Метод выхода

Параметр

Тип

Варианты

По умолчанию

Описание

Exit method

string

indicator only, TP only, indicator or TP (First)

indicator or TP (First)

Определяет способ закрытия позиции.

  • indicator only: Выход происходит только по сигналу индикатора выхода.

  • TP only: Выход происходит только при достижении уровня take-profit.

  • indicator or TP (First): Позиция закрывается по первому из событий.

3.8.2 Тип индикатора выхода

Отображается, когда Exit method ≠ TP only.

Параметр

Тип

Варианты

По умолчанию

Описание

Exit indicator type

string

RSI, SMA, CRSI, MACD, Super Trend

RSI

Выбор индикатора для сигналов выхода.

3.8.3 Параметры выхода

Каждый индикатор имеет собственные параметры и подметоды.

Выход по RSI

Параметр

Тип

Варианты / Ограничения

По умолчанию

Описание

RSI exit type

string

Overbought/Oversold, Level Reversal, Signal Line Cross

Overbought/Oversold

RSI period

int

min=1

14

Период RSI.

RSI lower limit

int

(без явных ограничений)

20

Уровень перепроданности (для выхода из Short в некоторых режимах).

RSI upper limit

int

(без явных ограничений)

80

Уровень перекупленности (для выхода из Long).

Signal MA Length (for Signal Line Cross)

int

min=1

14

Период MA сигнальной линии.

Signal MA Type (for Signal Line Cross)

string

RMA, SMA, EMA, WMA

RMA

Тип MA.

Логика:

  • Overbought/Oversold (Перекупленность/Перепроданность): Выход из Long, когда RSI пересекает уровень перекупленности вверх; выход из Short, когда RSI пересекает уровень перепроданности вниз.

  • Level Reversal (Разворот уровня): Выход из Long, когда RSI пересекает уровень перекупленности вниз; выход из Short, когда RSI пересекает уровень перепроданности вверх.

  • Signal Line Cross (Пересечение сигнальной линии): Выход из Long, когда RSI пересекает сигнальную MA вниз; выход из Short, когда RSI пересекает сигнальную MA вверх.

Выход по SMA

Использует Fast SMA и Slow SMA (аналогично фильтру тренда SMA, но с отдельными параметрами длины).

Параметр

Тип

Варианты

По умолчанию

Описание

SMA exit type

string

Price‑SMA position, Price‑SMA with slope, SMA Comparison

Price‑SMA position

Fast SMA Length

int

min=1

9

Fast SMA Source

source

-

close

Fast SMA Offset

int

-500 до 500

0

Fast SMA Smoothing Type

string

None, SMA, EMA, RMA, WMA, VWMA

None

Дополнительное сглаживание SMA.

Fast SMA Smoothing Length

int

min=1 (if smoothing not None)

14

Slow SMA Length

int

min=1

24

Slow SMA Source

source

-

close

Slow SMA Offset

int

-500 до 500

0

Slow SMA Smoothing Type

string

None, SMA, EMA, RMA, WMA, VWMA

None

Slow SMA Smoothing Length

int

min=1 (if smoothing not None)

14

Логика (используются Fast SMA = out_fast_e и Slow SMA = out_slow_e):

  • Price‑SMA position (Позиция цена-SMA): Выход из Long, когда цена пересекает ниже Fast SMA; выход из Short, когда цена пересекает выше Fast SMA.

  • Price‑SMA with slope (Цена-SMA со склонением): То же, что и выше, но дополнительно требуется направление наклона SMA.

  • SMA Comparison (Сравнение SMA): Выход из Long, когда Fast SMA пересекает ниже Slow SMA; выход из Short, когда Fast SMA пересекает выше Slow SMA.

Выход по CRSI

Connors RSI – композитный индикатор из RSI, RSI серии роста/падения (streak), Percent Rank изменения цены (ROC).

Параметр

Тип

Ограничения / Варианты

По умолчанию

Описание

CRSI exit type

string

Overbought/Oversold, Level Reversal, Signal Line Cross

Overbought/Oversold

RSI Length

int

min=1

3

Период RSI компонента.

UpDown Length

int

min=1

2

Период RSI серии роста/падения.

ROC Length

int

min=1

100

Период Percent Rank для ROC.

CRSI lower limit

int

(no explicit)

10

Уровень перепроданности (для выхода из Short).

CRSI upper limit

int

(no explicit)

90

Уровень перекупленности (для выхода из Long).

Signal MA Length (for Signal Line Cross)

int

min=1

14

Signal MA Type (for Signal Line Cross)

string

RMA, SMA, EMA, WMA

RMA

Логика аналогична RSI, но с другими уровнями по умолчанию (10/90).

Выход по MACD

Параметр

Тип

Варианты

По умолчанию

Описание

MACD exit type

string

Line Cross, Zero Cross, Histogram, Decay, Slope, Divergence, MACD+SMA, Neutral

Line Cross

Fast Length

int

min=1

3

Slow Length

int

min=1

21

Signal Smoothing

int

min=1, max=50

9

MACD combo SMA Period (for MACD+SMA)

int

min=1

50

Период SMA для комбинированного условия.

Логика:

  • Line Cross: Выход, когда линия MACD пересекает сигнальную линию (Long – при пересечении вниз; Short – при пересечении вверх).

  • Zero Cross: Выход, когда линия MACD пересекает ноль.

  • Histogram: Выход при смене знака гистограммы.

  • Decay: Выход, когда MACD снижается 3 бара подряд (simple).

  • Slope: Выход при развороте наклона MACD (Long – при отрицательном наклоне; Short – при положительном).

  • Divergence: Упрощённое обнаружение дивергенции.

  • MACD+SMA: Выход при пересечении линий MACD и если цена находится по противоположную сторону долгосрочной SMA.

  • Neutral: Выход, когда MACD близок к нулю (абсолютное значение меньше 0.1 × стандартного отклонения (stdev) за 50 баров).

Выход по Super Trend

Параметр

Тип

Ограничения

По умолчанию

Описание

ATR Length

int

min=1

10

Период ATR.

Factor

float

min=0.01

3.0

Множитель.

Логика: Выход из Long, когда направление SuperTrend меняется с нисходящего на восходящее (т.е., направление увеличивается); выход из Short, когда направление меняется с восходящего на нисходящее.


3.9 Дополнительные параметры

Параметр

Тип

Ограничения

По умолчанию

Описание

Show Extra Order Line

bool

true/false

false

Если включено, отображает уровни ордеров DCA на графике.

4. Лучшие практики

4.1 Управление капиталом и риском

  • Стратегия использует простое определение размера позиции: capital / entry_price. Настройте Capital $, чтобы он соответствовал вашему реальному объёму торговли.

  • Процент стоп‑лосса (SL) должен выбираться осторожно — скрипт включает проверку безопасности, которая предотвращает размещение SL внутри сетки DCA. Минимально допустимый SL рассчитывается на основе структуры сетки и отображается, если выбранное значение нарушает правило.

4.2 Настройка параметров DCA

  • Max DCA orders: Больше ордеров позволяет глубже усреднять, но увеличивает риск. Начинайте с умеренного числа (3–5) и увеличивайте только если рынок часто откатывает после входа.

  • Price deviation: Начальное отклонение определяет расстояние первого DCA‑ордера. Меньшее значение размещает ордера ближе, увеличивая частоту; большее – делает интервалы шире.

  • Order size multiplier: Множитель >1 увеличивает объём позиции с каждым DCA‑ордером, ускоряя риск. Обычно выбирают значения между 1 и 1.5.

  • Price dev. multiplier: Если >1, каждый последующий ордер размещается дальше (геометрическая прогрессия). Если =1, ордера размещаются равномерно.

4.3 Выбор фильтра тренда

  • Фильтр тренда добавляет направленное смещение. Выбирайте тот, который соответствует вашему стилю торговли. Для трендовых рынков хорошо подходят SuperTrend или сравнение SMA. Для стратегий возврата к среднему полезны фильтры на основе волатильности (ATR, STD), которые помогают избегать сильных трендов.

  • Фильтр STD+Percentile является наиболее сложным; начните с более простых режимов (Low/High Volatility) и постепенно изучайте Adaptive Threshold и SAT.

4.4 Управление выходом

  • Exit method: Использование “indicator or TP” даёт возможность и фиксации прибыли, и выхода по индикатору, что улучшает результаты при изменяющихся рыночных условиях.

  • RSI/CRSI levels: Уровни перекупленности/перепроданности следует подбирать под конкретный актив. CRSI использует более экстремальные уровни (10/90), так как это составной индикатор.

  • MACD exit types: Экспериментируйте с разными сигналами выхода, чтобы найти наиболее точные развороты для вашего таймфрейма.

4.5 Бэктестинг

  • Используйте реалистичный диапазон дат, охватывающий разные рыночные фазы.

  • Оптимизируйте осторожно: большое количество параметров делает переобучение (overfitting) очень вероятным. Проверяйте на вневыборочных данных (out-of-sample) и на разных инструментах.

  • Комиссия: По умолчанию 0.05% – настройте в соответствии с комиссией вашего брокера.

  • Проскальзывание не моделируется; учитывайте это при оценке результатов.

4.6 Минимальное расстояние стоп‑лосса

  • Стратегия рассчитывает минимальное расстояние SL, чтобы оставаться вне сетки DCA. Если выбранный Stop Loss (%) слишком мал, появляется предупреждающая таблица и сделки не выполняются. Всегда убедитесь, что SL достаточно широкий.


5. Важные заметки и ограничения

  • Pyramiding установлен на 99, что позволяет размещать множество DCA-ордеров. Однако логика стратегии гарантирует, что одновременно управляется только одна позиция (нет пирамидинга полноценных позиций).

  • Скрипт использует calc_on_order_fills = false, поэтому новые DCA-ордера не добавляются внутри бара при исполнении лимитного ордера. Это стандартно для бэктестинга, но может отличаться от поведения в реальном времени.

  • Цена входа для DCA‑ордеров – limit price, рассчитанная по формуле DCA. В бэктесте эти ордера могут исполняться на следующем баре, если цена достигла лимита.

  • Проверка безопасности стоп‑лосса использует упрощённый расчёт, который не всегда точен; всегда проверяйте вручную при предупреждении стратегии.

  • Функции WunderTrading JSON есть, но здесь они не документированы; их можно игнорировать, если вы не используете WunderTrading.

  • Визуализация фильтра STD+Percentile (SAT, AT) может быть включена для лучшего понимания его работы.

Wunder DCA Бот – это высокоразвитая стратегия усреднения по долларовой стоимости (Dollar-Cost Averaging) с большим количеством вариантов входа, фильтрации и выхода. Возможность наращивания ордеров и адаптации к волатильности (через методы STD+Percentile) делает её мощным инструментом, но также требует глубокого понимания и тщательного тестирования. Результаты бэктестинга могут выглядеть впечатляюще, однако в реальной торговле они могут не повториться из-за проскальзывания, особенностей исполнения ордеров и изменяющейся рыночной динамики. Поэтому крайне важно сначала использовать демо-счёт, прежде чем торговать реальными средствами. Это позволит проверить поведение DCA-сетки, размещение стоп-лосса и логику выхода в среде без риска. Потратьте время на настройку параметров под ваш инструмент и таймфрейм и всегда отслеживайте результаты. Помните, что DCA-стратегии увеличивают экспозицию во время неблагоприятных движений рынка – убедитесь, что ваш уровень риска соответствует выбранным настройкам.

Нашли ответ на свой вопрос?