
Die Strategie basiert auf einer Moving Average Crossover-Strategie, die auf dem Renko-Chart basiert. Sie verwendet den TEMA-Indikator, um ein Crossover-Signal zu erstellen, und filtert in Kombination mit dem langfristigen Mittelwert, um Trends auf dem Renko-Chart zu identifizieren und Kauf- und Verkaufssignale zu senden.
Die wichtigsten Signalquellen für diese Strategie sind die kurzfristigen TEMA-Indikatoren und die Goldfork-Deadlines der SMA-Indikatoren. Die spezifische Logik ist:
Wenn kurzfristige TEMA über kurzfristige SMA gehen, machen Sie mehr; wenn kurzfristige TEMA unter kurzfristige SMA gehen, machen Sie die Position gleich.
Zusätzlich gibt es zwei optional eingestellte Parameter avg_protection und gain_protection für die Regulierung der Einspiel- und Stopp-Logik:
Wenn avg_protection>0 ist, wird nur dann gekauft, wenn der Schlusskurs unter dem aktuellen Durchschnittspreis liegt, um die Kosten für die Position zu senken;
Bei gain_protection > 0 wird der Stop nur verkauft, wenn der Schlusskurs einen bestimmten Prozentsatz des Einstiegspreises überschreitet, wodurch der Gewinn gesperrt wird.
Schließlich verwendet die Strategie auch einen langfristigen SMMA-Indikator als Trendfilter. Mehrfaches Signal wird nur ausgesendet, wenn der Schlusskurs unter dem SMMA liegt.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Diese Risiken können durch entsprechende Anpassungen der Parameter und die Einstellung der Stop-Loss-Position vermieden werden.
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
Die Strategie insgesamt ist eine einfache, aber sehr praktische bewegliche Linear-Crossing-Strategie. Sie beruht hauptsächlich auf der hervorragenden Noise-Enthüllung der Renko K-Linien und der hohen Sensitivität der TEMA-Indikatoren. Die Kombination mit einer langfristigen Linie verstärkt jedoch auch ihre Fähigkeit, Trends zu folgen. Durch die Parameteranpassung und die richtige Optimierung kann die Strategie eine effektive Option für den Quantifizierungshandel sein.
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TEMA Cross", overlay = true)
tema(src, len) =>
3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)
smma(src, len) =>
sa = 0.0
sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
sa
temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)
plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")
minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1
avg_protection = input(1)
gain_protection = input(1)
longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)
strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))