Dynamische doppelt exponentielle Glättungs-Gleitmittel-Handelsstrategie


Erstellungsdatum: 2024-02-06 09:38:32 zuletzt geändert: 2024-02-06 09:38:32
Kopie: 0 Klicks: 577
1
konzentrieren Sie sich auf
1617
Anhänger

Dynamische doppelt exponentielle Glättungs-Gleitmittel-Handelsstrategie

Überblick

Die Strategie, die als “Double Exponential Moving Average” bezeichnet wird, basiert auf einer quantitativen Handelsstrategie, der “Double Exponential Moving Average” (DEMA). Die Strategie erzeugt ein Kauf- und Verkaufssignal basierend auf den “TSI-Werten” und deren “Gold- und Todesforken” der Signalzeile. Die Strategie berechnet die Preisänderungsrate der Aktie und berechnet dann ihre absoluten und nicht-absoluten Werte, um einen Index der wahren Stärke zu erhalten.

Strategieprinzip

Der Kernindikator der Strategie ist der TSI (True Strength Index). Die Berechnungsformel des TSI lautet:

TSI = 100 * (PC1 / PC2)

PC1 und PC2 sind die Doppel-Index-Gleichmittel der Preisänderungsrate und die Doppel-Index-Gleichmittel der absoluten Werte der Preisänderungsrate. Die Doppel-Index-Gleichmittel werden berechnet, indem der Preisänderungsrate zunächst ein Index-Gleichmittel für eine bestimmte Zeit angewendet wird und dann ein Index-Gleichmittel für eine andere, kürzere Zeit angewendet wird. Durch die Doppel-Gleichmäßigkeit kann die Zufälligkeit der Preisänderungsrate besser beseitigt werden, wodurch die Stabilität des TSI-Indikators erhöht wird.

Nach der Berechnung des TSI-Wertes berechnet die Strategie auch die Signallinie für den TSI-Wert. Die Signallinie wird als Index-Moving-Average für einen bestimmten Zeitraum des TSI-Wertes definiert. Beim tatsächlichen Handel beurteilt die Strategie die Markttrends und erzeugt Handelssignale, indem sie die Beziehung zwischen dem TSI-Wert und der Signallinie beobachtet.

Ein weiteres Merkmal der Strategie ist, dass die Handelsgröße dynamisch angepasst wird. Der Strategie-Code enthält eine Anfangskapital- und eine Risikoprenze-Ratio als Eingabeparameter. Diese beiden Parameter werden in Verbindung mit dem aktuellen Kurs der Aktie kombiniert, um die Anzahl der Geschäfte pro Transaktion oder die Risikoprenze dynamisch zu berechnen.

Analyse der Stärken

Eine dynamische Binäre Moving Average Trading Strategie bietet verschiedene Vorteile:

  1. Es verwendet den TSI-Wert, der eine doppelte Index-Gleichung anwendet, die es weniger empfindlich auf Marktlärm macht und ein genaueres Signal erzeugt.

  2. Es basiert auf dem bewährten Prinzip, dass die Kreuzung der Indikatoren und ihrer Signallinien ein Handelssignal erzeugt. Dies beseitigt viele falsche Signale.

  3. Die Strategie passt die Größe der Positionen an die Dynamik des Risikobudgets an. Dies hilft, Übertrieben und emotionale Operationen zu verhindern.

  4. Es ist für die tägliche und wöchentliche Zeitrahmen geeignet und eignet sich für Swing- und Positionshandel.

  5. Aufgrund seiner einfachen Eingabe-/Ausgabe-Logik ist es leicht in Robots und anderen Transaktionssystemen umzusetzen.

  6. Es gibt nicht so viele Parameter, die angepasst werden müssen, was die Optimierung des Systems einfach macht.

Diese Vorteile machen es zu einer leistungsfähigen und funktionsfähigen Handelsstrategie für Aktienhändler. Die sorgfältige Bearbeitung und Einstellung der Positionsgröße hilft bei der Verhinderung von Falschsignalen und großen Verlusten.

Risikoanalyse

