Doppelbestätigung Donchian Channel Trendstrategie

Schriftsteller:ChaoZhang, Datum: 22.12.2023 10:55:06 Uhr
Tags:

img

Übersicht

Diese Strategie basiert auf dem Standard-Donchian Channel-Indikator und wartet bis zu zwei aufeinander folgenden höheren Höchstständen (oder niedrigeren Tiefständen) standardmäßig auf eine Bestätigung, bevor es Handelssignale ausgibt, um zu vermeiden, dass Market Maker Fakeouts sie herauswerfen.

Die Strategie bietet auch die Möglichkeit, den Dual-Confirmation-Mechanismus zu deaktivieren, so dass es sofort Handelssignale ausstellen kann, wenn neue Höchst- oder Tiefststände festgestellt werden.

Für Personen, die nicht gerne kurz gehen, besteht auch die Möglichkeit, Shortpositionen auszuschließen.

Strategie Logik

Die Strategie basiert auf den oberen und unteren Bands des Donchian Channel-Indikators. Das obere Band ist das höchste Hoch über die letzten n Bars, während das untere Band das niedrigste Tief über die letzten n Bars ist.

Das mittlere Band ist der Durchschnitt der oberen und unteren Bands und kann zur Messung der Trendrichtung verwendet werden.

Wenn der Preis über den oberen Band bricht, wird die Strategie lang, wenn keine vorhandene Long-Position besteht.

Um falsche Ausbrüche auszufiltern, ist die Option wait for double confirmation standardmäßig aktiviert. Dies bedeutet, dass zwei aufeinanderfolgende höhere Höchststände (oder niedrigere Tiefstände) zu sehen sind, bevor ein Handelssignal ausgegeben wird.

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Der Donchian-Kanal-Indikator ist einfach und leicht zu verstehen.

  2. Der Doppel-Bestätigungsmechanismus filtert falsche Ausbrüche effektiv aus und vermeidet, eingeschlossen zu werden.

  3. Die Kanal-Lookback-Periode kann an unterschiedliche Marktbedingungen angepasst werden.

  4. Die Leerverkaufsoption berücksichtigt die Bedürfnisse verschiedener Anleger.

  5. Der Code ist sauber und leicht verständlich für die weitere Entwicklung.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die doppelte Bestätigung kann dazu führen, dass einige Handelsmöglichkeiten verpasst werden.

  2. Eine unsachgemäße Einstellung des Kanalzeitraums kann zu einem zu häufigen oder spärlichen Handel führen.

  3. Lange Haltezeiten können die Risiken nicht wirksam kontrollieren.

  4. Weitere Risiken durch Leerverkäufe müssen beachtet werden.

  5. Bei der Überanpassung des Backtests muss Vorsicht geboten werden.

Entsprechende Lösungen

  1. Deaktivieren Sie die doppelte Bestätigung oder verkürzen Sie das Bestätigungsintervall.

  2. Optimierung der Parameter und Auswahl geeigneter Kanalperioden.

  3. Einhaltverlust/Gewinn auf eine angemessene Grenze pro Handelsverlust setzen.

  4. Deaktivieren Sie den Leerverkauf, gehen Sie nur lang.

  5. Strategie in verschiedenen Marktumgebungen konsequent bewerten.

Möglichkeiten zur Verbesserung

Zu den Möglichkeiten der Verbesserung gehören:

  1. Dynamische Anpassung der Positionsgröße anhand der Volatilität.

  2. Filtern Sie falsche Ausbrüche anhand der Ausbruchstärke.

  3. Verwenden Sie einen Trailing Stop-Mechanismus, um Trends zu verfolgen.

  4. Kombinieren Sie andere Indikatoren, um die Trendrichtung zu bestimmen und wichtige Wendepunkte zu vermeiden.

  5. Parameter automatisch durch maschinelles Lernen optimieren.

Diese Verbesserungen können die Stabilität und Rentabilität der Strategie weiter verbessern.

Schlussfolgerung

Dies ist eine einfache, aber effektive Trendstrategie, die auf dem Dual-Confirmation-Mechanismus des Donchian-Kanals basiert.


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

//@version=4
strategy(title="Donchian Channels", shorttitle="DC", overlay=true, initial_capital=10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick=true)
length = input(20, minval=1)
lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)
bool inShortPos = false
bool inLongPos = false
bool wait4confirmation = input(true, title="Wait for double confirmation?")
bool doShort = input(true, title="Include short positions")

plot(basis, "Basis", color=#FF6D00)
u = plot(upper, "Upper", color=#2962FF)
l = plot(lower, "Lower", color=#2962FF)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")

//if(inShortPos == false and inLongPos == false)
if(not inLongPos and upper > upper[1])
    if(wait4confirmation)
        if(not inLongPos and upper > upper[1] and upper[1] > upper[2])
            strategy.close("Short", true)
            strategy.entry("Buy", true)
    else
        strategy.close("Short", true)
        strategy.entry("Buy", true)
else
    if(not inShortPos and lower < lower[1])
        if(wait4confirmation)
            if(not inShortPos and lower < lower[1] and lower[1] < lower[2])
                strategy.close("Buy", true)
                if(doShort)
                    strategy.entry("Short", true)
        else
            strategy.close("Buy", true)
            if(doShort)
                strategy.entry("Short", true)

Mehr