Supertrend BarUpDn Fusionsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-31 14:43:06
Tags:

img

Übersicht

Die Supertrend BarUpDn Fusion-Strategie ist eine Strategie, die den Supertrend-Indikator und den BarUpDn-Indikator zusammenführt.

Strategieprinzip

Die Strategie setzt hauptsächlich auf zwei Indikatoren:

  1. Supertrend-Indikator: Dieser Indikator bestimmt die Trendrichtung basierend auf dem Durchschnittlichen Wahren Bereich und einem Faktor.

  2. BarUpDn-Indikator: Dieser Indikator beurteilt, ob die aktuelle Bar eine Bullish-Bar (schließen höher als offen) oder eine Bearish-Bar (öffnen höher als schließen) ist.

Die Hauptlogik der Strategie lautet:

  1. Gehen Sie lang, wenn Supertrend lang ist und BarUpDn bullisch ist.

  2. Gehen Sie kurz, wenn Supertrend kurz und BarUpDn bärisch ist.

  3. Schließen Sie Positionen rechtzeitig, wenn der Supertrend seine Richtung ändert.

Durch diese Fusion kann die Strategie sowohl die Trendbeurteilungsfähigkeit von Supertrend als auch die kurzfristige Beurteilungsfähigkeit von BarUpDn nutzen, um bessere Eintrittszeiten zu erzielen.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Verbesserte Genauigkeit durch Verschmelzung mehrerer Indikatoren. Die Nutzung sowohl der Trendbeurteilung von Supertrend als auch der kurzfristigen Beurteilung von BarUpDn kann die Genauigkeit der Eingangszeit verbessern.

  2. Schnelle Verluste zu reduzieren, wenn der Hauptindikator Supertrend seine Richtung ändert, kann Verluste vermeiden.

  3. Die Strategie verwendet nur eine Kombination aus zwei gemeinsamen Indikatoren, was sie sehr einfach und einfach zu bedienen macht.

  4. Supertrend selbst hat anpassbare Parameter, um sich an verschiedene Produkte und Zeitrahmen anzupassen.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Eine falsche Beurteilung einer falschen Fusion kann zu Fehleinschätzungen führen.

  2. Eine unsachgemäße Einstellung der Parameter beeinträchtigt die Leistung. Die ATR-Längen und -Faktoren der Supertrends müssen für verschiedene Produkte angepasst werden.

  3. Kurzfristige Umkehrungen können zu geringfügigen Verlusten führen.

Optimierungsrichtlinien

Die Strategie kann aus folgenden Gesichtspunkten optimiert werden:

  1. Sie können auch Stop-Loss-Strategien wie bewegliche Stop-Loss, Zeit-Stop-Loss, Breakout-Stop-Loss usw. hinzufügen, um Risiken weiter zu kontrollieren.

  2. Optimieren von Parametern von Supertrend, um die besten Parameterkombinationen für verschiedene Produkte und Zeitrahmen zu finden, z. B. über maschinelles Lernen.

  3. Hinzufügen von mehr Indikatorenfusion, um einen Abstimmungsmechanismus aufzubauen und die Stabilität der Beurteilung zu verbessern.

  4. Einbeziehen Sie mehr Marktfaktoren wie Volumenänderungen, Spreadänderungen usw., um die Signalzuverlässigkeit zu beurteilen und irreführende Signale zu filtern.

Zusammenfassung

Die Supertrend BarUpDn Fusion Strategy verbindet Trendbeurteilung und kurzfristige Beurteilung, indem sie einfache Indikatoren kombiniert, die Eingangszeitgenauigkeit verbessert und gleichzeitig Einfachheit und Benutzerfreundlichkeit beibehält.


/*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=5
strategy("Supertrend and BarUpDn Indicator Fusion", overlay=true)

// Supertrend indicator
atrLength = input(10, title="ATR Length")
factor = input(3.0, title="Factor")
[supertrend, direction] = ta.supertrend(factor, atrLength)
lastBar = 0

// BarUpDn indicator
barUpDn = close > open and open > close[1] ? 1 : close < open and open < close[1] ? -1 : 0

if (barUpDn == 1)
    lastBar := 1
else if barUpDn == -1
    lastBar := -1


// Determine long or short position
longCondition = (direction > 0 and barUpDn > 0) or (direction > 0 and lastBar == 1)
shortCondition = (direction < 0 and barUpDn < 0) or (direction < 0 and lastBar == -1)

// Enter long or short position
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastBar := 1
else if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastBar := -1

if (direction < 0 and barUpDn > 0)
    strategy.entry("Long", strategy.long)

// Exit long or short position
if (direction > 0 and barUpDn < 0)
    strategy.entry("Short", strategy.short)

// Exit long or short position
// if (direction < 0 and barUpDn > 0 or direction > 0 and barUpDn < 0)
//   strategy.close_all()


Mehr