Исследование количественной стратегии пересечения тренда DPO-EMA

DPO EMA SMA
Дата создания: 2024-12-05 14:57:18 Последнее изменение: 2024-12-05 14:57:18
Копировать: 0 Количество просмотров: 379
1
Подписаться
1617
Подписчики

Исследование количественной стратегии пересечения тренда DPO-EMA

Обзор

Эта стратегия является количественной торговой стратегией, основанной на перекрестке показателя ценовых колебаний (DPO) и индексальных движущихся средних (EMA). Основная идея стратегии заключается в том, чтобы улавливать изменения в рыночных тенденциях, сравнивая DPO с его отношениями к 4-х циклическим EMA, что приводит к появлению сигналов покупки и продажи. Эта стратегия особенно подходит для больших временных периодов от 4 часов и выше, и лучше всего работает при использовании гладкого скольжения (Heikin Ashi).

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

Основная логика стратегии включает следующие ключевые шаги:

  1. Вычислить 24-циклическую простую скользящую среднюю ((SMA) в качестве базовой линии
  2. Перемещение SMA вперёд на 2+1 циклов, чтобы получить значение SMA после смещения
  3. Получение значения DPO за вычетом смещенного SMA по цене закрытия
  4. Вычисление 4-циклической скользящей средней индекса DPO
  5. Когда DPO проходит 4-циклическую EMA, генерируется сигнал покупки
  6. Продажа, когда DPO проходит 4-циклическую EMA

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

  1. Сигнальная четкость: создание четких точек купли-продажи через перекрестные сигналы, избегая субъективного суждения
  2. Хороший эффект от отслеживания тенденций: индикатор DPO эффективно фильтрует рыночный шум и лучше улавливает основные тенденции
  3. Меньшая задержка: использование короткого цикла (~ 4 цикла) EMA в качестве сигнальной линии, позволяющей быстрее реагировать на изменения рынка
  4. Адаптируемость: стратегия обладает определенной способностью к адаптации в различных рыночных условиях
  5. Простые действия: логика стратегии ясна, легко понятна и выполняется

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

  1. Риск нестабильного рынка: частые ложные сигналы могут возникать на боковом и нестабильном рынке.
  2. Риск отставания: существует определенная отсталость, несмотря на использование краткосрочных ЭМА
  3. Риск обратного тренда: в случае резкого переворота сильного тренда возможны значительные убытки
  4. Чувствительность параметров: эффекты стратегии более чувствительны к выбору параметров цикла
  5. Зависимость от рыночных условий: стратегия может не работать идеально в определенных рыночных условиях

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

  1. Введение фильтрации частоты колебаний: можно добавить ATR или другие показатели частоты колебаний для фильтрации сигналов в условиях низкой частоты колебаний
  2. Увеличение подтверждения тренда: в сочетании с другими трендовыми показателями, такими как ADX, для подтверждения силы тренда
  3. Оптимизированная стоп-позиция: может быть изменена в зависимости от динамики волатильности рынка
  4. Улучшение фильтрации сигнала: добавление подтверждения заказа или других технических показателей для фильтрации ложных сигналов
  5. Адаптация параметров: динамическая оптимизация параметров для адаптации к различным рыночным условиям

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

Стратегия DPO-EMA Trend Crossing является количественной торговой стратегией, которая имеет простую структуру, но значительную эффективность. Благодаря сочетанию с отклонением от тренда и движущимися средними, стратегия может эффективно улавливать изменения в тенденциях рынка. Хотя существуют некоторые присущие ей риски, благодаря разумной оптимизации и мерам управления рисками стратегия по-прежнему имеет хорошую практическую ценность. Для среднесрочных и долгосрочных трейдеров это выбор стратегии, который стоит рассмотреть.

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

//@version=5
strategy("DPO 4,24 Strategy", shorttitle="DPO Strategy", overlay=true)

// Define a fixed lookback period and EMA length
length = 24
ema_length = 4

// Calculate the Simple Moving Average (SMA) of the closing prices
sma = ta.sma(close, length)

// Calculate the shifted SMA value
shifted_sma = sma[length / 2 + 1]

// Calculate the Detrended Price Oscillator (DPO)
dpo = close - shifted_sma

// Calculate the 4-period Exponential Moving Average (EMA) of the DPO
dpo_ema = ta.ema(dpo, ema_length)

// Generate buy and sell signals based on crossovers
buy_signal = ta.crossover(dpo, dpo_ema)
sell_signal = ta.crossunder(dpo, dpo_ema)

// Overlay buy and sell signals on the candlestick chart
plotshape(series=buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy entry and exit conditions
if (buy_signal)
    strategy.entry("Buy", strategy.long)

if (sell_signal)
    strategy.close("Buy")