Goldene Kreuz-Trend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2023-11-01 17:02:14
Tags:

img

Übersicht

Diese Strategie erzeugt Handelssignale basierend auf dem goldenen Kreuz von kurzfristigen und langfristigen gleitenden Durchschnitten, um Einstiegspunkte zu bestimmen, und setzt Stop-Loss-Punkte für Exit-Positionen fest.

Strategie Logik

Die Strategie verwendet hauptsächlich die Überschneidung von kurzfristigen und langfristigen gleitenden Durchschnitten, um die Marktentwicklung zu bestimmen.

  1. Berechnen Sie den 3-tägigen einfachen gleitenden Durchschnitt short_ma als den kurzfristigen gleitenden Durchschnitt.

  2. Berechnen Sie den 19-tägigen einfachen gleitenden Durchschnitt long_ma als den langfristigen gleitenden Durchschnitt.

  3. Wenn short_ma über long_ma kreuzt, wird ein langes Signal erzeugt.

  4. Wenn der Preis über den Einstiegspreis * (1 + Stop Loss %) steigt, schließen Sie alle Positionen.

  5. Wenn short_ma unter long_ma fällt, wird ein kurzes Signal erzeugt.

  6. Backtest innerhalb eines bestimmten Datumsbereichs, um die Laufzeit der Strategie zu begrenzen.

  7. Handel nur, wenn der gleitende 100-Tage-Durchschnitt trend_ma einen Aufwärtstrend anzeigt.

Die Strategie nutzt das goldene Kreuz der gleitenden Durchschnitte. Während eines anhaltenden Aufwärtstrends erzeugen sich lange Signale, wenn short_ma über long_ma überschreitet. Kurze Signale, wenn short_ma unter long_ma überschreitet, helfen, Risiken zu managen.

Analyse der Vorteile

Die Vorteile dieser Strategie:

  1. Einfache und leicht verständliche Logik, basierend auf gleitenden Durchschnitts-Kreuzungen.

  2. Klare Ein- und Ausstiegsregeln, die dem Trend folgen und Risiken verwalten.

  3. Stop-Loss, um Gewinne zu erzielen, wenn sich der Trend umkehrt.

  4. Handel nur, wenn der allgemeine Trend steigt, um falsche Signale zu vermeiden.

  5. Anpassungsfähige gleitende Durchschnittsperioden, die an verschiedene Märkte angepasst werden können.

  6. Ein Backtest über bestimmte Zeiträume ermöglicht eine Validierung.

Risikoanalyse

Die Risiken dieser Strategie:

  1. Empfindlich für Parameter-Tuning, verschiedene Einstellungen beeinflussen die Leistung.

  2. Kurve an historische Daten angepasst, bei Anomalien unwirksam.

  3. Unfähigkeit, mit Preislücken umzugehen, Risiken, die den Stop-Loss übersteigen.

  4. Anfällig dafür, in verschiedenen Märkten geschlagen zu werden.

  5. Funktioniert nur bei offensichtlichen Trendmärkten, nicht für Seiten.

  6. Die Auswahl der Backtestperiode beeinflusst die Ergebnisse.

Möglichkeiten zur Verbesserung

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Verschiedene Parametermengen testen, um optimale Werte zu finden.

  2. Einbeziehen Sie andere Indikatoren wie MACD, Bollinger Bands, um Entscheidungen zu verbessern.

  3. Verwenden Sie dynamische Trailing Stop Loss, um Risiken besser zu kontrollieren.

  4. Optimieren Sie Eintritts- und Ausstiegslogik, wie bei einem Ausbruch.

  5. Test der Robustheit unter unterschiedlichen Marktbedingungen.

  6. Erforschen Sie maschinelles Lernen für Parameter-Tuning und Signalgenerierung.

  7. Hinzu kommt die Handhabung von Preislücken und Stop-Loss-Whipsaw-Szenarien.

Schlussfolgerung

Diese einfache und effektive Strategie erfasst Aufwärtstrends mit gleitenden Durchschnittskreuzen und steuert das Risiko über einen Stop-Loss. Es funktioniert gut in starken Trending-Märkten, hat jedoch Einschränkungen. Für eine bessere Robustheit sind weitere Optimierungen und Tests erforderlich. Insgesamt hat sie eine klare Logik, ist leicht zu verstehen und umzusetzen, geeignet für Anfänger.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ta3MooChi
//@version=5
strategy("전략", overlay=true,process_orders_on_close = true, pyramiding = 100)

short_ma = ta.sma(close,input.int(3, "단기 이평", minval = 1))
long_ma = ta.sma(close, input.int(19,"장기 이평", minval = 1))

trend_ma = ta.sma(close, input.int(100," 추세 이평", minval = 20, group = "추세 이평"))
up_trend = (trend_ma > trend_ma[1])
use_trend_ma = input.bool(true, title = "추세용 이평 사용", group = "추세 이평" )
inTrendMa = not use_trend_ma or up_trend

useDateFilter = input.bool(true, title = "특정 기간 백테스트", group = "기간 백테스트")
backtestStartDate = input(timestamp("1 Jan 2021"), title = "시작날짜", group = "기간 백테스트")
backtestEndDate = input(timestamp("1 Jan 2022"), title = "종료날짜", group = "기간 백테스트")
inTradeWindow = true

longStopPerc = 1 + input.float(3, "최소수익률%", minval = 1)*0.01

longcondition = ta.crossover(short_ma, long_ma)
shortcondition = ta.crossunder(short_ma, long_ma)

if (longcondition) and inTradeWindow and inTrendMa
    strategy.entry("long", strategy.long)

if (shortcondition) and (close > strategy.position_avg_price*longStopPerc) and inTradeWindow
    strategy.close_all()

if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment = "매매 종료")

plot(short_ma,color = color.yellow)
plot(long_ma,color = color.blue)
plot(trend_ma,color = color.gray)
    



Mehr