Die Strategie verwendet eine Kombination aus drei verschiedenen Arten von Moving Averages, TEMA, DEMA und HMA, um bei Gold-/Dead-Fork-Signalen der mittelfristigen Mittelwerte TEMA und DEMA einzutreten und die langfristigen Mittelwerte HMA zu nutzen, um die Richtung des Trends zu bestimmen und die Gegenhandelssignale zu filtern.
Die Strategie nutzt den Doppelindex-Moving Average DEMA zur Ermittlung des mittleren Trends, den Dreiindex-Moving Average TEMA zur Ermittlung des kurzfristigen Trends und den densiven Moving Average HMA zur Ermittlung des langfristigen Trends. Ein Handelssignal wird nur erzeugt, wenn der kurze mittlere Zeitraum in der gleichen Richtung startet (TEMA und DEMA sind in derselben Richtung gebrochen) und der langfristige Haupttrend auch in derselben Richtung ist (HMA ist in derselben Richtung gebrochen).
Risikomanagement kann durch Tests mit mehreren Parametern erfolgen, um die optimale Kombination von Parametern zu finden, eine Stop-Loss-Strategie einzuführen und die Eintrittsbedingungen angemessen zu lockern.
Diese Strategie nutzt mehrere Gleichgewichtsindikatoren, um Trends zu bestimmen. Der Vorteil ist, dass die Signalerzeugung klar und konfigurierbar ist. Der Nachteil ist das Vorhandensein von Verzögerungsrisiken und der Abhängigkeit von mehreren Parametern.
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tuned-com
//@version=4
strategy("TEMA/DEMA/HMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000000, commission_type=strategy.commission.percent, commission_value=0.1)
Tlength = input(8, title="TEMA Length", minval=1)
Dlength = input(43, title="DEMA Length", minval=1)
Hlength = input(52, title="Hull Length", minval=1)
Rlength = input(2, title="Hull Trend Test Length", minval=1)
//TEMA//
ema1 = ema(close, Tlength)
ema2 = ema(ema1, Tlength)
ema3 = ema(ema2, Tlength)
tema = 3 * (ema1 - ema2) + ema3
//DEMA//
e1 = ema(close, Dlength)
e2 = ema(e1, Dlength)
dema = 2 * e1 - e2
//HMA//
hma = wma(2 * wma(close, Hlength / 2) - wma(close, Hlength), round(sqrt(Hlength)))
up = crossunder(dema, tema) and rising(hma, Rlength)
down = crossover(dema, tema) and falling(hma, Rlength)
downc = crossunder(dema, tema)
upc = crossover(dema, tema)
plot(dema, color=color.green, linewidth=2)
plot(tema, color=color.aqua, linewidth=2)
plot(hma, color=rising(hma, Rlength) ? color.green : na, linewidth=2, transp=0)
plot(hma, color=falling(hma, Rlength) ? color.red : na, linewidth=2, transp=0)
bgcolor(rising(hma, Rlength) ? color.green : na, transp=70)
bgcolor(falling(hma, Rlength) ? color.red : na, transp=70)
plotarrow(tema - dema, colorup=color.green, colordown=color.red, transp=70)
if up
strategy.entry("Long Entry", strategy.long)
if down
strategy.entry("Short Entry", strategy.short)