Kauf- und Verkaufsstrategien basierend auf Volumenpreissignalen und Candlestick-Mustern

SMA EMA
Erstellungsdatum: 2024-06-03 16:31:28 zuletzt geändert: 2024-06-03 16:31:28
Kopie: 2 Klicks: 572
1
konzentrieren Sie sich auf
1617
Anhänger

Kauf- und Verkaufsstrategien basierend auf Volumenpreissignalen und Candlestick-Mustern

Überblick

Die Strategie verwendet mehrere Moving Averages (MAs) als Trend- und Bewegungsindikatoren, darunter einfache Moving Averages (SMAs) und Index Moving Averages (EMAs). Zusätzlich wird die Fibonacci-Rückziehungsebene als potenzieller Einstiegspunkt verwendet. Das Hauptziel der Strategie ist es, Kauf- und Verkaufsmöglichkeiten bei signifikanten Veränderungen von Preisen und Handelsvolumen rechtzeitig zu erfassen.

Strategieprinzip

  1. Berechnen Sie die schnellen MA ([default 10]) und die langsamen MA ([default 30]) als Aufwärtstrend, wenn die schnellen MA höher sind als die langsamen MA, und umgekehrt als Abwärtstrend.
  2. Berechnen Sie die Transaktionsmenge MA ((default 20)), die aktuelle Transaktionsmenge ist höher als die Transaktionsmenge MA, was eine Erhöhung der Transaktionsmenge bedeutet, umgekehrt eine Abnahme der Transaktionsmenge.
  3. Die Verwendung mehrerer MA und EMAs als Hilfsindikatoren, einschließlich des schnellen MA (default 9), des kurzfristigen SMA (default 10 und 60), und des EMA (default 3 und 7).
  4. Berechnen Sie die Fibonacci-Rücktrittswerte ((0,47, 0,658 und 0,886) als potenzielle Unterstützungs- und Widerstandspunkte.
  5. Ein Kauf- oder Verkaufssignal wird erzeugt, wenn der kurzfristige SMA ((60)) eine Kreuzung mit der Präzisionlinie ((basierend auf der Kreuzung von schnellen EMAs und langsamen EMAs) erzeugt.
  6. Wenn die schnelle MA ((9)) mit der EMA ((7) kreuzt, wird ein Negativsignal erzeugt.

Analyse der Stärken

  1. Die Informationen über Preise und Transaktionsvolumina werden in einer umfassenderen Analyse des Marktes verwendet.
  2. Die Verwendung von mehreren MA und EMA als Hilfsindikatoren hilft bei der Bestätigung von Trends und Veränderungen in der Dynamik.
  3. Die Fibonacci-Rückzug-Ebene dient als Referenz für potenzielle Einstiegspunkte und hilft dabei, die Einstiegszeit zu optimieren.
  4. Die Kauf- und Verkaufssignale basieren auf der Kreuzung von kurzfristigen SMAs und Präzisionslinien, die dazu beitragen, Marktwendepunkte rechtzeitig zu erfassen.
  5. Die Plain-Position-Signale basieren auf der Kreuzung von schnellen MA und EMA und helfen bei der rechtzeitigen Sperrung von Gewinnen oder Verlusten.

Risikoanalyse

  1. In einem unsicheren Markt können häufige Kreuzungen zu einem Übermaß an Transaktionen und Verlusten bei den Gebühren führen.
  2. Eine Strategie, die auf historischen Daten basiert und sich auf die Ma- und Fibonacci-Levels stützt, ist möglicherweise nicht in der Lage, sich zeitnah auf plötzliche Marktveränderungen einzustellen.
  3. Die Strategie fehlt der Einschätzung der Stärke von Markttrends und kann falsche Signale erzeugen, wenn die Trends schwächer sind.
  4. Die Parameter der Strategie (z. B. MA-Zyklen) müssen für verschiedene Marktbedingungen optimiert werden, da dies die Effektivität der Strategie beeinträchtigen kann.

Optimierungsrichtung

  1. Einführung von Trendstärke-Indikatoren (z. B. ADX), Vermeidung des Handels bei schwachen Trends oder eher konservative Strategien.
  2. Optimierung der periodischen Parameter der MA und EMA für verschiedene Marktbedingungen und Handelsarten.
  3. In Kombination mit anderen technischen Indikatoren (z. B. RSI, MACD) zur Erhöhung der Signalsicherheit.
  4. Einführung von Stop-Loss- und Stop-Stop-Mechanismen, um die Risikothek für Einzelgeschäfte zu kontrollieren.
  5. Erwägen Sie, eine geeignete Trading-Strategie zu verwenden (z. B. Range-Trading) für einen bewegten Markt.

Zusammenfassen

Die Strategie erzeugt über mehrere Zeiträume hinweg ein Kauf- und Verkaufssignal durch die Kombination von Preis, Handelsvolumen und Fibonacci-Rücktritt. Der Vorteil der Strategie besteht darin, dass mehrere Marktfaktoren in einem Gesamtkonzept berücksichtigt werden und mehrere MA und EMAs als Hilfsindikatoren verwendet werden. Die Strategie kann jedoch in einem schwankenden Markt zu viele Handelssignale erzeugen und auf Kennzahlen basieren, die auf historischen Daten berechnet wurden.

Strategiequellcode
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Buy/Sell with Volume and Candlestick Signals", overlay=true)

// Fibonacci Retracement Levels
var float[] fibonacciLevels = array.new_float(5)
array.set(fibonacciLevels, 2, 0.47)
array.set(fibonacciLevels, 3, 0.658)
array.set(fibonacciLevels, 4, 0.886)

// Calculate Fibonacci Retracement Levels
fibonacciRetrace(highLevel, lowLevel) =>
    priceRange = highLevel - lowLevel
    retracementLevels = array.new_float(0)
    for i = 0 to array.size(fibonacciLevels) - 1
        level = highLevel - array.get(fibonacciLevels, i) * priceRange
        array.push(retracementLevels, level)
    retracementLevels

fibRetracementValues = fibonacciRetrace(high, low)
fibRetracement = ta.sma(close, 21)
plot(fibRetracement, color=color.purple, title="Fibonacci Retracement")

// Define inputs
fast_ma = input.int(title="Fast MA Period", defval=10)
short_sma_10 = input.int(title="Short SMA 10 Period", defval=10)
short_sma_60 = input.int(title="Short SMA 60 Period", defval=60)
slow_ma = input.int(title="Slow MA Period", defval=30)
ema1Length = input.int(title="EMA 1 Length", defval=3)
fast_ma_9 = input.int(title="Fast MA 9", defval=9)

// Define indicators
fast_ma_val = ta.sma(close, fast_ma)
short_sma_10_val = ta.sma(close, short_sma_10)
short_sma_60_val = ta.sma(close, short_sma_60)
slow_ma_val = ta.sma(close, slow_ma)
up_trend = fast_ma_val > slow_ma_val
down_trend = fast_ma_val < slow_ma_val
volume_up = volume > ta.sma(volume, 20)
volume_down = volume < ta.sma(volume, 20)

// Calculate accuracy values
fast_ema_val = ta.ema(close, fast_ma)
slow_ema_val = ta.ema(close, slow_ma)
ema1_val = ta.ema(close, ema1Length)
fast_ma_9_val = ta.sma(close, fast_ma_9)
ema7_val = ta.ema(close, 7)
accuracy = ta.crossover(close, slow_ma_val) ? fast_ema_val : slow_ema_val

// Define lines
plot(up_trend ? fast_ma_val : na, color=color.green, linewidth=2, title="Up Trend")
plot(down_trend ? fast_ma_val : na, color=color.red, linewidth=2, title="Down Trend")
plot(volume_up ? fast_ma_val : na, color=color.green, linewidth=2, title="Volume Up")
plot(volume_down ? fast_ma_val : na, color=color.red, linewidth=2, title="Volume Down")
plot(accuracy, color=color.yellow, linewidth=1, title="Accuracy Line")
plot(ema1_val, color=color.purple, linewidth=1, title="EMA 1")
plot(fast_ma_9_val, color=color.orange, linewidth=1, title="Fast MA 9")
plot(ema7_val, color=color.blue, linewidth=1, title="EMA 7")
plot(short_sma_60_val, color=color.red, linewidth=1, title="Short SMA 60")
hline(0, color=color.gray, linestyle=hline.style_dotted, title="Zero Line")

// Buy/Sell Signals
buySignal = ta.crossunder(short_sma_60_val, accuracy)
sellSignal = ta.crossover(short_sma_60_val, accuracy)

// Exit Signals
exitLongSignal = ta.crossunder(fast_ma_9_val, ema7_val)
exitShortSignal = ta.crossover(fast_ma_9_val, ema7_val)

// Plot Buy/Sell Signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

if exitLongSignal
    strategy.close("Buy")

if exitShortSignal
    strategy.close("Sell")


if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)