Эта стратегия называется
Эта стратегия в основном использует перекресток двойной экспоненциальной скользящей средней (DEMA) и тройной экспоненциальной скользящей средней (TEMA) для генерации торговых сигналов.
Формула DEMA:
DEMA = 2*EMA1 - EMA2
где EMA1 и EMA2 представляют собой экспоненциальные скользящие средние с периодом N. DEMA сочетает в себе плавность EMA и быстродействие.
Формула TEMA:
TEMA = 3*(EMA1 - EMA2) + EMA3
где EMA1, EMA2 и EMA3 представляют собой экспоненциальные скользящие средние с периодом N. TEMA отфильтровывает фальшивые прорывы путем тройного сглаживания.
Когда DEMA пересекает над TEMA, генерируется сигнал покупки. Когда DEMA пересекает ниже TEMA, генерируется сигнал продажи. Согласно принципу перекрестки, он может своевременно улавливать конверсию цикла.
Эта стратегия генерирует торговые сигналы из кроссовера DEMA и TEMA, сочетая реактивность DEMA и способность фильтрации TEMA для улучшения точности.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true) // Input options for Double EMA (DEMA) dema_length = input.int(10, title="DEMA Length", minval=1) dema_src = input(close, title="DEMA Source") // Calculate Double EMA (DEMA) dema_e1 = ta.ema(dema_src, dema_length) dema_e2 = ta.ema(dema_e1, dema_length) dema = 2 * dema_e1 - dema_e2 // Input options for Triple EMA (TEMA) tema_length = input.int(8, title="TEMA Length", minval=1) tema_src = input(close, title="TEMA Source") // Calculate Triple EMA (TEMA) tema_ema1 = ta.ema(tema_src, tema_length) tema_ema2 = ta.ema(tema_ema1, tema_length) tema_ema3 = ta.ema(tema_ema2, tema_length) tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3 // Crossover signals for long (small green arrow below candle) crossover_long = ta.crossover(dema, tema) // Crossunder signals for short (small red arrow above candle) crossunder_short = ta.crossunder(dema, tema) plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plot(dema, "DEMA", color=color.green) plot(tema, "TEMA", color=color.blue) if (crossover_long) strategy.entry("Long", strategy.long) if (crossunder_short) strategy.entry("Short", strategy.short)