
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.
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.
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.
/*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)