MACD Stochastik Band Oszillation Durchbruch Strategie


Erstellungsdatum: 2023-12-11 11:48:27 zuletzt geändert: 2023-12-11 11:48:27
Kopie: 0 Klicks: 885
1
konzentrieren Sie sich auf
1621
Anhänger

MACD Stochastik Band Oszillation Durchbruch Strategie

Überblick

Die MACD Stochastics Oscillation Breakout Strategy ist eine quantitative Trading-Strategie, die die MACD- und Stochastics-Indikatoren kombiniert. Die Strategie versucht, die Trendrichtung der Aktienpreise zu identifizieren und eine Position einzunehmen, wenn die Preise aus den Schwingungsbereichen brechen.

Die Strategie berücksichtigt die Signale von MACD und Stochastics beim Eintritt in die Position, um die Qualität der Einträge zu verbessern. Zusätzlich setzt die Strategie einen Stop-Loss- und einen Stop-Stop-Punkt vor, um das Risiko effektiv zu kontrollieren.

Strategieprinzip

Die MACD Stochastics-Bereichsbewegungs-Breakout-Strategie basiert hauptsächlich auf folgenden Prinzipien:

  1. Der MACD-Indikator kann die Richtung und Stärke von Aktienpreistrends effektiv identifizieren
  2. Der Stochastics-Indikator kann erkennen, ob eine Aktie überkauft oder überverkauft ist
  3. Wenn die Aktienpreise für längere Zeit schwanken, ist es wahrscheinlich, dass sie die vorherige Preisspanne durchbrechen und zu einem größeren richtungsweisenden Verhalten führen.
  4. In Kombination mit MACD- und Stochastics-Signalen kann der Einstieg in die Zeitspanne zwischen den Schwingungen der Aktien brechen und die Qualität der Einträge verbessern

Die Strategie verwendet die Kreuzung der DIFF- und DEA-Linien des MACD-Indikators als Signal, um die Richtung der Preisentwicklung zu bestimmen. Wenn die DIFF nach oben durch die DEA geht, wird ein Mehrkopfsignal erzeugt, das im Gegensatz dazu ein Leerkopfsignal erzeugt.

Gleichzeitig erzeugt die K-Linie der Stochastics ein Handelssignal, wenn sie in der Nähe der Überkauf-Überverkaufszonen (die Standard 30 und 70) mit der D-Linie aufwärts oder abwärts kreuzt.

Die Strategie wählt den Einstieg, wenn der MACD- und der Stochastics-Indikator gleichzeitig ein Gleichgewichtsignal geben. In diesem Fall ist es wahrscheinlich, dass der Aktienpreis einen größeren Durchbruch erzielt.

Nach dem Eintritt setzt die Strategie einen rationalen Stop-Loss- und einen Stop-Off-Punkt. Ein vernünftiger Stop-Loss kann die Einzelschäden wirksam kontrollieren, und ein Stop-Off kann die Gewinne sperren.

Analyse der Stärken

Die MACD Stochastics-Bereich-Schock-Breakout-Strategie hat folgende Vorteile:

  1. Mehrindikator-Kombination zur Verbesserung der Signalqualität

Die Strategie nutzt gleichzeitig MACD und Stochastics, um falsche Signale zu filtern und die Qualität der Einträge zu verbessern.

  1. Das ist eine gute Idee, um den Durchbruch zu ergreifen.

Die Strategie wurde speziell entwickelt, um nach längeren Aktienpreisschwankungen einen Durchbruch zu erfassen. Diese Trends sind in der Regel größer.

  1. Optimierung der Schadensbegrenzungsmechanismen zur effektiven Risikokontrolle

Die Strategie enthält eine Stop-Loss-Sicherung, die die Einzelschäden vernünftigerweise kontrolliert und die Gewinne rechtzeitig sperrt.

Risikoanalyse

Trotz der sorgfältigen Gestaltung der Strategie für einen Ausbruch der MACD Stochastics-Bandschwankungen bestehen bestimmte Risiken:

  1. Verpasste Einstiegszeit

Vor dem Börsengang kann es zu einem False-Breakout kommen. Die falsche Wahl des Einstiegszeitraums kann dazu führen, dass der Einstieg zu einem verpassten Einstiegspunkt wird.

  1. Der Durchbruch scheiterte.

