Die Ressourcen sind geladen. Beförderung...

Strategie für dynamische Indizes der Händler

Schriftsteller:ChaoZhang, Datum: 2023-11-13 10:09:48
Tags:

img

Übersicht

Diese Strategie verwendet den Traders Dynamic Index (TDI) als den wichtigsten technischen Indikator, kombiniert mit gleitenden Durchschnitten über verschiedene Zeitrahmen hinweg, um Handelssignale zu generieren.

Strategie Logik

Die Strategie berechnet zunächst den RSI des Schließens mit einer Periode von 13. Dann berechnet sie den 34-Perioden-einfachen gleitenden Durchschnitt des RSI und verwendet 1,6185 mal die 34-Perioden-Standarddeviation des RSI als obere und untere Bands. Das obere Band ist der gleitende Durchschnitt plus der Versatz, und das untere Band ist der gleitende Durchschnitt minus der Versatz. Der gleitende Durchschnitt ist das mittlere Band.

Danach berechnet es den schnellen MA des RSI mit einer Periode von 2 und den langsamen MA des RSI mit einer Periode von 7. Es erhält dann historische Werte dieser Indikatoren aus einem höheren Zeitrahmen. Wenn der schnelle MA unter den langsamen MA überschreitet, wird ein Kaufsignal generiert. Wenn der schnelle MA über den langsamen MA überschreitet, wird ein Verkaufssignal generiert.

Analyse der Vorteile

Diese Strategie nutzt die durchschnittliche Umkehrcharakteristik des RSI und kombiniert Impulsindikatoren, um Umkehrhandel zu implementieren. Die oberen und unteren Bands des RSI spiegeln überkaufte und überverkaufte Bedingungen wider, während das mittlere Band das durchschnittliche Preisniveau widerspiegelt. Die Überschneidung der schnellen und langsamen MAs spiegelt die Impulsänderung und Umkehrmöglichkeiten wider. Insgesamt erfasst diese Strategie Umkehrpunkte genau mit idealer Drawdown-Kontrolle.

Die RSI-Bänder setzen angemessene Überkauf- und Überverkaufsschwellen, um Anomalien schnell zu erkennen. Das mittlere Band erfasst das Gleichgewichtspreisniveau. Die schnelle MA filtert kurzfristige Geräusche aus und die langsame MA bestimmt den mittelfristigen Trend. Gemeinsam können sie Umkehrmöglichkeiten effektiv identifizieren. Darüber hinaus ermöglicht die Kombination von Indikatoren über verschiedene Zeitrahmen hinweg die Bestätigung der Strategie über mehrere Zeithorizonte hinweg, wodurch das Risiko falscher Signale verringert wird.

Risikoanalyse

Diese Strategie basiert hauptsächlich auf der mittleren Umkehrung, die inhärente Zeitrisiken hat. Folgende Verluste können auftreten, wenn der Markt eine längere irrationale Expansion durchläuft, wie z. B. eine kurze Verringerung. Auch kann das Versäumnis, die schnellen und langsamen MAs richtig einzustellen, zu verpassten Umkehrmöglichkeiten oder falschen Signalen führen. Ein gewisses Maß an Parameteroptimierung ist erforderlich.

Um die oben genannten Risiken zu kontrollieren, ist es ratsam, die MA-Perioden angemessen anzupassen oder Stop-Loss-Mechanismen hinzuzufügen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Testen Sie RSI-Perioden unterschiedlicher Länge, um Einstellungen zu finden, die für die aktuellen Marktbedingungen besser geeignet sind.

  2. Optimieren Sie die Länge der schnellen und langsamen MAs, um die Rückwärtsbewegungen zu erfassen und Lärm zu filtern.

  3. Zusätzlich wird ein auf Volatilität basierender Stop-Loss hinzugefügt, um den maximalen Drawdown zu kontrollieren.

  4. Versuchen Sie, andere Faktoren wie Volumenänderungen in der Eingabelogik hinzuzufügen, um die Genauigkeit zu verbessern.

  5. Testen Sie die Wirkung der Wiederverwendung desselben Satzes von Handelssignalen über mehrere Zeitrahmen hinweg.

  6. Entwicklung adaptiver Optimierungsmechanismen für die dynamische Parameteranpassung.

Schlussfolgerung

Der Gesamtrahmen dieser RSI-Umkehrstrategie ist vernünftig mit einer klaren und interpretierbaren Logik. Sie hat anpassbaren Raum und Optimierungspotenzial. Mit einer angemessenen Parameter-Ausrichtung und Risikokontrolle ist ihre Fähigkeit, Umkehrungen zu erfassen, vielversprechend. Der nächste Schritt besteht darin, die Strategie durch mehr Backtesting und Parameteranpassung weiter zu optimieren, um ihre Robustheit und Rentabilität zu verbessern.


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("TDI - Traders Dynamic Index [Mehdi]", shorttitle="TDIMEHDI")

rsiPeriod = input(13, minval = 1, title = "RSI Period")
bandLength = input(34, minval = 1, title = "Band Length")
lengthrsipl = input(7, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input(2, minval = 1, title = "Slow MA on RSI")
p1 = input("15", title = "Signal Timeframe")

src = close                                                             // Source of Calculations (Close of Bar)

r = rsi(src, rsiPeriod)                                                 // RSI of Close
ma = sma(r, bandLength)                                                 // Moving Average of RSI [current]
offs = (1.6185 * stdev(r, bandLength))                                  // Offset
up = ma + offs                                                          // Upper Bands
dn = ma - offs                                                          // Lower Bands
mid = (up + dn) / 2                                                     // Average of Upper and Lower Bands
fastMA = sma(r, lengthrsipl)                                            // Moving Average of RSI 2 bars back
slowMA = sma(r, lengthtradesl)                                          // Moving Average of RSI 7 bars back

hline(20)                                                               // ExtremelyOversold
hline(30)                                                               // Oversold
hline(50)                                                               // Midline
hline(70)                                                               // Overbought
hline(80)                                                               // ExtremelyOverbought

up1 = request.security(syminfo.tickerid, p1, up)
dn1 = request.security(syminfo.tickerid, p1, dn)
mid1 = request.security(syminfo.tickerid, p1, mid)
slowMA1 = request.security(syminfo.tickerid, p1, slowMA)
fastMA1 = request.security(syminfo.tickerid, p1, fastMA)

plot(up1, "Upper Band", color = #3286c3, linewidth = 2)               // Upper Band
plot(dn1, "Lower Band", color = #3286c3, linewidth = 2)               // Lower Band
plot(mid1, "Middle of Bands", color = yellow, linewidth = 2)      // Middle of Bands
plot(slowMA1, "Slow MA", color=green, linewidth=2)                       // Plot Slow MA
plot(fastMA1, "Fast MA", color=red, linewidth=1)                         // Plot Fast MA

if (crossover(slowMA1, fastMA1))
    strategy.entry("Buy", strategy.long, comment="Buy")

if (crossunder(slowMA1, fastMA1))
    strategy.entry("Sell", strategy.short, comment="Sell")

Mehr