Эта стратегия направлена на использование потенциальных обратных тенденций или продолжения с использованием экспоненциальных скользящих средних (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 для решения больших разрывов в ценах, вызванных внезапными событиями.
Эта стратегия хорошо использует преимущества индикаторов тренда и волатильности для выявления потенциальных возможностей в ценных бумагах. Благодаря оптимизации параметров и улучшению механизма, эта стратегия имеет потенциал для дальнейшего повышения стабильности и прибыльности. Она предоставляет количественным трейдерам надежную и масштабируемую стратегическую основу.
/*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")