Donchian Channel mit Trailing Stop Strategie


Erstellungsdatum: 2023-12-07 16:53:10 zuletzt geändert: 2023-12-07 16:53:10
Kopie: 0 Klicks: 854
1
konzentrieren Sie sich auf
1619
Anhänger

Donchian Channel mit Trailing Stop Strategie

Überblick

Die Strategie basiert auf der Trendfollow-Strategie des Dongxian-Kanal-Indikators und ist eine Trendfollow-Strategie, in der die dynamischen Stopps des ATR-Indikators verwendet werden, um Gewinne zu sichern.

Strategieprinzip

Die Strategie verwendet einen 20-Zyklen-Längen-Tongxian-Kanal-Indikator, wobei die Kanal-Mittellinie die Mittelwerte der Höchst- und Tiefstpreise darstellt. Wenn der Preis die Kanal-Mittellinie überschreitet, wird er hoch und wenn der Preis die Kanal-Mittellinie unterschreitet, wird er leer.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Verwendung von Dongqian-Kanälen zur Beurteilung der Markttrends und zur effektiven Erfassung von Trends
  2. In Kombination mit ATR-Dynamic Tracking Stop Loss, um Risiken effektiv zu kontrollieren und gleichzeitig Gewinne zu sichern
  3. Der ATR-Faktor wird bei der Berechnung der Stop-Line hinzugefügt, um die Marktschwankungen zu berücksichtigen und die Stop-Loss-Bedingungen zu verbessern.
  4. Die Berechnung der Stop-Line ist stabiler und zuverlässiger, um zu verhindern, dass die Stop-Loss zu nahe kommt, und die Wahrscheinlichkeit, dass die Stop-Loss-Verfolgung verringert wird

Risikoanalyse

Diese Strategie birgt folgende Risiken:

  1. Das Dongji-Antoon-Gerät ist etwas rückständig und hat möglicherweise eine kurze Linie verpasst.
  2. Eine falsche Einstellung der ATR-Parameter kann zu zu lockeren oder zu engen Stop-Losses führen
  3. Trends sind relativ einfach zu erkennen, und es gibt möglicherweise mehr falsche Signale bei der Bilanzierung.
  4. Fehlen wirksamer Beurteilungsmechanismen zur Unterstützung von Resistenzen, kann die Timing der Markteintritt falsch sein

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Hinzufügen von weiteren Kennzahlen und Vermeidung von häufigen Transaktionen in Märkten ohne klare Trends
  2. Erhöhung der Unterstützung der Resistenz-Bewertung, Optimierung der Einstiegsmomente
  3. Versuchen Sie andere dynamische Stop-Loss-Berechnungsmethoden, um Ihre Stop-Loss-Strategie weiter zu optimieren.
  4. Testen des Einflusses verschiedener Parameter des Dongjian-Kanalzyklus auf die Strategie
  5. Hinzufügen von Filterbedingungen wie Transaktionsvolumen oder Increment, um Fehlsignale zu reduzieren

Zusammenfassen

Die Strategie ist eine einfache und praktische Trend-Follow-Strategie, die die Richtung des Trends durch die Tangxian-Kanal beurteilt und mit dynamischen Stop-Losses Gewinne abschließt. Die Strategie ist sehr praktisch, kann jedoch in vielerlei Hinsicht weiter optimiert werden, so dass die Strategie in einem komplexeren Marktumfeld einen stabilen Ertrag erzielen kann.

Strategiequellcode
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "dc",  overlay = true)
atrLength = input(title="ATR Length:", defval=20, minval=1)

testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = input(20, "Period")

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2
atrValue=atr(atrLength)


useTakeProfit   = na
useStopLoss     = na
useTrailStop    = na
useTrailOffset  = na
//@version=1
Buy_stop = lowest(low[1],3) - atr(20)[1] / 3
plot(Buy_stop, color=red, title="buy_stoploss")
Sell_stop = highest(high[1],3) + atr(20)[1] / 3
plot(Sell_stop, color=green, title="sell_stoploss")

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=(close > dcAverage) and cross(close,dcAverage))
strategy.close("simpleBuy",when= ( close< Buy_stop))
    
strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) )
strategy.close("simpleSell",when=( close > Sell_stop))
    
//strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)