Handelsstrategie für die Umkehrung der Doji-Candlestick

Schriftsteller:ChaoZhang, Datum: 2023-09-27 16:40:28
Tags:

Übersicht

Diese Strategie identifiziert Doji-Kerzenmuster und kombiniert SMA, um Umkehrungen für den Handel zu bestimmen. Sie erzeugt Handelssignale, wenn sich Doji-Muster bilden und die Öffnungs-/Schließpreise außerhalb der SMA-Linien befinden. Auf hängenden Mannlinien werden Bullish-Signale und auf Sternlinien bearish-Signale erzeugt.

Grundsätze

Die wichtigsten Grundsätze dieser Strategie sind:

  1. Identifizierung von Doji-Mustern durch Berechnung des Bereichs der Öffnungs-/Schließpreise gegenüber der Gesamtpreisbewegung.

  2. Überprüfung, ob die vorherige Schließung über/unter dem aktuellen Höchst-/Niedrigwert liegt, um falsche Signale zu vermeiden.

  3. Beurteilung der Öffnungs-/Schließpreise in Bezug auf SMA-Linien zur Erzeugung von Umkehrsignalen.

  4. Erzeugung von langen/kurzen Signalen, wenn qualifizierte Doji-Muster identifiziert werden.

Die wichtigsten Schritte des Kodex sind:

  1. Berechnung von SMA-Linien

  2. Durch Kerzen laufen, um Doji-Muster zu erkennen

  3. Überprüfung früherer naher und aktueller hoher/niedriger Beziehung

  4. Bestätigung von Umkehrsignalen basierend auf der Beziehung offen/nahe und SMA

  5. Graphierung von Signalmarkern und Ausgabe von langen/kurzen Signalen

Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Doji-Muster sind klar und leicht zu erkennen/umzusetzen.

  2. SMA-Filter helfen, falsche Signale zu reduzieren.

  3. Klarer Long/Short-Signal macht den Handel einfacher.

  4. Der Umkehrhandel erfasst kurzfristige Trends.

  5. Flexible Parameter können sich an unterschiedliche Marktbedingungen anpassen.

  6. Einfach zu verstehen und umzusetzen, für Anfänger freundlich.

Risiken

Einige mögliche Risiken:

  1. Vertrauen auf ein einziges Muster, anfällig für falsche Ausbrüche.

  2. Es gibt keinen Stop-Loss-Mechanismus zur Verlustkontrolle.

  3. Eine schlechte Einstellung der Parameter kann zu einem Überhandel führen.

  4. Trendabhängig, unterdurchschnittlich in Trendmärkten.

  5. Die Leistung hängt von der Optimierung der Parameter ab.

Lösungen:

  1. Fügen Sie weitere Filter hinzu, um die Signale zu bestätigen.

  2. Einführung von Stop-Loss zur Risikomanagement.

  3. Optimieren Sie die Parameter und begrenzen Sie die Handelsfrequenz.

  4. Hauptsächlich für die Marktreihen.

  5. Kontinuierliche Rückprüfung und Optimierung.

Verbesserungsbereiche

Einige Möglichkeiten zur Verbesserung der Strategie:

  1. Fügen Sie den Lautstärkungsfilter hinzu, um falsche Ausbrüche zu vermeiden.

  2. Implementieren Sie Stop-Loss-Mechanismen wie Trailing Stop-Loss.

  3. Optimieren von Parametern, die auf Marktbedingungen wie Trends basieren.

  4. Hinzufügen anderer Indikatoren zur Bestätigung von Signalen, wie MACD, KDJ usw.

  5. Hinzufügen der Trendbestimmung, um einen Gegentrendhandel zu vermeiden.

  6. Optimieren Sie die Rückblickzeit, um Häufigkeit und Qualität auszugleichen.

Zusammenfassung

Diese Strategie verwendet Doji-Muster mit SMA für effizienten Umkehrhandel. Sie hat Vorteile wie einfache Regeln und einfachen Handel. Aber auch Risiken und Verbesserungsbereiche. Mit kontinuierlicher Optimierung kann sie zu einem soliden kurzfristigen Handelssystem werden.

[/trans]


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

//@version=4
strategy("Doji Reversal", overlay=true)

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Mehr