Diese Strategie wird
Diese Strategie verwendet hauptsächlich die Verknüpfung von doppelt exponentiellen gleitenden Durchschnitten (DEMA) und dreifachen exponentiellen gleitenden Durchschnitten (TEMA) zur Erzeugung von Handelssignalen.
Die Formel für DEMA lautet:
DEMA = 2*EMA1 - EMA2
Hierbei handelt es sich bei EMA1 und EMA2 um exponentielle gleitende Durchschnitte mit Periode N. DEMA kombiniert die Glattigkeit von EMA und Reaktionsfähigkeit.
Die Formel für TEMA lautet:
TEMA = 3*(EMA1 - EMA2) + EMA3
Hierbei handelt es sich bei EMA1, EMA2 und EMA3 um exponentielle gleitende Durchschnitte mit Periode N. TEMA filtert durch dreifache Glättung gefälschte Ausbrüche aus.
Wenn DEMA über TEMA überschreitet, wird ein Kaufsignal erzeugt. Wenn DEMA unter TEMA überschreitet, wird ein Verkaufssignal erzeugt. Gemäß dem Crossover-Prinzip kann es die Zyklusumwandlung rechtzeitig erfassen.
Diese Strategie erzeugt Handelssignale aus dem DEMA- und TEMA-Crossover und kombiniert die Reaktionsfähigkeit von DEMA und die Filterfähigkeit von TEMA, um die Genauigkeit zu verbessern.
/*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)