
Diese Strategie wird als “Dual Exponential Moving Average and Triple Exponential Moving Average Crossover Strategy” bezeichnet. Die Strategie kombiniert die Kreuzung der DEMA- und TEMA-Signale, um den Einstieg durch DEMA und TEMA zu bestimmen.
Diese Strategie basiert hauptsächlich auf der Kreuzung von zwei- und dreiseitigen Moving Averages (DEMA) und drei- und dreiseitigen Moving Averages (TEMA), um ein Handelssignal zu erzeugen.
Die Berechnungsformel für den DEMA lautet:
DEMA = 2*EMA1 - EMA2
EMA1 und EMA2 sind Exponential Moving Averages mit einer Länge von N. DEMA kombiniert EMAs Schlankheit und Reaktionsgeschwindigkeit.
Die Berechnungsformel für einen dreifachen Moving Average (TEMA) lautet:
TEMA = 3*(EMA1 - EMA2) + EMA3
EMA1, EMA2 und EMA3 sind Exponential Moving Averages mit einer Länge von N. TEMA wird durch eine dreimalige Index-Gleichung gefiltert, die falsche Durchbrüche filtert.
Wenn DEMA über TEMA durchläuft, erzeugt es ein Kaufsignal; wenn DEMA unter TEMA durchläuft, erzeugt es ein Verkaufssignal. Nach dem Prinzip der doppelten Kurvenkreuzung kann die Zyklusumstellung erfasst werden, um rechtzeitig ein- und auszugehen.
Die Strategie kann die Handelsgenauigkeit durch die Kreuzung von zwei- und drei-dimensionalen Moving Averages in Kombination mit der Reaktionsgeschwindigkeit von DEMA und der Wellenwirkung von TEMA verbessern. Die Kombination eines einzelnen Indikators ist jedoch anfällig für Illusionen und benötigt die Unterstützung von mehreren Verifikationsinstrumenten, um ein systematisches Handelssystem zu bilden, das langfristig stabile Gewinne erzielt.
/*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)