Donchian Channel Breakout Trendfolgestrategie


Erstellungsdatum: 2024-01-29 11:51:08 zuletzt geändert: 2024-01-29 11:51:08
Kopie: 0 Klicks: 410
1
konzentrieren Sie sich auf
1166
Anhänger

Donchian Channel Breakout Trendfolgestrategie

Überblick

Die Dongguan-Kanal-Breakout-Strategie ist eine Trend-Tracking-Strategie, die eine Preiskanal bildet, indem sie die höchsten und niedrigsten Preise innerhalb eines bestimmten Zeitraums berechnet und die Kanalgrenzen als Kauf- und Verkaufssignale verwendet. Wenn der Preis auf die Bahn geht, machen Sie eine Lücke; wenn der Preis unter die Bahn geht, machen Sie mehr.

Strategieprinzip

Die Strategie nutzt die Tangxian-Kanal-Indikatoren, um die Preisentwicklung zu bestimmen und die Ein- und Ausstiegspunkte zu berechnen. Die Tangxian-Kanal besteht aus einer oberen, einer unteren und einer mittleren Bahn. Die oberen Bahnen sind die höchsten Preise, die unteren die niedrigsten und die mittleren die durchschnittlichen Preise eines bestimmten Zeitraums.

Die Länge der Ein- und Ausstiegszyklen kann unabhängig konfiguriert werden. Wenn der Preis nach oben durch die Unterbahn bricht, wird mehr eingegeben; Wenn der Preis nach unten durch die Oberbahn bricht, wird ein freies Eintreten gemacht. Der Ausstiegspunkt ist der Preis, der erneut die entsprechende Bahn berührt.

Darüber hinaus gibt es eine Strategie, die einen Stop-Off-Punkt enthält. Die Stop-Off-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt-Punkt.

Im Allgemeinen ist die Strategie dazu geeignet, Trends zu beurteilen und gleichzeitig sicherzustellen, dass genügend Raum für Stop-Loss- und Stop-Stopp-Systeme vorhanden ist. Dies macht sie besonders für Varianten mit hoher Volatilität wie digitale Währungen geeignet.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Strategie ist klar, die Signalgenerierung ist einfach und zuverlässig.
  2. Der Dongxian-Channel-Index ist nicht empfindlich gegenüber Preisschwankungen und hilft, Trends zu erfassen.
  3. Anpassbare Kanalparameter für verschiedene Sorten und Zeiträume.
  4. Eingebettete Schadensschutzfunktion, um das Risiko effektiv zu kontrollieren.
  5. Es ist für hochschwankende Arten wie digitale Währungen geeignet, die ein hohes Gewinnpotenzial haben.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Die Verluste sind zwar begrenzt, aber es ist nicht möglich, die Gefahr eines riesigen Marktes vollständig zu vermeiden.
  2. Die falsche Einstellung der Parameter kann zu zu häufigen Transaktionen führen, die die Transaktionskosten erhöhen und das Risiko von Ausrutschen erhöhen.
  3. Diese Strategie ist nicht empfindlich gegenüber Preisschwankungen und kann einige Handelschancen verpassen.

Um diese Risiken zu kontrollieren, empfehlen wir folgende Maßnahmen:

  1. Die Investitionen müssen entsprechend eingeschränkt werden, die Investitionsarten müssen diversifiziert werden und die Gesamtrisiken müssen kontrolliert werden.
  2. Optimierung von Parametern, Suche nach optimalen Parameterkombinationen. Automatische Optimierung mit Methoden wie maschinellem Lernen kann versucht werden.
  3. In Kombination mit zusätzlichen Kennzahlen wird die Zuverlässigkeit der Durchbruchsignale beurteilt, um Fehlhandlungen zu vermeiden.

Optimierungsrichtung

