Trendfolgende Handelsstrategie für Energieindikatoren


Erstellungsdatum: 2023-11-15 17:36:46 zuletzt geändert: 2023-11-15 17:36:46
Kopie: 0 Klicks: 602
1
konzentrieren Sie sich auf
1621
Anhänger

Trendfolgende Handelsstrategie für Energieindikatoren

Überblick

Diese Strategie ist eine Trend-Tracking-Strategie, die auf dem Vitelot-Indikator Smeared Variable Channel Index (Smeared VCI) basiert. Die Strategie kombiniert die Trend-Ermittlung des Moving Averages mit der Überkauf-Überverkauf-Ermittlung des Variablen-Channel-Index, um die Haupttrend-Richtung des Preises zu erfassen.

Strategieprinzip

Die Strategie verwendet die Smeared VCI-Anzeige vonvitelot, um die Richtung des Trends zu bestimmen. Die Smeared VCI-Anzeige wird auf der Grundlage des Variablenkanalindex (VCI) geschmiedet. Sie besteht aus drei Parametern: schnelle EMA, langsame EMA und Schwungperiode.

Die Strategie beinhaltet zwei Bedingungen:

  1. Smeared VCI über Trigger-Leitung als Mehr-Signal; unter Trigger-Leitung als Leerzeichen

  2. Nur innerhalb des Rücklaufzeitfensters handeln

Wenn beide Bedingungen gleichzeitig erfüllt sind, wird ein Plus- oder ein Minus-Operation durchgeführt. Ein Minus-Operation wird durchgeführt, wenn die Ausgleichsbedingung zum Verlust oder zur Umkehrung des Signals kommt.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Trends werden mit Hilfe von Trend-Tracking-Indikatoren effektiv verfolgt.

  2. Hinzu kommt eine glatte Verarbeitung, um falsche Signale zu reduzieren.

  3. Zeitfenster-Retrospektive, mit der die Tests auf bestimmte Zeiträume bezogen werden können

  4. Setzen Sie einen Stop-Loss, um Risiken zu kontrollieren

  5. Mit Indikator-Parametern für die Mehrraum-Beurteilung, Regeln sind einfach und klar

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Trends können falsch beurteilt werden, was zu Verlusten führt.

  2. Unzureichende Einstellungen der Kennzahlen können zu schlechten Erträgen führen

  3. Eine zu kleine Stop-Loss-Einstellung kann zu einer kleinen Stop-Loss führen

  4. Unzumutbare Rücklaufzeiten können zu einer Abweichung der Testergebnisse führen

  5. Zu häufige Multi-Space-Schaltungen können zu Gebührendruck führen.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  1. Verschiedene Parameterkombinationen zu testen, um das Beste zu finden

  2. Erhöhung der Genauigkeit durch die Nutzung anderer Indikatoren als Hilfsmittel

  3. Optimierung von Stop-Loss-Algorithmen, um den Stop-Loss dynamisch zu verfolgen

  4. Optimierung der Positionseröffnungsbedingungen und Vermeidung häufiger Transaktionen

  5. Tests für eine längere Zeitfenster zur Überprüfung der Strategie-Stabilität

  6. In Kombination mit anderen Faktoren wie dem Umsatz erhöht sich die Entscheidungsgenauigkeit

Zusammenfassen

Diese Strategie ist insgesamt eine relativ einfache Trend-Tracking-Strategie. Sie nutzt die Smeared VCI-Indikatoren, um die Trendrichtung zu bestimmen und Positionen zu eröffnen, wenn der Indikator ein Handelssignal sendet. Das Risiko wird durch Stop-Loss kontrolliert.

Strategiequellcode
/*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)