Динамическая стратегия двойной остановки задержки EMA

Автор:Чао Чжан, Дата: 2024-01-24 15:13:07
Тэги:

img

Обзор

Эта стратегия направлена на использование потенциальных обратных тенденций или продолжения с использованием экспоненциальных скользящих средних (EMAs) и последующей остановки на основе метода Chande Dynamic Convergence Divergence (CDC) Average True Range. Стратегия сочетает в себе несколько индикаторов для определения времени входа и устанавливает уровни остановки потери и получения прибыли на основе волатильности рынка для контроля риска при улавливании новых тенденций.

Логика стратегии

Эта стратегия использует 60-периодные и 90-периодные двойные EMA для определения направления тренда. Кроссовер, при котором более короткий период EMA движется выше более длинного периода EMA, дает бычий сигнал. В то же время, перекресток линии MACD выше линии сигнала может подтвердить бычий взгляд. Вход требует, чтобы цена была выше ранее рассчитанного уровня CDC trailing stop.

Правила выхода: закрыть позицию, когда цена достигнет уровня прибыли на основе ATR или упадет ниже уровня стоп-лосса CDC.

Анализ преимуществ

Эта стратегия сочетает в себе двойные EMA для оценки основного направления тренда и MACD для подтверждения времени входа, избегая ложных прорывов.

Кроме того, параметры ввода этой стратегии настраиваются. Пользователи могут корректировать периоды EMA, ATR период и CDC мультипликатор в соответствии со своим собственным стилем торговли.

Анализ рисков

Самый большой риск этой стратегии заключается в неправильном суждении о тренде. Когда рынок консолидируется, EMA легко могут давать неправильные сигналы. В это время роль подтверждения MACD особенно важна. Кроме того, необходимо надлежащее увеличение мультипликатора стоп-лосса CDC для решения больших разрывов в ценах, вызванных внезапными событиями.

Руководство по оптимизации

  1. Испытать различные комбинации параметров периода EMA для поиска оптимальной настройки
  2. Проверьте разные размеры множителя стоп-лосса CDC
  3. Попробуйте включить другие индикаторы для фильтрации времени входа
  4. Добавление механизмов для обработки внезапных событий на рынке

Резюме

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


/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Improved EMA & CDC Trailing Stop Strategy", overlay=true)

// Define the inputs
ema60Period = input(60, title="EMA 60 Period")
ema90Period = input(90, title="EMA 90 Period")
atrPeriod = input(24, title="CDC ATR Period")
multiplier = input(4.0, title="CDC Multiplier")
profitTargetMultiplier = input(2.0, title="Profit Target Multiplier (ATR)")

// Calculate EMAs
ema60 = ta.ema(close, ema60Period)
ema90 = ta.ema(close, ema90Period)

// Calculate ATR 
atr = ta.atr(atrPeriod)

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Define the trailing stop and profit target
longStop = close - multiplier * atr
shortStop = close + multiplier * atr
longProfitTarget = close + profitTargetMultiplier * atr
shortProfitTarget = close - profitTargetMultiplier * atr

// Entry conditions
longCondition = close > ema60 and ema60 > ema90 and macdLine > signalLine and close > longStop
shortCondition = close < ema60 and ema60 < ema90 and macdLine < signalLine and close < shortStop

// Exit conditions based on profit target
longProfitCondition = close >= longProfitTarget
shortProfitCondition = close <= shortProfitTarget

// Plot the EMAs, Stops, and MACD for visualization
plot(ema60, color=color.blue, title="60 EMA")
plot(ema90, color=color.red, title="90 EMA")
plot(longStop, color=color.green, title="Long Stop", style=plot.style_linebr)
plot(shortStop, color=color.red, title="Short Stop", style=plot.style_linebr)
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")

// Strategy execution using conditional blocks
if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.entry("Short", strategy.short)

// Exit based on profit target and trailing stop
if longProfitCondition or close < longStop
    strategy.close("Long")
if shortProfitCondition or close > shortStop
    strategy.close("Short")



Больше