Keltner-Kanalverfolgungsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-25 13:14:24
Tags:

img

Übersicht

Diese Strategie basiert auf dem Keltner Channel-Indikator, um Handelssignale zu erzeugen, wenn der Preis durch die oberen und unteren Bands des Kanals bricht.

Strategie Logik

Die Strategie verwendet SMA und ATR, um den Keltner-Kanal zu bauen.

Der Betrag der Vermögenswerte wird in den folgenden Zahlen angegeben: Unterer Band = SMA - ATR * Multiplikator

Wenn der Preis über das obere Band bricht, wird ein Kaufsignal erzeugt.

Da es nur lang geht, wenn ein Verkaufssignal erscheint, wird es vorherige Aufträge annullieren und die Position flach machen.

Die Logik lautet:

  1. Keltner-Kanal mit SMA und ATR aufbauen
  2. Wenn der Preis über den oberen Bereich bricht, setzen Sie den Einstiegspreis und gehen lang
  3. Wenn der Preis unter den unteren Bereich fällt, wird die vorherige Long-Position abgeflacht

Analyse der Vorteile

Die Vorteile dieser Strategie:

  1. Einfache und klare Logik, leicht zu verstehen und umzusetzen
  2. Keltner Channel ist intuitiv für die Trendenidentifizierung
  3. Nur Long gehen vermeidet das Stopp-Loss-Risiko
  4. Bedingte Aufträge für Präzisionsmeldungen

Risikoanalyse

Es gibt auch einige Risiken:

  1. Häufige Öffnung/Schließung von Geschäften während Marktschwankungen
  2. Nicht in der Lage, kurze Gelegenheiten zu nutzen
  3. Fehlende Ausfahrt, manuelle Eingriffe erforderlich

Lösungen:

  1. Optimierung der Kanalparameter zur Verringerung falscher Signale
  2. Hinzufügen eines kurzen Moduls für den Zwei-Wege-Handel
  3. Hinzufügen von Exit-Mechanismen wie bewegliche Stop-Loss, Trailing-Stop

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie Parameter wie Kanalzeit, ATR Multiplikator etc.
  2. Hinzufügen eines kurzen Moduls basierend auf der unteren Bandbreakout
  3. Einbeziehung von Stop-Loss-Mechanismen wie ATR Trailing Stop
  4. Um falsche Signale zu vermeiden, sollten Sie mehr Filter verwenden.
  5. Testwirksamkeit für verschiedene Produkte

Schlussfolgerung

Diese Strategie fängt effektiv Markttrends mit einfachen Keltner Channel Regeln. Die Logik ist klar und leicht zu verstehen. Obwohl der Mangel an Ausgängen und kurze Modul, hat es ein großes Potenzial für Verbesserungen wie Parameter-Tuning, Hinzufügen Stops, gehen kurz usw. Insgesamt eine wertvolle Quant-Strategie wert eingehende Forschung und Anwendung.


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

//@version=3
strategy("Keltner Channel Strategy", overlay=true)
source = close

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

if (cancelBcond)
    strategy.cancel("KltChLE")

if (crossUpper)
    strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")

if (cancelScond)
    strategy.cancel("KltChSE")

if (crossLower)
    strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mehr