Стратегия двойной экспоненциальной скользящей средней является краткосрочной торговой стратегией, основанной на DEMA (Двойной экспоненциальной скользящей средней). Она сочетает в себе плавность скользящих средних и быструю реакцию EMA с целью улавливать краткосрочные ценовые тенденции и получать прибыль путем торговли на кроссоверах DEMA.
Стратегия в основном опирается на золотые кресты и смертельные кресты между быстрой линией DEMA и медленной линией DEMA для определения сигналов покупки и продажи.
В частности, скоростная линия рассчитывается как:
demaFast = 2 * ema(close, fastPeriod) - ema(ema(close, fastPeriod), fastPeriod)
И медленная линия:
demaSlow = 2 * ema(close, slowPeriod) - ema(ema(close, slowPeriod), slowPeriod)
Где fastPeriod и slowPeriod представляют периоды быстрой и медленной линии соответственно.
Когда быстрая линия пересекает медленную линию, генерируется сигнал покупки. Когда быстрая линия пересекает медленную линию, генерируется сигнал продажи.
buy = crossover(demaSlow, demaFast)
sell = crossunder(demaSlow, demaFast)
Стратегия определяет направление торговли на основе перекрестных линий DEMA.
По сравнению с традиционными скользящими средними, линии DEMA более чувствительны и могут быстрее реагировать на изменения цен, что позволяет стратегии использовать больше краткосрочных торговых возможностей.
Кроме того, линии DEMA включают в себя плавность скользящих средних, что помогает отфильтровать рыночный шум и избежать ложных сигналов.
Кроме того, комбинация быстрой и медленной линии в некоторой степени избегает ложных перекресток.
Подводя итог, стратегия двойной экспоненциальной скользящей средней DEMA имеет преимущества быстрой реакции, фильтрации шума и стабильных надежных сигналов.
Несмотря на то, что линии DEMA более стабильны, чем EMA, они все еще могут страдать от ложных пересечений, генерируя неправильные сигналы.
Кроме того, как краткосрочная стратегия, она чувствительна к торговым затратам. Высокая частота торговли или небольшой размер торговли могут разрушать прибыль. Для контроля затрат должны быть установлены разумные торговые параметры.
Наконец, ни одна стратегия технических индикаторов не может полностью избежать стоп-лосса.
Есть еще места для оптимизации:
Испытайте различные комбинации периодов, чтобы найти оптимальные параметры.
Включите другие индикаторы, такие как RSI, чтобы подтвердить сигналы и избежать ложных сигналов.
Оптимизируйте механизмы стоп-лосса, например, отслеживание стоп-лосса для закрепления прибыли.
Оптимизируйте управление капиталом, например, размещение позиций на основе размера счета, или изменение размера по изменчивости.
Стратегия двойной экспоненциальной скользящей средней в целом является стабильной краткосрочной торговой стратегией. Она имеет быструю реакцию и возможности сглаживания. По сравнению с SMA, она может захватить больше краткосрочных возможностей. С настройкой параметров и надлежащими механизмами рентабельность и стабильность стратегии могут быть еще улучшены. Она подходит для инвесторов, желающих высокочастотную краткосрочную торговлю.
/*backtest start: 2022-09-19 00:00:00 end: 2023-09-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ strategy(title = "DEMA Strategy", shorttitle = "DEMA Strategy",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity) //@Moneros 2017 //Based on The DEMA is a fast-acting moving average that is more responsive to market changes than a traditional moving average // !!!! IN ORDER TO AVOID REPAITING ISSUES !!!! // !!!! DO NOT VIEW IN LOWER RESOLUTIONS THAN res/2 PARAMETER !!!! // for example res = 120 view >= 60m res = 60 view >= 30m // the length of the DEMA sampling shouldn't be longer than a candle // Best profits tested on BTCUSD //res = 105 slowPeriod = 2 fastPeriod = 32 //res = 125 slowPeriod = 3 fastPeriod = 21 //res = 120 slowPeriod = 2 fastPeriod = 32 //res = 130 slowPeriod = 1 fastPeriod = 24 //res = 40 slowPeriod = 4 fastPeriod = 93 //res = 60 slowPeriod = 1 fastPeriod = 67 fastPeriod = input(defval = 32, title = "DEMA FAST Period", minval = 2) slowPeriod = input(defval = 2, title = "DEMA SLOW Period", minval = 1) res = input(title="Resolution - not lower than chart", defval="120") demaFast = request.security(syminfo.tickerid, res, 2 * ta.ema(close, fastPeriod) - ta.ema(ta.ema(close, fastPeriod), fastPeriod) ) demaSlow = request.security(syminfo.tickerid,res, 2 * ta.ema(close, slowPeriod) - ta.ema(ta.ema(close, slowPeriod), slowPeriod) ) plot(demaFast,color=color.red) plot(demaSlow,color=color.lime) buy = ta.crossover(demaSlow, demaFast) sell = ta.crossunder(demaSlow, demaFast) // value [1] for avoid repaiting bottom bars bgcolor( buy[1] ? color.lime : na, transp=0) bgcolor( sell[1] ? color.red : na, transp=0) strategy.entry("BUY", strategy.long, 1, when = buy) strategy.entry("SELL", strategy.short, 1, when = sell )