Trend nach der Handelsstrategie für Energieindikatoren

Schriftsteller:ChaoZhang, Datum: 2023-11-15 17:36:46
Tags:

img

Übersicht

Diese Strategie ist eine Trend-Folge-Strategie, die auf der Grundlage des Smeared Variability Channel Index (Smeared VCI) -Indikators per vitelot gehandelt wird. Sie kombiniert das Trendurteil von gleitenden Durchschnitten und das Überkauft/Überverkauft-Urteil von VCI, um die Haupttrendrichtung der Preise zu erfassen. Wenn die Preise in den überkauften oder überverkauften Status geraten, werden umgekehrte Operationen zum Gewinn genommen.

Strategie Logik

Die Strategie verwendet den Vitelots Smeared VCI-Indikator, um die Trendrichtung zu bestimmen. Der Smeared VCI-Indikator ist ein glätteter VCI (Variability Channel Index). Er besteht aus drei Parametern: schneller EMA, langsamer EMA und Glättungszeit. Wenn der schnelle EMA über der langsamen EMA liegt, ist er bullisch, andernfalls ist er bärisch.

In der Strategie sind zwei Bedingungen festgelegt:

  1. Ein verschmiertes VCI über der Triggerlinie ist ein langes Signal und ein unteres ist ein kurzes Signal.

  2. Handel nur innerhalb des Zeitfensters der Rückprüfung.

Wenn beide Bedingungen erfüllt sind, wird eine Long- oder eine Short-Position eingenommen.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Mit Hilfe eines Trend-Folge-Indikators kann er Trends effektiv verfolgen.

  2. Der Glättungsprozess verringert die falschen Signale.

  3. Backtesting innerhalb eines Zeitfensters konzentriert sich auf einen bestimmten Zeitraum.

  4. Stop-Loss-Set kontrolliert das Risiko.

  5. Durch die Verwendung von Indikatorparametern für die Entscheidung zwischen Long/Short werden die Regeln einfach und klar.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die Beurteilung des Trends kann falsch sein und zu Verlusten führen.

  2. Eine unsachgemäße Einstellung der Indikatorparameter kann zu einer schlechten Rentabilität führen.

  3. Eine zu geringe Stop-Loss-Einstellung kann dazu führen, dass Sie schnell gestoppt werden.

  4. Eine falsche Zeitfenster für Backtests kann zu fehlerhaften Testergebnissen führen.

  5. Eine zu häufige lange/kurze Umschaltung kann zu Kommissionsdruck führen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Versuche verschiedene Parameterkombinationen, um die optimalen Parameter zu finden.

  2. Verwenden Sie andere Indikatoren zur Bestätigung, um die Genauigkeit zu verbessern.

  3. Optimieren Sie den Stop-Loss-Algorithmus, um einen dynamischen Trailing-Stop-Loss zu erzielen.

  4. Optimieren Sie die Einstiegsbedingungen, um Überhandelungen zu vermeiden.

  5. Testen Sie längere Zeitfenster, um die Stabilität zu überprüfen.

  6. Einbeziehen Sie andere Faktoren wie Volumen, um die Entscheidungsgenauigkeit zu verbessern.

Zusammenfassung

Zusammenfassend ist dies eine relativ einfache Trendfolging-Strategie. Sie verwendet den Smeared VCI-Indikator, um die Trendrichtung und offene Positionen zu bestimmen, wenn Handelssignale generiert werden. Das Risiko wird durch Stop-Loss kontrolliert. Die Strategie hat Trendfolging-Fähigkeit, hat aber auch einige Risiken. Weitere Verbesserungen können durch Parameteroptimierung, Stop-Loss-Optimierung und Hinzufügen von Bestätigungsbedingungen vorgenommen werden, um es zu einem stabilen und zuverlässigen Handelssystem zu machen.


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

//@version=3
strategy("Smeared VCI Backtest", overlay=false, shorttitle="SVCI Backtest", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5)
// Smeared Variability Channel Index
//    a variation of the VCI indicator of the same author.
// The orange line over the lime line is bullish;
// The lime line over the orange one is bearish.
//
// vitelot/yanez/Vts
// Feb 2019
//
src = close

ep1 = input(5, minval=1, title="Fast EMA period")
ep2 = input(13, minval=2, title="Slow EMA period")

sm = input(34, minval=1, title="Smearing period")
tp = input(13, minval=1, title="Trigger line period")

fixedSL = input(title="SL Activation", defval=300)
trailSL = input(title="SL Trigger", defval=1)
fixedTP = input(title="TP Activation", defval=150)
trailTP = input(title="TP Trigger", defval=1)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 6, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 19, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2030, title = "To Year", minval = 2017)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
startTimeOk()  => time >= start and time <= finish ? true : false // create function "within window of time" if statement true

atrP = 96

e1 = ema(src,ep1)
e2 = ema(src,ep2)

vci = (e1-e2)/atr(atrP)

svci = sma(vci,sm)
t = sma(svci,tp)

plot(svci, color=lime, linewidth=3, transp=0, title="Smeared VCI")
plot(t, color=orange, linewidth=3, transp=0, title="Trigger line")

hline(0, title="Reference line")

long = crossover(svci,t)
short = crossover(t,svci)

// === STRATEGY - LONG POSITION EXECUTION ===
strategy.entry("Long", strategy.long, when= long and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) 
strategy.exit("Exit", when= short)
// === STRATEGY - SHORT POSITION EXECUTION ===
strategy.entry("Short", strategy.short, when= short and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP)
strategy.exit("Exit", when= long)

Mehr