Dynamische Preiskanal-Handelsstrategie


Erstellungsdatum: 2023-09-16 19:01:26 zuletzt geändert: 2023-09-16 19:01:26
Kopie: 2 Klicks: 659
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Dieser Artikel beschreibt eine Kurzlinie-Handelsstrategie, die auf einem dynamischen Preiskanal basiert. Die Strategie beurteilt die Richtung des Trends durch die Berechnung eines dynamischen Preiskanals und handelt an den Durchbruchspunkten des Kanals.

Strategieprinzip

Die Strategie basiert auf folgenden Prinzipien:

  1. Die dynamischen Preiskanäle werden mit Höchst- und Tiefstpreisen berechnet. Die oberste Bahn des Kanals ist die Hälfte der Summe der höchsten und mittleren Preise des Kanals, die untere Bahn ist die Hälfte der Differenz zwischen der niedrigsten und mittleren Preise des Kanals.

  2. Wenn der Preis die Oberbahn durchbricht, zeigt dies, dass der Handel in eine steigende Tendenz eingetreten ist. Wenn der Preis die Unterbahn durchbricht, zeigt dies, dass der Handel in eine fallende Tendenz eingetreten ist.

  3. In einem Aufwärtstrend, wenn zwei aufeinanderfolgende Negativlinien erscheinen, machen Sie mehr; in einem Abwärtstrend, wenn zwei aufeinanderfolgende Positivlinien erscheinen, machen Sie weniger.

  4. Die Option besteht darin, die Positionen umgekehrt zu eröffnen, d.h. bei steigenden Kursen zu verlieren und bei sinkenden Kursen zu verlieren, um die Marktstimmung zu verfolgen.

  5. Ein Stop-Loss-Ratio kann eingestellt werden, z. B. ein Stop-Loss-Ratio von x% des Einstiegspreises, um Gewinne zu sichern.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die dynamischen Kanäle sind in der Lage, Marktveränderungen in Echtzeit zu reflektieren und Trends besser zu beurteilen.

  2. Durch die Kombination von Trend- und K-Linien-Breakout-Signalen können falsche Breakouts gefiltert werden.

  3. Die Reverse-Position kann die Markt-Hotspots nutzen und zusätzliche Gewinne erzielen.

  4. Die Einstellung des Stopp-Ratios kann das Risiko effektiv kontrollieren.

  5. Die Strategie ist einfach, klar und umsetzbar.

Risikoanalyse

Die Strategie birgt einige Risiken:

  1. Bei starken Marktschwankungen kann der Kanal fehlschlagen. Die Parameter sollten entsprechend angepasst werden, um den Kanal stabiler zu machen.

  2. Umgekehrte Positionen sind verlustanfällig und sollten die Einzelschadenquote kontrollieren.

  3. Falsche Durchbrüche können zu falschen Transaktionen führen. Die Wirksamkeit von Durchbrüchen sollte mit den Trends in Verbindung gebracht werden.

  4. Es sollte darauf geachtet werden, zu häufige Transaktionen zu vermeiden, um die Transaktionskosten zu kontrollieren.

Zusammenfassen

Diese Strategie integriert die Trends der dynamischen Kanalentscheidung, den K-Line-Breakout-Eintritt und die Stop-Stop-Ideologie. Wenn die Parameter angemessen angepasst werden, kann sie als effektives Instrument für den Short-Line-Handel eingesetzt werden. Der Händler muss jedoch auf die Risikokontrolle achten und entsprechende Änderungen in Verbindung mit seinem eigenen Handelsstil vornehmen.

Strategiequellcode
/*backtest
start: 2022-09-09 00:00:00
end: 2023-09-15 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.1", shorttitle = "Scalper str 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
sma = sma(close, 20)
smatrend = close > sma ? 1 : close < sma ? -1 : smatrend[1]
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and bar == -1 and bar[1] == -1 ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and bar == 1 and bar[1] == 1 ? 1 : 0

if up7 == 1 or up8 == 1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)