Strategie zum Ausbruch aus gleitenden Durchschnittskanälen


Erstellungsdatum: 2024-01-29 10:26:25 zuletzt geändert: 2024-01-29 10:26:25
Kopie: 0 Klicks: 666
1
konzentrieren Sie sich auf
1617
Anhänger

Strategie zum Ausbruch aus gleitenden Durchschnittskanälen

Überblick

Die Strategie basiert auf der Berechnung der mittleren, oberen und unteren Schienen des Keltner-Kanals, wobei die Schienen ABOVE und ABOVE mit Farbe gefüllt sind. Nach der Beurteilung der Richtung des Kanals wird ein Durchbruch gekauft.

Strategieprinzip

Der Kernindikator ist der Keltner-Kanal. Die Kanalbahn ist typischerweise ein N-Tage-Gewogen-Moving-Average mit den Preisen ((höchster Preis + niedriger Preis + Abschlusspreis) /3. Die Kanalbahn ist ein N-Tage-Gewogen-Moving-Average mit einem Handelsbereich, der von der oberen und unteren Bahn getrennt ist.

Die Strategie entscheidet, ob der Preis die Oberbahn oder die Unterbahn durchbrechen soll. Die Mittelbahn ist die Trennlinie für die Entscheidung, ob der Preis mehr oder weniger ist. Wenn der Schlusskurs größer ist als der Oberbahn, machen Sie mehr; wenn der Schlusskurs kleiner ist als der Unterbahn, machen Sie leer.

Analyse der Stärken

  1. Mit dem Keltner-Kanal-Indikator kann man die Bandbreite der Preisschwankungen besser beurteilen und falsche Durchbrüche vermeiden.
  2. Die Verwendung einer mittleren Bahnlinie als Stützpunkt kann die Verluste reduzieren.
  3. Ein brecherischer Auf- und Abbruch ist eine Trend-Tracking-Strategie, die den Preisveränderungen bei den meisten Aktien entspricht.

Risikoanalyse

  1. Durchbrechungskanalstrategien sind parametersensibel und müssen immer wieder getestet werden, um die optimale Kombination von Parametern zu finden.
  2. Wenn die Aktienkurse in kurzer Zeit stark schwanken, erhöht sich das Handelsrisiko. Die Kanalbreite kann angemessen gelockert werden, um das Risiko eines Fehlhandels zu verringern.
  3. Die Wirkung ist von Parameter-Einstellungen und Sorten abhängig und muss für verschiedene Sorten angepasst werden.

Optimierungsrichtung

  1. In Kombination mit anderen Indikatoren filtern Sie die Signale, um Fehlhandlungen zu vermeiden.
  2. Optimierung der Parameter, Suche nach der optimalen Parameterkombination. Hauptsächlich die Anpassung der Durchschnittsparameter und der Kanalmultiplikatoren.
  3. Die Einstellungen der Parameter für verschiedene Sorten sind sehr unterschiedlich und erfordern Klassifizierungsoptimierung.

Zusammenfassen

Die Strategie ist insgesamt relativ einfach und direkt, gehört zu den gängigen Preis-Breakthrough-Strategien. Der Vorteil ist, dass die Idee klar ist, die Implementierung leicht zu verstehen ist und für Anfänger geeignet ist. Es gibt jedoch auch eine gewisse Einschränkung, die auf Parameter sensibel ist, die Wirkung ist unterschiedlich und muss wiederholt getestet und optimiert werden.

Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © WMX_Q_System_Trading
//@version=3

strategy(title = "WMX Keltner Channels strategy", shorttitle = "WMX Keltner Channels strategy", overlay = true)

useTrueRange = input(true)
length = input(20, minval=5)
mult = input(2.618, minval=0.1)
mah =ema(ema( ema(high, length),length),length)
mal =ema(ema( ema(low, length),length),length)
range = useTrueRange ? tr : high - low
rangema =ema(ema( ema(range, length),length),length)
upper = mah + rangema * mult
lower = mal - rangema * mult
ma=(upper+lower)/2
uc = red
lc=green
u = plot(upper, color=uc, title="Upper")
basis=plot(ma, color=yellow, title="Basis")
l = plot(lower, color=lc, title="Lower")
fill(u, basis, color=uc, transp=95)
fill(l, basis, color=lc, transp=95)


strategy.entry("Long", strategy.long,  stop = upper, when = strategy.position_size <= 0 and close >upper)
strategy.entry("Short", strategy.short,  stop = lower, when = strategy.position_size >= 0 and close<lower)
if strategy.position_size > 0 
    strategy.exit("Stop Long", "Long", stop = ma)

if strategy.position_size < 0 
    strategy.exit("Stop Short", "Short", stop = ma)