Obwohl die Dynamische Binäre Index Moving Average Trading Strategie viele Vorteile hat, hat sie auch einige Risiken, wie bei den meisten Aktienstrategien:

  1. Da der TSI und die Signal-Line auf historischen Preisdaten basieren, besteht immer die Gefahr von falschen Signalen, insbesondere bei starker Marktvolatilität.

  2. Wenn der Markt um die Nulllinie des TSI-Indikators schwankt, kann es zu einem Rückschlag kommen. Dies kann zu Verlusten führen.

  3. Die Tendenz ist stark überschritten … wenn sie sich fortsetzt, könnte der TSI den Trend zu früh umkehren und damit Gewinne verpassen.

  4. Durch den Einsatz von Leverage kann es zu Verlusten kommen, die größer sind als die eingestellten Risikoparameter.

Diese Risiken können jedoch durch die Anwendung von Aspekten wie Positionsgröße, Stop-Loss und anderen Risikomanagementtechniken gemildert werden. Darüber hinaus können Parameter und Filter weiter optimiert werden, um die Performance unter verschiedenen Marktbedingungen zu maximieren.

Optimierungsrichtung

Einige Ideen, die diese Strategie optimieren könnten, sind:

  1. Verschiedene Kombinationen von Doppel-Gleichungsparametern werden getestet, um Kombinationen zu finden, die ein genaueres Handelssignal erzeugen. Die langen und kurzen Periodenparameter können angepasst werden, um sie zu optimieren.

  2. Filter basierend auf Volatilität, Volumen oder anderen Kennzahlen hinzufügen, um unnötige Handelssignale zu reduzieren. Dies kann die Handelsfrequenz reduzieren und gleichzeitig die Profitabilität pro Handel erhöhen.

  3. Erhöhung der Stop-Loss-Logik, z. B. beim Stoppen der TSI-Werte über die Null-Achse, um unnötige Verluste zu reduzieren.

  4. Bewertet die Performance verschiedener Handelsarten wie Indizes, Waren usw. unter der Strategie. Wählen Sie die am besten leistenden Varianten für den Konzentrationshandel.

  5. Die Handelsvarianten werden selektiv gefiltert. Zum Beispiel wird die Liquidität der Handelsvarianten, die Volatilitätsindikatoren bewertet und die Sorten ausgewählt, die in den Parameterindikatoren am höchsten rangieren.

  6. Wie man mit Hilfe von maschinellen Lernmethoden eine Forward-Analyse durchführt. Die optimale Parameterkombination auswählen. Dies kann die Voreingenommenheit der manuellen Auswahl reduzieren und bessere Parameter erhalten.

  7. Es werden mehrere Parameter-Sets verwendet, die je nach Marktsituation wechseln. Zum Beispiel können bei einem Bullenmarkt eine positivere Parameter-Kombination verwendet werden, während bei einem Bärenmarkt eine konservativere Kombination verwendet wird.

Durch die Prüfung und Optimierung der oben genannten Aspekte werden die Stabilität und die Rendite der Strategie weiter verbessert.

Zusammenfassen

Insgesamt basiert die Strategie auf der doppelten Indexglatteigenschaft des TSI-Indikators und bietet eine relativ stabile und zuverlässige Aktienhandelsstrategie. Durch die dynamische Anpassung der Positionsgröße kann das Gesamtrisiko effektiv kontrolliert werden. Die Strategie bietet gleichzeitig die Vorteile für den Handel mit kurzen und mittleren Längen.

Natürlich hat diese Strategie, wie die meisten Quantitative Trading-Strategien, ihre Grenzen, die sich hauptsächlich in der Anfälligkeit für starke Marktschwankungen manifestieren. Darüber hinaus müssen die Parameterwahl und die Filterbedingungen weiter getestet und optimiert werden, um in komplexen, wechselnden Märkten eine stärkere Anpassungsfähigkeit und Profitabilität zu erzielen.

Strategiequellcode
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shankardey7310

//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)

initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100

longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")

price = close
pc = ta.change(price)

double_smooth(src, long, short) =>
    first_smooth = ta.ema(src, long)
    ta.ema(first_smooth, short)

double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)

riskAmount = (initialCapital * riskPercent) / close

if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
    strategy.entry("Long", strategy.long)

if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
    strategy.close("Long")

plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)