Kaufstrategie für Preis-Volumen-Ausbruch

SMA
Erstellungsdatum: 2024-05-17 14:54:13 zuletzt geändert: 2024-05-17 14:54:13
Kopie: 2 Klicks: 730
1
konzentrieren Sie sich auf
1617
Anhänger

Kaufstrategie für Preis-Volumen-Ausbruch

Überblick

Die Strategie verwendet zunächst eine bestimmte Anzahl von Leitungen als Prüffenster für Preise und Transaktionen. Diese Werte werden als Benchmark verwendet, um die Bedingungen für den Durchbruch zu identifizieren. Der Handel beginnt, wenn der Abschlusspreis und der Transaktionsvolumen die innerhalb des vorhergesehenen Fensters beobachteten Maximalwerte überschreiten.

Strategieprinzip

  1. Setzen Sie die Preis-Breakout-Periode und die Volumen-Breakout-Periode als Kontrollfenster.
  2. Die höchsten und niedrigsten Preise innerhalb eines Preis-Breakout-Zyklus erhalten.
  3. Erhalten Sie die höchste Transaktionsmenge innerhalb der Durchbruchsperiode.
  4. Wenn der Schlusskurs höher ist als der höchste Kurs des vorherigen Zyklus, der Umsatz höher ist als der höchste Umsatz des vorherigen Zyklus, der Schlusskurs höher ist als der einfache gleitende Durchschnitt der Länge der Trendlinie (SMA) und es derzeit keine Positionsöffnungen gibt und die Auftragsrichtung nicht auf eine Leerstellung eingestellt ist, dann beginnt man, mehr zu machen.
  5. Wenn der Schlusskurs 5 Tage in Folge unterhalb der Länge der Trendlinie liegt, werden alle Überschüsse abgewickelt.
  6. Wenn der Schlusskurs unter dem Minimum des vorherigen Zyklus liegt, die Handelsmenge über dem Maximum des vorherigen Zyklus liegt, der Schlusskurs unter der Länge der Trendlinie liegt, der SMA liegt, und es gibt derzeit keine offenen Geschäfte, und die Auftragseinstellung ist nicht mehr, dann beginnt der Ausfall.
  7. Wenn der Schlusskurs 5 Tage in Folge über der Länge der Trendlinie liegt, werden alle leeren Positionen abgewickelt.

Strategische Vorteile

  1. Die Verwendung von Preis- und Volumenbruch als Kauf- und Verkaufssignal ermöglicht eine bessere Bestätigung der Trendwende.
  2. Bevor Sie eine Position eröffnen, überprüfen Sie, ob der Preis über oder unter dem langfristigen SMA liegt, um sicherzustellen, dass der Handel mit den wichtigsten Markttrends übereinstimmt.
  3. Die Einrichtung von aufeinanderfolgenden mehrtägigen Schlusskursen durch die SMAs als Briefschutzsignale kann das Ende eines Trends effektiv erfassen.
  4. Es ist anwendbar für hochvolatile Vermögenswerte wie Bitcoin und Ethereum, die von plötzlichen Preis- und Handelsvolumenveränderungen profitieren können.

Strategisches Risiko

  1. In Fällen, in denen die Marktfluktuation gering ist oder keine eindeutige Tendenz aufweist, kann diese Strategie zu häufigen Transaktionen führen, was die Transaktionskosten erhöht.
  2. Für weniger volatile Märkte wie den S&P 500 könnte die Wirkung der Strategie weniger deutlich sein als für die Kryptowährungsmärkte.
  3. Diese Strategie kann weniger Handelssignale in höheren Zeitrahmen erzeugen, da die meisten Geschäfte dazu neigen, eine längere Haltedauer zu haben.

Richtung der Strategieoptimierung

  1. Anpassung der Länge der Preis- und Volumen-Breakout-Zyklen an die schwankenden Eigenschaften der verschiedenen Vermögenswerte entsprechend den unterschiedlichen Markteigenschaften.
  2. Versuchen Sie, andere Trendbestätigungskennzahlen zu verwenden, z. B. Index Moving Averages, MACDs usw., um die Genauigkeit der Trendbeurteilung zu verbessern.
  3. Risikomanagementmaßnahmen, wie die Einrichtung von Stop-Loss-Leistungen, die dynamische Anpassung von Positionen usw., sollten in die Strategie einbezogen werden, um die Risikothek für Einzelgeschäfte zu verringern.
  4. Für Geschäfte mit einer längeren Haltedauer kann eine mobile Stop-Strategie in Betracht gezogen werden, um die erzielten Gewinne besser zu schützen.

Zusammenfassen

Die “Price Break-Buy Strategy” ist eine Trend-Tracking-Strategie, die für hochvolatile Märkte geeignet ist. Durch die Berücksichtigung von Preis- und Handelsvolumen-Breakthroughs gleichzeitig und in Verbindung mit einem langfristigen SMA als Trendfilter kann die Strategie die Handelschancen in starken Situationen besser erfassen. Die Strategie kann jedoch in Märkten mit unsichtbaren Trends oder weniger Volatilität schlechte Ergebnisse erzielen und kann mit dem Risiko von häufigen Geschäften konfrontiert sein.

Strategiequellcode
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © tradedots

//@version=5
strategy("Price and Volume Breakout Buy Strategy [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 70, commission_type = strategy.commission.percent, commission_value = 0.01)

input_price_breakout_period = input.int(60, "Price Breakout Period")
input_volume_breakout_period = input.int(60, "Volume Breakout Period")
input_trendline_legnth = input.int(200, "Trendline Length")
input_order_direction = input.string("Long", options = ["Long", "Short", "Long and Short"], title = "Order Direction")

price_highest = ta.highest(input_price_breakout_period)
price_lowest = ta.lowest(input_price_breakout_period)
volume_highest = ta.highest(volume, input_volume_breakout_period)

// Long Orders
if close > price_highest[1] and volume > volume_highest[1] and close > ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Short"
    strategy.entry("Long", strategy.long)
    // line.new(bar_index[input_price_breakout_period], price_highest[1], bar_index, price_highest[1], color = #9cff87, width = 2)
    // label.new(bar_index,low, "🟢 Breakout Buy", style = label.style_label_up, color = #9cff87)

// Close when price is below moving average for 5 consecutive days
if close < ta.sma(close, input_trendline_legnth) and close[1] < ta.sma(close, input_trendline_legnth) and close[2] < ta.sma(close, input_trendline_legnth) and close[3] < ta.sma(close, input_trendline_legnth) and close[4] < ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) > 0
    strategy.close("Long")
    // label.new(bar_index, high, "🔴 Close Position", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Short Orders
if close < price_lowest[1] and volume > volume_highest[1] and close < ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Long"
    strategy.entry("Short", strategy.short)
    // line.new(bar_index[input_price_breakout_period], price_lowest[1], bar_index, price_lowest[1], color = #f9396a, width = 2)
    // label.new(bar_index,high , "🔴 Breakout Sell", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Close when price is above moving average for 5 consecutive days
if close > ta.sma(close, input_trendline_legnth) and close[1] > ta.sma(close, input_trendline_legnth) and close[2] > ta.sma(close, input_trendline_legnth) and close[3] > ta.sma(close, input_trendline_legnth) and close[4] > ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) < 0
    strategy.close("Short")
    // label.new(bar_index, low, "🟢 Close Position", style = label.style_label_up, color = #9cff87)

plot(ta.sma(close, input_trendline_legnth), color = color.white, linewidth = 2)
plotcandle(open, high, low, close, title='Candles', color = (close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), wickcolor=(close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), force_overlay = true)