Diese Strategie berechnet die gleitenden Durchschnittslinien des Kanals und setzt bei einem Durchbruch der Kanallinien des Kurses lange oder kurze Positionen ein, um dem Trend des Aktienkurses zu folgen.
Die Strategie berechnet zunächst den 20-Tage-Hoch-Durchschnitt als oberen Schiene des Kanals, den 20-Tage-Tief-Durchschnitt als unteren Schiene des Kanals und berechnet die Mittellinie des Kanals. Die Mittellinie des Kanals stellt den jüngsten durchschnittlichen Preistrend dar. Wenn der Preis durch die Mittellinie des Kanals nach oben bricht, wird eine Long-Position eingerichtet. Wenn der Preis durch die Mittellinie des Kanals nach unten bricht, wird eine Short-Position eingerichtet. Folge dem Preistrend, bis der Preis wieder auf die gegenüberliegende Seite des Kanalbereichs fällt, schließe die Position.
Im Allgemeinen ist diese Strategie relativ einfach und unkompliziert. Sie beurteilt die Kursentwicklungen der Aktien durch grundlegende Preiskanäle und gehört zu der folgenden Trendart. Die Vorteile sind einfache Bedienung, vollständige Nutzung der Investitionsmöglichkeiten, die durch Preistrends entstehen, und die Vermeidung von Fondsverriegelungen. Die Nachteile sind, dass unsachgemäße Parameter-Einstellungen die Performance beeinträchtigen können und es bestimmte Risiken von Rückzugstests gibt. Durch eine angemessene Optimierung kann die Stabilität der Strategie verbessert und die tatsächliche Handelsleistung gesteigert werden.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //future strategy //strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2) //stock strategy strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005) //forex strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true) //crypto strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20) testStartYear = input(2000, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2019, "Backtest Start Year") testEndMonth = input(3) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = 20 dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 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) strategy.close("simpleBuy",when=close < dcLower) strategy.entry("simpleSell", strategy.short,when=close < dcAverage) strategy.close("simpleSell",when=close > dcAverage)