Die doppelte gleitende Durchschnitts-Trendfollowing-Strategie berechnet die doppelten exponentiellen gleitenden Durchschnittswerte des Preises, um schnelle und langsame Linien zu bilden.
Die Strategie berechnet zunächst die doppelten exponentiellen gleitenden Durchschnitte des Preises, einschließlich der schnellen und langsamen Linien. Die schnelle Linie hat eine Periode von 4 und die langsame Linie hat eine Periode von 8. Handelssignale werden erzeugt, wenn sich die beiden Linien kreuzen. Wenn die schnelle Linie über die langsame Linie kreuzt, wird ein Kaufsignal erzeugt. Wenn die schnelle Linie unter die langsame Linie kreuzt, wird ein Verkaufssignal ausgelöst. Darüber hinaus berechnet die Strategie auch den MACD-Indikator, um zusätzliche Handelssignale zu liefern. Divergierende rote MACD-Bars sind Verkaufssignale, während konvergierende grüne Bars Kaufsignale sind.
Zunächst handelt diese Strategie entlang des Preistrends, um Transaktionskosten zu vermeiden. Zweitens filtern die doppelten gleitenden Durchschnitte einige Preisgeräusche aus und erfassen den Preistrend reibungslos. Außerdem macht die flexible Parameteroptimierung der gleitenden Durchschnitte und des MACD die Strategie an unterschiedliche Produkte und Umgebungen anpassbar. Schließlich macht die einfache und klare Logik diese Strategie leicht zu verstehen und umzusetzen, geeignet für quantitative Handelsalgorithmen.
Die Strategie ist stark auf Parameteroptimierung angewiesen. Falsche Parameter-Einstellungen können viele falsche Signale erzeugen. Darüber hinaus kann die Verzögerung der doppelten gleitenden Durchschnitte zu verpassten Wendepunkten führen. Trend folgende Strategien neigen auch dazu, Aufwärtstrends zu jagen und Abwärtstrends zu töten, was bestimmte Risiken birgt. Darüber hinaus werden die Liquidität der Handelsprodukte und Transaktionskosten auch die Rentabilität der Strategie beeinflussen. Um Risiken zu mindern, können Parameter optimiert, zusätzliche Filter hinzugefügt und die Positionsgröße gesteuert werden.
Die folgenden Aspekte der Strategie können verbessert werden:
Optimieren Sie die Perioden der beiden gleitenden Durchschnitte, um die optimale Kombination zu finden.
Hinzu kommen andere Indikatoren wie RSI und KD, um Signale zu filtern und die Qualität zu verbessern.
Einbeziehen Sie Stop-Loss-Strategien, um bei Trendumkehrungen aus den Trades auszusteigen.
Dynamische Anpassung der Positionsgröße an die Marktbedingungen zur Risikokontrolle.
Optimierung der Parameter für verschiedene Handelsprodukte.
Verbesserte Strategien wie maschinelles Lernen einbinden, um die Leistung zu verbessern.
Zusammenfassend ist dies eine einfache doppelte gleitende Durchschnittstrend-Nachstrategie. Die Strategie-Logik ist einfach und einfach umzusetzen. Die flexible Parameter-Ausrichtung macht sie als einführende quantitative Handelsstrategie geeignet. Allerdings müssen die Risiken des Verfolgens von Trends und Signalverzögerungen durch weitere Verbesserungen zur Verbesserung der Stabilität und Risikokontrolle angegangen werden. Insgesamt bietet diese Strategie eine große Lernmöglichkeit für Anfänger und schafft eine Grundlage für fortgeschrittene Strategien.
/*backtest start: 2023-10-14 00:00:00 end: 2023-11-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/11/2017 // The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by // William Blau, except the SMI includes a signal line. The SMI uses double moving averages // of price minus previous price over 2 time frames. The signal line, which is an EMA of the // SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine // tune these signals. The user may change the input (close), method (EMA), period lengths // and guide values. // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // WARNING: // - For purpose educate only //////////////////////////////////////////////////////////// strategy(title="SMI Ergodic Oscillator") fastPeriod = input(4, minval=1) slowPeriod = input(8, minval=1) SmthLen = input(3, minval=1) TopBand = input(0.5, step=0.1) LowBand = input(-0.5, step=0.1) reverse = input(false, title="Trade reverse") // hline(0, color=gray, linestyle=dashed) // hline(TopBand, color=red, linestyle=line) // hline(LowBand, color=green, linestyle=line) xPrice = close xPrice1 = xPrice - xPrice[1] xPrice2 = abs(xPrice - xPrice[1]) xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod) xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod) xSMI = xSMA_R / xSMA_aR xEMA_SMI = ema(xSMI, SmthLen) pos = iff(xEMA_SMI < xSMI, -1, iff(xEMA_SMI > xSMI, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xSMI, color=green, title="Ergotic SMI") plot(xEMA_SMI, color=red, title="SigLin")