
Bei dieser Strategie handelt es sich um ein trendfolgendes Handelssystem, das auf dem Triple Exponential Moving Average (TEMA) basiert. Die Strategie erfasst Markttrends durch den Vergleich der Crossover-Signale des kurzfristigen und langfristigen TEMA und verwaltet Risiken durch die Kombination von Volatilitätsstopps. Die Strategie läuft in einem 5-Minuten-Zeitrahmen und verwendet die TEMA-Indikatoren mit 300 und 500 Perioden als Grundlage für die Signalgenerierung.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Bei dieser Strategie handelt es sich um ein vollständiges Trendverfolgungssystem, das Trends durch die Kreuzung des TEMA-Indikators erfasst und Risiken mit dynamischen Stop-Losses verwaltet. Die Strategie verfügt über eine klare Logik, ist einfach umzusetzen und gut in der Praxis anwendbar. Im realen Handel muss jedoch auf die Identifizierung des Marktumfelds und die Risikokontrolle geachtet werden. Es wird empfohlen, die Parameter entsprechend den tatsächlichen Marktbedingungen auf der Grundlage einer Backtesting-Verifizierung zu optimieren.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("TEMA Strategy for Gold", overlay=true)
// Inputs
tema_short_length = input.int(300, title="Short TEMA Length")
tema_long_length = input.int(500, title="Long TEMA Length")
pip_value = input.float(0.10, title="Pip Value (10 pips = 1 point for Gold)")
// Calculate TEMA
tema_short = ta.ema(2 * ta.ema(close, tema_short_length) - ta.ema(ta.ema(close, tema_short_length), tema_short_length), tema_short_length)
tema_long = ta.ema(2 * ta.ema(close, tema_long_length) - ta.ema(ta.ema(close, tema_long_length), tema_long_length), tema_long_length)
// Plot TEMA
plot(tema_short, color=color.blue, title="300 TEMA")
plot(tema_long, color=color.red, title="500 TEMA")
// Crossover conditions
long_condition = ta.crossover(tema_short, tema_long)
short_condition = ta.crossunder(tema_short, tema_long)
// Calculate recent swing high/low
swing_low = ta.lowest(low, 10)
swing_high = ta.highest(high, 10)
// Convert pips to price
pip_adjustment = pip_value * syminfo.mintick
// Long entry logic
if (long_condition and strategy.position_size == 0)
stop_loss_long = swing_low - pip_adjustment
strategy.entry("Long", strategy.long)
label.new(bar_index, swing_low, style=label.style_label_down, text="Buy", color=color.green)
// Short entry logic
if (short_condition and strategy.position_size == 0)
stop_loss_short = swing_high + pip_adjustment
strategy.entry("Short", strategy.short)
label.new(bar_index, swing_high, style=label.style_label_up, text="Sell", color=color.red)
// Exit logic
if (strategy.position_size > 0 and short_condition)
strategy.close("Long")
label.new(bar_index, high, style=label.style_label_up, text="Exit Long", color=color.red)
if (strategy.position_size < 0 and long_condition)
strategy.close("Short")
label.new(bar_index, low, style=label.style_label_down, text="Exit Short", color=color.green)