Obwohl die Vorbereitungen für den Durchbruch gut sind, besteht die Möglichkeit, dass der Durchbruch fehlschlägt. In diesem Fall kann es zu Verlusten kommen.

  1. Optimierung der Parameter fehlt

Die Einstellung der Parameter der Strategie hat einen großen Einfluss auf die Ergebnisse. Wenn die Parameter nicht richtig eingestellt werden, wird ein großer Rabatt gewährt.

Für diese Risiken können Optimierungen wie folgt vorgenommen werden:

  1. Kombination mit anderen Indikatoren Filtersignale

  2. Ein manuelles Eingreifen sorgt für einen Durchbruch

  3. Mehrgruppen-Parameter-Optimierungstests

Optimierungsrichtung

Die MACD Stochastics Waveband-Shock-Breakout-Strategie hat noch Raum für weitere Optimierungen:

  1. Optimierung von MACD-Parametern, um die beste Kombination zu finden

  2. Optimierung von Stochastics-Parametern, um die beste Kombination zu finden

  3. Hinzufügen von anderen Kennzahlen wie KDJ, BOLL und so weiter, um die Qualität der Entries zu verbessern

  4. Verschiedene Haltedauer testen und Stop-Loss-Strategien optimieren

  5. Test der Parameterdifferenz zwischen verschiedenen Handelszeichen

  6. Erweiterung der Algorithmen und automatische Optimierung der Parameter

Zusammenfassen

Die MACD Stochastics-Strategie nutzt die beiden Indikatoren MACD und Stochastics, um einen qualitativ hochwertigen Einstieg zu ermöglichen, wenn die Wellenbewegung durchbricht. Gleichzeitig wird die Stop-Loss-Strategie zur effektiven Risikokontrolle unterstützt. Diese Strategie greift die kurzfristige Trendentwicklung des Aktienpreises auf und hat einen gewissen Handelsvorteil.

Strategiequellcode
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="macd stoch strategy", shorttitle="benzo MACD stoch",overlay=true)
// Getting inputs
fast_length = input(title = "Fast Length", defval = 180)
slow_length = input(title = "Slow Length", defval = 390)
src = input(title = "Source", defval = close)
signal_length = input.int(title = "Signal Smoothing",  minval = 1, maxval = 500, defval = 135)
sma_source = input.string(title = "Oscillator MA Type",  defval = "EMA", options = ["SMA", "EMA"])
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options = ["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// hline(0, "Zero Line", color = color.new(#787B86, 50))
// plot(hist, title = "Histogram", style = plot.style_columns, color = (hist >= 0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #FF5252)))
// plot(macd,   title = "MACD",   color = #2962FF)

// plot(signal, title = "Signal", color = #FF6D00)

periodK = input.int(14, title="%K Length", minval=1)
smoothK = input.int(1, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
// plot(k, title="%K", color=#2962FF)
// plot(d, title="%D", color=#FF6D00)
// h0 = hline(80, "Upper Band", color=#787B86)
// hline(50, "Middle Band", color=color.new(#787B86, 50))
// h1 = hline(20, "Lower Band", color=#787B86)
// fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")


// Make inputs that set the take profit % (optional)
longProfitPerc = input.float(3, title="Long Take Profit (%)", minval=0.0, step=0.1) * 0.01

shortProfitPerc = input.float(3, title="Short Take Profit (%)",minval=0.0, step=0.1) * 0.01

// Calculate trading conditions
enterLong  = macd>signal and ta.crossover(k,30)
enterShort = macd<signal and ta.crossunder(k,70)

// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Plot take profit values for confirmation
plot(strategy.position_size > 0 ? longExitPrice : na,
     color=color.green, style=plot.style_circles,
     linewidth=3, title="Long Take Profit")

plot(strategy.position_size < 0 ? shortExitPrice : na,
     color=color.red, style=plot.style_circles,
     linewidth=3, title="Short Take Profit")

// Submit entry orders
if enterLong
    strategy.entry("long", strategy.long)

if enterShort
    strategy.entry("short", strategy.short)

// STEP 3:
// Submit exit orders based on take profit price
if strategy.position_size > 0
    strategy.exit("long TP", limit=longExitPrice)

if strategy.position_size < 0
    strategy.exit("short TP", limit=shortExitPrice)