Diese Strategie basiert auf Impulsindikatoren des Rectangle Channel und des Dual Moving Average, die ein relativ vollständiges Aktienhandelssystem implementieren. Die Strategie verwendet zunächst schnelle EMA und langsame EMA, um doppelte gleitende Durchschnittshandelssignale zu konstruieren.
Berechnen Sie die gleitenden Durchschnitte der schnellen EMA mit einer Periode von 5 Tagen und der langsamen EMA mit einer Periode von 50 Tagen.
Konvertieren Sie EMA in TEMA (Triple Exponential Moving Average) unter Verwendung der gewichteten Berechnungsmethode TEMA
Wenn der schnelle TEMA über den langsamen TEMA überschreitet, wird ein Kaufsignal generiert; wenn der schnelle TEMA unter den langsamen TEMA überschreitet, wird ein Verkaufssignal generiert.
Berechnen Sie die Preiskanalbreite, um Kanalbereiche zu bilden. Handelssignale werden nur berücksichtigt, wenn die Preise durch den Kanal durchbrechen. Dies kann falsche Signale filtern und den tatsächlichen Beginn eines Trends überprüfen.
Der SAR-Indikator bestimmt die allgemeine Trendrichtung und kann in Kombination mit den doppelten gleitenden Durchschnittshandelssignalen unnötige umgekehrte Operationen vermeiden.
Die Kombination aus doppeltem gleitendem Durchschnitt und Kanaldurchbruch kann den Beginn eines Trends effektiv identifizieren, Lärm filtern und Kauf- und Verkaufssignale genauer und zuverlässiger machen.
Die TEMA-Kurve ist empfindlicher als die EMA-Kurve und kann Preisänderungen schneller erfassen.
Die Kombination mehrerer Indikatoren kann einen Mechanismus zur Überprüfung zwischen den Indikatoren bilden, um die Einschränkungen eines einzelnen Indikators zu vermeiden und die Strategie umfassender und robuster zu gestalten.
Die Strategieparameter sind flexibel, EMA-Zyklen, Kanalbreiten usw. können entsprechend den Marktbedingungen angepasst und optimiert werden, um eine hohe Anpassungsfähigkeit zu gewährleisten.
Es besteht die Wahrscheinlichkeit, dass die Aktienkurse kurzfristig heftig schwanken, was leicht zu einem Stop-Loss führen kann.
Plötzliche Ereignisse können zu Preisunterschieden führen, die nicht zu den erwarteten Preisen gehandelt werden können.
Die doppelten gleitenden Durchschnittsquerschnitte können keine falschen Signale vollständig vermeiden, es gibt immer noch eine gewisse Fehleinschätzung.
Eine falsche Einstellung der Parameter kann zu übermäßig häufigen oder verzögerten Handelssignalen führen.
Mehr Indikatoren wie KD und MACD können zur Überprüfung kombiniert werden, um die Strategie umfassender und zuverlässiger zu machen.
Dynamische Zyklen können so eingestellt werden, dass die Parameter der EMA und des Kanals an den Grad der Marktvolatilität angepasst werden, wodurch die Strategie flexibler wird.
Maschinelle Lernmodelle können eingerichtet werden, um eine große Menge historischer Daten zu trainieren, um die Parameter-Einstellungen automatisch zu optimieren und manuelle Eingriffe zu reduzieren.
Textanalyse und Nachrichtenempfindungsbeurteilung können kombiniert werden, um unnötigen Handel zu vermeiden, wenn wichtige Nachrichten veröffentlicht werden.
Diese Strategie bildet Handelssignale durch einen schnellen, langsamen TEMA gleitenden Durchschnitts-Crossover und überprüft sie dann mit dem Preiskanal und dem SAR-Indikator, der den Beginn der Kursentwicklungen effektiv identifizieren und Kauf- und Verkaufsaktionen an angemessenen Positionen durchführen kann. Die Kombination mehrerer Indikatoren zur gegenseitigen Überprüfung kann die Zuverlässigkeit der Signale verbessern und ist eine relativ robuste und effiziente Aktienhandelsstrategie. Durch die kontinuierliche Optimierung der Parameter-Einstellungen, das Hinzufügen neuer Überprüfungsindikatoren usw. kann die Wirkung der Strategie weiter verbessert werden.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TEMA_System_SAR", overlay=true) //Collect inputs parameters fastEmaPeriod = input(5, minval=1, title="Fast TEMA Period") slowEmaPeriod = input(50, minval=1, title="Slow TEMA Periods") // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 4, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2010, title = "From Year", minval = 2000) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2000) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 09, 15) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 15, 30) // backtest finish window window() => true fastEma = ema(close, fastEmaPeriod) slowEma = ema(close, slowEmaPeriod) //convert EMA into TEMA ema1 = ema(close, fastEmaPeriod) ema2 = ema(ema1, fastEmaPeriod) ema3 = ema(ema2, fastEmaPeriod) fastTEMA = 3 * (ema1 - ema2) + ema3 // convert EMA into TEMA ema4 = ema(close, fastEmaPeriod) ema5 = ema(ema1, fastEmaPeriod) ema6 = ema(ema2, fastEmaPeriod) slowTEMA = 3 * (ema4 - ema5) + ema6 buy = close > fastTEMA sell = close < fastTEMA plot(fastTEMA, title = 'fast TEMA', linewidth=2, color=white) plot(slowTEMA, title = 'slow TEMA', linewidth=2, color=yellow) strategy.entry("long",strategy.long, when = window() and buy) strategy.entry("short", strategy.short, when = window() and sell)