Langfristige Strategie des gleitenden Durchschnitts im Kreuzverlauf von Renko

Schriftsteller:ChaoZhang, Datum: 2024-01-24 10:55:57
Tags:

img

Übersicht

Diese Strategie ist eine gleitende Durchschnitts-Crossover-Strategie, die auf Renko-Candlestick-Charts basiert. Sie verwendet den TEMA-Indikator, um Crossover-Signale zu konstruieren und kombiniert langfristige gleitende Durchschnittswerte zum Filtern, mit dem Ziel, Trends auf Renko-Charts zu identifizieren und Kauf- und Verkaufssignale zu generieren.

Strategie Logik

Die wichtigste Signalquelle dieser Strategie stammt aus dem goldenen Kreuz und dem Todeskreuz des kurzfristigen TEMA-Indikators und des SMA-Indikators.

Wenn der kurzfristige TEMA den kurzfristigen SMA überschreitet, gehen Sie lang; wenn der kurzfristige TEMA den kurzfristigen SMA überschreitet, schließen Sie Positionen.

Darüber hinaus legt die Strategie auch zwei optionale Parameter avg_protection und gain_protection fest, um die Logik für den Einstieg und den Stop-Loss anzupassen:

  • Wenn avg_protection>0, nur dann kaufen, wenn der Schlusskurs unter dem aktuellen durchschnittlichen Haltepreis liegt, was die Kostenbasis verringern kann;

  • Wenn gain_protection>0, verkaufen Sie nur, wenn der Schlusskurs den Einstiegskurs um einen bestimmten Prozentsatz übersteigt, um Gewinne zu erzielen.

Schließlich verwendet die Strategie auch einen langfristigen SMMA-Indikator als Trendfilter. Nur wenn der Schlusskurs unterhalb des SMMA liegt, wird ein langes Signal ausgelöst.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Auf der Grundlage von Renko-Leuchterdiagrammen kann es Geräusche effektiv filtern und Trends identifizieren;
  2. Verwenden Sie den TEMA-Indikator, um Signale mit hoher Empfindlichkeit und Verfolgungsfähigkeit zu konstruieren.
  3. Die einstellbaren Parameter sind reichhaltig, um die Einstiegsstrategie zu steuern;
  4. Die Kombination von langfristigen und kurzfristigen gleitenden Durchschnitten kann Chancen in Trends erfassen.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Renko selbst hat eine ungleiche Zeitlinie, die Intervallzeiten nicht kontrollieren kann.
  2. Die hohe Empfindlichkeit von TEMA führt auch zu mehr falschen Signalen;
  3. Eine falsche Einstellung der Parameter kann zu fehlenden Trades führen.

Um diese Risiken zu mindern, können angemessene Parameter-Tuning, Einstellung von Stop-Verlusten usw. angewendet werden.

Optimierungsrichtlinien

Die wichtigsten Optimierungsrichtungen für diese Strategie sind:

  1. Versuche verschiedene Parameterkombinationen, um die optimalen Parameter zu finden;
  2. Hinzufügen von Stop-Loss-Strategien wie Trailing-Stop-Loss, Range-Stop-Loss usw., um DD zu reduzieren;
  3. Kombination anderer Indikatoren zur Signalfilterung zur Verringerung falscher Signale;
  4. Wirksamkeit der Prüfparameter für verschiedene Produkte.

Schlussfolgerung

Im Allgemeinen handelt es sich um eine grundlegende, einfache, aber sehr praktische gleitende Durchschnitts-Crossover-Strategie. Sie stützt sich hauptsächlich auf die ausgezeichnete Geräuschreduktionswirkung von Renko-Barren und die hohe Empfindlichkeit des TEMA-Indikators zur Erzeugung von Signalen. In der Zwischenzeit verbessert die Zusammenarbeit zwischen langfristigen und kurzfristigen gleitenden Durchschnitten auch ihre Trendverfolgungsfähigkeit. Mit Parameter-Tuning und richtiger Optimierung kann diese Strategie zu einer effektiven Wahl für den quantitativen Handel werden.


/*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))

Mehr