Die Kernidee dieser Strategie besteht darin, das goldene Kreuz und das Todeskreuz der schnellen und langsamen gleitenden Durchschnittslinien zu verwenden, um den Markttrend zu beurteilen und einen risikoarmen Handel zu implementieren. Wenn die schnelle gleitende Durchschnittslinie über die langsame gleitende Durchschnittslinie kreuzt, bedeutet dies, dass der Markt einen Aufwärtstrend betreten kann, also gehen Sie lang; wenn die schnelle gleitende Durchschnittslinie unter die langsame gleitende Durchschnittslinie kreuzt, bedeutet dies, dass der Markt einen Abwärtstrend betreten kann, also gehen Sie kurz.
Der gleitende Durchschnitt ist ein Trendindikator, der die Preisdaten glättet, um die Preisentwicklung zu beurteilen. Der schnelle gleitende Durchschnitt hat einen kleineren Parameter und kann schneller auf Preisänderungen reagieren; der langsame gleitende Durchschnitt hat einen größeren Parameter und reagiert langsamer auf Preisänderungen. Wenn der schnelle gleitende Durchschnitt über den langsamen gleitenden Durchschnitt überschreitet, zeigt er an, dass der Markt einen Bullenmarkt betreten könnte und eine Long-Position eingerichtet werden sollte; wenn der schnelle gleitende Durchschnitt unter dem langsamen gleitenden Durchschnitt überschreitet, zeigt er an, dass der Markt einen Bärenmarkt betreten könnte und eine Short-Position eingerichtet werden sollte.
Diese Strategie definiert zwei exponentielle gleitende Durchschnitte mit Perioden von 21 bzw. 55 für den schnellen und langsamen gleitenden Durchschnitt. Die Strategie bestimmt Ein- und Ausstieg basierend auf dem goldenen Kreuz und dem Todeskreuz der beiden gleitenden Durchschnittslinien.
Darüber hinaus verwendet diese Strategie auch den ATR-Volatilitätsindikator, um Stop-Loss und Take-Profit festzulegen. ATR kann den Grad der Marktvolatilität effektiv beurteilen. Der Stop-Loss wird auf das 1,5-fache der ATR-Distanz vom Preis festgelegt; der Take-Profit wird nahe dem 1-fachen der ATR-Distanz vom Preis festgelegt.
Diese Strategie hat folgende Vorteile:
Diese Strategie birgt auch einige Risiken:
Um den oben genannten Risiken entgegenzuwirken, können wir die folgenden Aspekte optimieren:
Diese Strategie kann in folgenden Bereichen weiter optimiert werden:
Verwenden Sie maschinelle Lernmethoden, um gleitende Durchschnittsparameter automatisch zu optimieren, um eine bessere Anpassungsfähigkeit zu erzielen.
Fügen Sie Fundamentaldaten als Filterbedingungen hinzu, um zu vermeiden, dass Sie bei großen negativen Nachrichten, wie z. B. Zinsentscheidungen der Fed und wichtigen Makrodatenveröffentlichungen, blind lang oder kurz gehen.
Setzen Sie obere und untere Grenzen für Volatilität, halten Sie den Handel an, wenn der ATR zu hoch oder zu niedrig wird, um Verluste in extremen Marktumgebungen zu vermeiden.
Einbeziehen von Aktienfundamentalen wie P / E-Ratio und Handelsvolumen Expansion, um dynamische Stop-Loss und Gewinnbereiche zu setzen.
Hinzu kommen Positionsgrößenmechanismen, die Positionen schrittweise reduzieren, wenn die Gewinnquote ein bestimmtes Niveau erreicht, den Handel für einen Zeitraum aussetzen, wenn relativ große Verluste entstehen usw.
Die allgemeine Logik dieser Strategie ist klar und einfach, wobei doppelte gleitende Durchschnittsquerschnitte zur Bestimmung von Markttrends verwendet werden, eine typische Trendstrategie. Inzwischen kontrolliert die Strategie auch die Risiken sehr gut, indem sie den ATR-Indikator verwendet, um den Stop-Loss dynamisch festzulegen und Gewinn zu erzielen. Mit weiterer Optimierung kann die Strategie in Bezug auf Drawdown-Kontrolle und Trendfahrt verbessert werden, was zu einer stabileren Anlageleistung führt.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="No-Nonsense Strategy Template [WM]", overlay = true) price = close // // ATR stuff // atrLength = input(14, "ATR Length") slMultiplier = input(1.5, "SL") tpMultiplier = input(1, "TP1") atr = atr(atrLength) // // Strategy under test. MA crossover // fastInput = input(21) slowInput = input(55) fast = ema(price, fastInput) slow = ema(price, slowInput) plot(fast, color = red) plot(slow, color = blue) goLong = crossover(fast, slow) goShort = crossunder(fast, slow) if (goLong) sl = price - atr * slMultiplier tp = price + atr * tpMultiplier strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop = sl, limit = tp) if (goShort) sl = price + atr * slMultiplier tp = price - atr * tpMultiplier strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop = sl, limit = tp)