
Überblick
Die Strategie basiert auf dem Keltner-Kanal-Indikator und verwendet den Index-Moving Average (EMA) und die Average True Range (ATR) um einen Auf- und Abwärtstrend zu erstellen. Die Strategie eröffnet mehr Positionen, wenn der Preis einen Abwärtstrend durchbricht, und platziert, wenn der Preis einen Aufwärtstrend durchbricht. Die Strategie versucht, die Schwankungen des Preises zu erfassen und profitiert, wenn der Preis einen Aufwärtstrend durchbricht.
Strategieprinzip
- Berechnen Sie den EMA für die angegebene Periode als Mittelbahn des Keltner-Kanals.
- Berechnen Sie die ATR für die angegebene Periode und multiplizieren Sie diese mit einem Multiplikator für die Auf- und Abwärtsbahn des Kanals.
- Wenn der Schlusskurs nach unten rutscht, ist es wichtig, dass Sie einen Überschuss machen und den Eröffnungskurs aufzeichnen.
- Wenn der Börsenkurs überschritten wird, wird die Position platziert.
- Wenn der Börsenkurs höher als der Kurs ist, wird der Betrag ausgeglichen.
Strategische Vorteile
- Da die Keltner-Kanäle auf ATR aufgebaut sind, kann die ATR die Preisschwankungen messen, so dass die Kanalbreite bei größeren Schwankungen entsprechend erhöht wird, was die Kosten für häufige Transaktionen reduziert.
- Die Strategie hat die Eigenschaften, dass sie logisch klar und einfach ist, leicht zu verstehen und umzusetzen. Die Indikatoren, die die Strategie verwendet, sind einfach, und die Kernlogik ist relativ leicht zu erfassen.
- Die Strategie ist in der Lage, in einem Aufwärtstrend mehrere Positionen zu halten, bis der Preis die Bahn überschreitet.
Strategisches Risiko
- Es fehlt ein eindeutiger Stop-Loss-Mechanismus. Die Strategie setzt keine Stop-Loss-Position nach dem Eröffnen der Position, was zu einem größeren Rückzug bei einem Rückschlag führen kann.
- Die Definition von Breakouts ist eher grob. Die Verwendung von nur einem Rückgang des Schlusskurses und einem Aufbruch des Schlusskurses als Signal für die Eröffnung eines Breakouts kann zu Fehleinschätzungen führen, die zu einem Verlust führen.
- Die Auswahl der Strategieparameter hat einen großen Einfluss auf die Ergebnisse. Die Wahl der EMA- und ATR-Zyklen sowie die Einstellung der ATR-Mehrzahl beeinflussen die Strategieleistung, aber die Strategie gibt keine eindeutige Methode zur Optimierung der Parameter.
Richtung der Strategieoptimierung
- Einführung eines eindeutigen Stop-Loss-Mechanismus. Es kann in Erwägung gezogen werden, gleichzeitig beim Positionseröffnen einen festen Punkt- oder Prozentsatz-Stop-Loss-Level einzurichten, um den maximalen Verlust eines einzelnen Handels zu kontrollieren.
- Beurteilung der Optimierung der Signale. Es kann in Erwägung gezogen werden, mehr Preisinformationen zu verwenden, um einen Durchbruch zu bestätigen, wie z. B. die Forderung, dass der Schlusskurs mehrere K-Linien in Folge unter der Unterbahn liegt, um eine Position zu eröffnen, um einen falschen Durchbruch der einseitigen K-Linie zu vermeiden.
- Parameteroptimierung. Methoden wie genetische Algorithmen können verwendet werden, um die EMA- und ATR-Zyklen sowie die ATR-Multiplikation zu optimieren, um eine Kombination von Parametern zu finden, die für den aktuellen Markt geeignet ist.
- Erweiterung der Filterbedingungen. Es kann in Betracht gezogen werden, einige Filtersignale zu erweitern, z. B. das Aufnehmen von Positionen nur, wenn der ADX über einem bestimmten Schwellenwert liegt, oder die Verwendung einer mehrköpfigen Anordnung von MA als Trendfilter usw.
Zusammenfassen
Die Strategie basiert auf dem Keltner-Kanal-Indikator und nutzt die Logik des Preisbruchs. Ihre Vorteile liegen in der einfachen Logik und der Anpassungsfähigkeit. Die Nachteile liegen in der fehlenden Stop-Loss- und schlechten Signalqualität.
Strategiequellcode
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © satrusskumar
//@version=5
// Input parameters
length = input.int(21, title="EMA Length")
mult = input.float(2, title="ATR Multiplier")
atrLength = input.int(13, title="ATR Length")
// Calculate Keltner Channels
ema = ta.ema(close, length)
atr = ta.atr(atrLength)
upper_band = ema + mult * atr
lower_band = ema - mult * atr
// Plot Keltner Channels
plot(upper_band, color=color.red, title="Keltner Upper Band")
plot(ema, color=color.blue, title="Keltner EMA")
plot(lower_band, color=color.green, title="Keltner Lower Band")
// Strategy logic
var float entry_price = na
var bool in_trade = false
if (not in_trade and close < lower_band)
strategy.entry("Long", strategy.long)
entry_price := close
in_trade := true
if (in_trade and open > upper_band)
strategy.close("Long")
in_trade := false
// Strategy settings
strategy("Keltner Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)