Trendverfolgungsstrategie mit Kombination mehrerer Indikatoren


Erstellungsdatum: 2023-09-23 15:19:46 zuletzt geändert: 2023-09-23 15:19:46
Kopie: 2 Klicks: 656
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie beurteilt große Trends durch die Integration mehrerer Indikatoren und erzeugt Handelsentscheidungen auf Basis von gleichzeitigen Veränderungen der Signalkombination. Die Strategie kombiniert die Moving Average, den STOCH-Indikator und den MACD-Indikator zu einem umfassenderen und robusteren Trendverfolgungsmechanismus.

Strategieprinzip

Die Strategie basiert auf folgenden Indikatoren, um Trends zu bestimmen:

  1. Moving Average Speed: ein Trendindikator für die Geschwindigkeit, mit der sich die Preise ändern.

  2. Der STOCH-Indikator: Überkauf-Überverkaufszonen und Trendwende.

  3. Der MACD-Indikator: Die Differenz zwischen den beiden Mittellinien spiegelt die Trendänderung wider.

Die Regeln für den Handel sind wie folgt:

  1. Der Moving Average zeigt mehr Signale.

  2. Der STOCH-Indikator ist in die Überverkaufszone eingestiegen und gibt ein Aussichtssignal.

  3. Die MACD-Gehrlinie kreuzt sich, was ein positives Signal für die Währung darstellt.

  4. Wenn zwei beliebige Indikatorsignale synchronisiert werden, wird eine entsprechende Einstiegsentscheidung getroffen.

  5. Die Veränderung des Indizes ist ein Ausgleich.

Die Strategie berücksichtigt mehrere Faktoren des Trends und bildet ein stabiles Handelssystem mit einer starken Bestätigungskraft durch die Kombination von Signalfilter-Fälschungen.

Analyse der Stärken

Im Vergleich zu einzelnen Indikatoren hat diese Kombinationsstrategie folgende Vorteile:

  1. Das ist eine sehr gute Idee, aber es ist nicht einfach.

  2. Die Kombination von Wellen reduziert die Anzahl fehlerhafter Transaktionen.

  3. Der Trend- und Umkehrungsindikator bietet eine umfassende Perspektive.

  4. Das Signal wird mit einer starken Bestätigung der Richtung ausgestrahlt, um falsche Durchbrüche zu vermeiden.

  5. Die Regeln sind einfach, klar und einfach umzusetzen.

  6. Die Parameter sind flexibel und anpassungsfähig.

  7. Die Zeiträume sind unterschiedlich und der Einsatz ist breit angelegt.

  8. Einführung von Maschinell-Lern-Trainings-Werten.

  9. Insgesamt sind Stabilität und Profitabilität besser als einzelne Indikatoren.

Risikoanalyse

Obwohl diese Strategie zahlreiche Vorteile hat, müssen folgende Risiken berücksichtigt werden:

  1. Mehrfache Indikatoren erhöhen die Komplexität der Strategie.

  2. Die Optimierung der Parameter und die Einstellung der Gewichte sind schwieriger.

  3. Es kann zu widersprüchlichen Signalen zwischen verschiedenen Indikatoren kommen.

  4. Einige Indikatoren sind nachlässig, so dass Verluste nicht vollständig vermieden werden können.

  5. Einseitige Positionshalte sind unsicher, es gibt Glücksfaktoren.

  6. Die Kombination von Signalen beseitigt nicht die intrinsische Überwachung des Trendhandels.

  7. Hohe Transaktionsfrequenzen sind anfällig für Gebühren.

  8. Die Rücknahmequote der Einnahmen muss berücksichtigt werden.

Optimierungsrichtung

Aufgrund dieser Analyse kann diese Strategie verbessert werden:

  1. Beurteilung der Wirksamkeit verschiedener Indikatoren in verschiedenen Märkten.

  2. Erweiterung der Parameter-Stabilitätsprüfung, um eine Überoptimierung zu verhindern.

  3. Optimierung der Gewichte und Verringerung von Signalkonflikten.

  4. Setzen Sie einen Stop-Loss-Stopp, um schwere Verluste zu vermeiden.

  5. Die Einführung von Zeit-Exits zur Kontrolle der einseitigen und ziellosen Haltungen.

  6. Beurteilung der Auswirkungen der Häufigkeit der Transaktionen auf die Transaktionskosten.

  7. Einführung von Risikomarkenbindungen.

  8. Test für mehrere Märkte.

  9. Die Strategie muss kontinuierlich überprüft werden, um zu verhindern, dass sie veraltet wird.

Zusammenfassen

Diese Strategie bildet ein stabiles Kombinationssignalsystem, indem sie Trends durch integrierte Multiples von Indikatoren beurteilt. Jede Strategie muss jedoch ständig optimiert und weiterentwickelt werden, mit Blick auf Risikoindikatoren und zur Verhinderung von Überpassung. Quantifizierte Transaktionen sind ein ständiger Lern- und Iterationsprozess.

Strategiequellcode
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// By TradeStation
//@version=5

strategy("Mov Avg Speed Strategy", overlay=true)

src = input(close, title="Source")

// MA Speed  
avg_len = input.int(50, minval=1, title="Avg Length", group="MA Speed")
roc_len = input.int(1, minval=1, title="Rate of Change Length", group="MA Speed")
avg_roc_len = input.int(10, minval=1, title="Avg Rate of Change Length", group="MA Speed")

// Stochastic
stoch_len = input.int(14, minval=1, title="Stochastic Length", group="Stochastic")
smooth_k = input.int(3, minval=1, title="Stochastic Smooth K", group="Stochastic")
overbought = input.float(80, title="Stochastic Overbought", group="Stochastic")
oversold = input.float(20, title="Stochastic Oversold", group="Stochastic")

// MACD
fast_length = input(12, title="Fast Length", group="MACD")
slow_length = input(26, title="Slow Length", group="MACD")
macd_avg_length = input.int(9, title="MACD Avg Length",  minval=1, group="MACD")

// MA Speed
avg = ta.sma(src, avg_len)
roc = ta.roc(avg, roc_len)
avg_roc = ta.sma(roc, avg_roc_len)
avg_roc_signal = avg_roc > 0 ? 1 : avg_roc < 0 ? -1 : 0 

// Stochastic k
k = ta.sma(ta.stoch(close, high, low, stoch_len), smooth_k)
stochastic_signal = k <= oversold ? 1 : k >= overbought ? -1 : 0

// MACD
fast_ma = ta.ema(src, fast_length)
slow_ma = ta.ema(src, slow_length)
macd = fast_ma - slow_ma
macd_avg = ta.ema(macd, macd_avg_length)
macd_signal = macd_avg > macd_avg[1] ? 1 : macd_avg < macd_avg[1] ? -1 : 0

// set the signal couint
long_count = 0
short_count = 0

if macd_signal == 1
    long_count += 1

else if macd_signal == -1
    short_count += 1
 
if stochastic_signal == 1
    long_count += 1

else if stochastic_signal == -1
    short_count += 1
 
if avg_roc_signal == 1
    long_count += 1

else if avg_roc_signal == -1
    short_count += 1

if (long_count >= 2)
    strategy.entry("Long", strategy.long)

if (short_count >= 2)
    strategy.entry("Short", strategy.short)