Трехмерная скользящая средняя, ​​отслеживающая тренд, комбинация нескольких индикаторов, количественная торговая стратегия

EMA DMI DPO RSI ATR ADX
Дата создания: 2025-01-17 14:57:26 Последнее изменение: 2025-01-17 14:57:26
Копировать: 1 Количество просмотров: 334
1
Подписаться
1617
Подписчики

Трехмерная скользящая средняя, ​​отслеживающая тренд, комбинация нескольких индикаторов, количественная торговая стратегия

Обзор

Стратегия представляет собой систему следования за трендом, основанную на нескольких технических индикаторах, объединяющих скользящую среднюю (EMA), индекс направленного движения (DMI), бестрендовый ценовой осциллятор (DPO), индекс относительной силы (RSI) и средний истинный диапазон (ATR). ) и другие технические индикаторы для определения сильных трендов и торговли с использованием множественных подтверждений сигналов. Основная идея разработки стратегии заключается в том, чтобы торговать только после подтверждения множества характеристик рынка, таких как направление тренда, импульс и волатильность, чтобы повысить вероятность успеха сделок.

Стратегический принцип

Стратегия использует тройную экспоненциальную скользящую среднюю (EMA) в качестве основной системы оценки тренда в сочетании с другими техническими индикаторами для множественного подтверждения сигналов:

  1. Быстрая EMA (10 дней) используется для фиксации краткосрочной ценовой динамики.
  2. Среднесрочная EMA (25 дней) как фильтр среднесрочного тренда
  3. Медленная EMA (50 дней) определяет общее направление тренда
  4. DMI (14 дней) используется для подтверждения направленной силы тренда.
  5. DPO используется для определения степени отклонения цен от тренда.
  6. RSI (14-дневный) используется для измерения импульса и состояний перекупленности и перепроданности.
  7. ATR (14 дней) используется для установки стоп-лосса и целевых показателей прибыли.

Условия срабатывания торгового сигнала:

  • Длинные условия: быстрая линия пересекает среднюю линию и находится выше медленной линии, ADX>25, RSI>50, DPO>0
  • Условия короткой продажи: быстрая линия пересекает среднюю линию и находится ниже медленной линии, ADX>25, RSI<50, DPO

Стратегические преимущества

  1. Множественные подтверждения сигналов повышают надежность транзакций и снижают риск ложных сигналов.
  2. Объединяя функции отслеживания тенденций и динамики, он может эффективно улавливать сильные тенденции.
  3. Динамически корректируйте стоп-лосс и цели прибыли с помощью ATR, чтобы адаптироваться к изменениям волатильности рынка.
  4. Систематический механизм управления рисками, риск каждой транзакции контролируется в пределах 2% от суммы счета
  5. Логика стратегии понятна, а функции каждого компонента понятны, что позволяет легко отлаживать и оптимизировать ее.

Стратегический риск

  1. На нестабильном рынке могут возникать частые ложные сигналы прорыва
  2. Несколько индикаторов могут подтвердить, что сигнал на вход задерживается
  3. Фиксированные пороговые значения ADX могут вести себя непоследовательно в различных рыночных условиях.
  4. При быстром развороте вы можете столкнуться с большим откатом.
  5. Оптимизация параметров может привести к переобучению исторических данных

Меры контроля риска:

  • Используйте динамический стоп-лосс ATR для адаптации к колебаниям рынка
  • Внедрение управления рисками с фиксированным коэффициентом
  • Перекрестное подтверждение нескольких индикаторов для уменьшения ложных сигналов

Направление оптимизации стратегии

  1. Внедрить механизм адаптивных параметров для динамической настройки параметров индикатора в соответствии с рыночной средой.
  2. Добавлен модуль идентификации рыночной среды для использования различных правил торговли в различных рыночных условиях.
  3. Оптимизируйте механизм выхода и рассмотрите возможность добавления сигналов разворота тренда и частичной фиксации прибыли.
  4. Внедрение анализа объема торгов для повышения надежности сигнала
  5. Разработать механизм контроля отката, чтобы сократить позиции или приостановить торговлю, если убытки продолжаются

Подвести итог

Эта стратегия создает полноценную торговую систему отслеживания тренда посредством комбинированного применения нескольких технических индикаторов. Главными особенностями стратегии являются строгое подтверждение сигналов и разумный контроль рисков, она подходит для отслеживания среднесрочных и долгосрочных трендов на дневном уровне. Несмотря на определенное отставание, общая эффективность стратегии стабильна благодаря строгому контролю рисков и многократному подтверждению сигналов. Рекомендуется обращать внимание на выбор рыночной среды при применении в реальной торговле и оптимизировать параметры в соответствии с особенностями конкретных сортов.

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("Daily Strategy with Triple EMA, DMI, DPO, RSI, and ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input parameters
fastEmaLength = input.int(10, title="Fast EMA Length")
mediumEmaLength = input.int(25, title="Medium EMA Length")
slowEmaLength = input.int(50, title="Slow EMA Length")
dmiLength = input.int(14, title="DMI Length")
adxSmoothing = input.int(14, title="ADX Smoothing")
dpoLength = input.int(14, title="DPO Length")
rsiLength = input.int(14, title="RSI Length")
atrLength = input.int(14, title="ATR Length")
riskPercentage = input.float(2.0, title="Risk Percentage", step=0.1)
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss", step=0.1)
tpMultiplier = input.float(2.0, title="ATR Multiplier for Take Profit", step=0.1)

// Calculate EMAs
fastEma = ta.ema(close, fastEmaLength)
mediumEma = ta.ema(close, mediumEmaLength)
slowEma = ta.ema(close, slowEmaLength)

// Calculate other indicators
[adx, diPlus, diMinus] = ta.dmi(dmiLength, adxSmoothing)
dpo = close - ta.sma(close, dpoLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)

// Trading logic
longCondition = ta.crossover(fastEma, mediumEma) and fastEma > slowEma and mediumEma > slowEma and adx > 25 and rsi > 50 and dpo > 0
shortCondition = ta.crossunder(fastEma, mediumEma) and fastEma < slowEma and mediumEma < slowEma and adx > 25 and rsi < 50 and dpo < 0

// Risk management
riskAmount = (strategy.equity * riskPercentage) / 100
stopLoss = atr * atrMultiplier
takeProfit = atr * tpMultiplier

// Entry and exit logic
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Long", "Buy", stop=close - stopLoss, limit=close + takeProfit)

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Short", "Sell", stop=close + stopLoss, limit=close - takeProfit)

// Plot indicators
plot(fastEma, color=color.green, title="Fast EMA")
plot(mediumEma, color=color.orange, title="Medium EMA")
plot(slowEma, color=color.red, title="Slow EMA")
hline(25, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)