Die Strategie kann in folgenden Dimensionen weiter optimiert werden:

  1. Test und Optimierung weiterer Parameterkombinationen, um die besten Parameter zu finden. Die wichtigsten Parameter sind die Durchlaufdauer, die Stopp-Rate, ob zusätzliche Leerlässigkeit erlaubt ist usw.
  2. Hinzufügen von maschinellen Lernmodellen, um automatisch optimale Parameter zu identifizieren. Methoden wie Reinforcement Learning können verwendet werden.
  3. In Kombination mit anderen Indikatoren, um Trends und Signalzuverlässigkeit zu beurteilen, wie z. B. Durchschnittslinie, Transaktionsvolumen usw.
  4. Entwickeln Sie Stop-Loss-Strategien wie Tracking Stop, Chandelier Exit, etc., um das Risiko weiter zu kontrollieren.
  5. Es ist wichtig, dass man sich auf weitere Sorten ausweitet, um die Handelssorten zu finden, die am besten zu dieser Strategie passen.

Zusammenfassen

Der Durchbruch des Tangxian-Kanals ist insgesamt eine Trendverfolgungsstrategie mit klaren Urteilsvermögens und risikokontrollierbaren Risiken. Es eignet sich insbesondere für hochflüchtige Varianten wie digitale Währungen mit hohem Ertragspotenzial. Gleichzeitig besteht für die Strategie ein gewisser Spielraum für Parameteroptimierungen und die Möglichkeit, andere Kennzahlen zu kombinieren, die in die Zukunft erweitert werden können. Durch kontinuierliche Optimierung und Innovation ist die Strategie eine wichtige Option für den Handel mit digitalen Währungsalgorithmen.

Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algotradingcc
// Strategy testing and optimisation for free trading bot 

//@version=4
strategy("Donchian Channel Strategy [for free bot]", overlay=true )

//Long optopns
buyPeriodEnter = input(10, "Channel Period for Long enter position")
buyPeriodExit = input(10, "Channel Period for Long exit position")
isMiddleBuy = input(true, "Is exit on Base Line? If 'no' - exit on bottom line")
takeProfitBuy = input(2.5, "Take Profit (%) for Long position")
isBuy = input(true, "Allow Long?")

//Short Options
sellPeriodEnter = input(20, "Channel Period for Short enter position")
sellPeriodExit = input(20, "Channel Period for Short exit position")
isMiddleSell = input(true, "Is exit on Base Line? If 'no' - exit on upper line")
takeProfitSell = input(2.5, "Take Profit (%) for Short position")
isSell = input(true, "Allow Short?")

// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)

//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)

timeRange = time > startTest and time < endTest ? true : false

// Long&Short Levels
BuyEnter = highest(buyPeriodEnter)
BuyExit = isMiddleBuy ? ((highest(buyPeriodExit) + lowest(buyPeriodExit)) / 2): lowest(buyPeriodExit)

SellEnter = lowest(sellPeriodEnter)
SellExit = isMiddleSell ? ((highest(sellPeriodExit) + lowest(sellPeriodExit)) / 2): highest(sellPeriodExit)

// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)

// Calc Take Profits
TakeProfitBuy = 0.0
TakeProfitSell = 0.0
if strategy.position_size > 0
    TakeProfitBuy := strategy.position_avg_price*(1 + takeProfitBuy/100)
    
if strategy.position_size < 0
    TakeProfitSell := strategy.position_avg_price*(1 - takeProfitSell/100)

// Long Position    
if isBuy and timeRange
    strategy.entry("Long", strategy.long, stop = BuyEnter, when = strategy.position_size == 0) 
    
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TakeProfitBuy, when = strategy.position_size > 0)

// Short Position
if isSell and timeRange
    strategy.entry("Short", strategy.short, stop = SellEnter, when = strategy.position_size == 0) 
    
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TakeProfitSell, when = strategy.position_size < 0)

// Close & Cancel when over End of the Test
if time > endTest
    strategy.close_all()
    strategy.cancel_all()