Die Ressourcen sind geladen. Beförderung...

Strategie für die Verlagerung des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2024-04-30 17:33:09
Tags:- Nein.SMA

img

Übersicht

Diese Strategie verwendet zwei gleitende Durchschnitte (MA), um Handelssignale zu generieren. Wenn der kurzfristige MA über den längerfristigen MA überschreitet, wird ein Kaufsignal generiert; wenn der kurzfristige MA unter den längerfristigen MA überschreitet, wird ein Verkaufssignal generiert. Die Strategie legt auch eine Handelszeit (8 AM bis 20 PM UTC) und ein Gewinnziel (150 Punkte) fest.

Strategieprinzip

  1. Berechnen Sie zwei gleitende Durchschnittswerte mit unterschiedlichen Perioden (Standard ist 5 und 20 Perioden).
  2. Es wird festgestellt, ob der kurzfristige MA über/unter dem längerfristigen MA, das als Kauf/Verkaufsignal dient, kreuzt.
  3. Setzen Sie den Handelszeitraum von 8 AM bis 20 PM UTC und handeln Sie nur innerhalb dieses Zeitraums.
  4. Es wird festgestellt, ob die letzten 4 Kerzen über/unter dem MA geschlossen sind, um den Trend zu bestätigen.
  5. Wenn die Kauf-/Verkaufsbedingungen erfüllt sind, eröffnen Sie eine Position und setzen Sie ein Gewinnziel von 150 Punkten.

Strategische Vorteile

  1. Die Verwendung von zwei Marktwirtschaftlichen Kennzahlen mit unterschiedlichen Zeiträumen kann Trends effektiv erfassen, die für trendige Märkte geeignet sind.
  2. Durch die Festlegung einer Handelszeit kann der Handel in Zeiten geringer Liquidität vermieden und das Risiko verringert werden.
  3. Eine Bestätigung des Trends, indem überprüft wird, ob die letzten 4 Kerzen über/unter dem MA geschlossen sind, kann die Signalzuverlässigkeit verbessern.
  4. Die Festlegung eines festgelegten Gewinnziels kann die Gewinne effektiv sichern und das Risiko kontrollieren.

Strategische Risiken

  1. In unruhigen Märkten kann diese Strategie häufig falsche Signale erzeugen, die zu Verlusten führen.
  2. Das festgelegte Gewinnziel kann das Gewinnpotenzial der Strategie einschränken.
  3. Die Strategie sieht keinen Stop-Loss vor, der bei einem raschen Marktumschwung mit einem erheblichen Risiko konfrontiert sein kann.

Strategieoptimierungsrichtlinien

  1. Es sollte in Erwägung gezogen werden, mehr technische Indikatoren wie RSI und MACD einzubeziehen, um die Signalzuverlässigkeit zu verbessern.
  2. Optimieren Sie die Festlegung von Gewinnziel und Stop-Loss, z. B. mit dynamischem Gewinnziel und Stop-Loss oder ATR-basiertem Gewinnziel und Stop-Loss.
  3. Kombination von Marktmikrostrukturinformationen wie dem Auftragsfluss zur sekundären Bestätigung von Handelssignalen.
  4. Für verschiedene Marktzustände (Trend/Schwankung) unterschiedliche Parameter einstellen, um die Anpassungsfähigkeit der Strategie zu verbessern.

Zusammenfassung

Diese Strategie erzeugt Handelssignale basierend auf der Überschneidung von zwei gleitenden Durchschnitten mit verschiedenen Perioden, die für Trendmärkte geeignet sind. Durch die Festlegung einer Handelszeit und eines festen Gewinnziels kann sie das Risiko bis zu einem gewissen Grad kontrollieren. Die Strategie kann jedoch in unruhigen Märkten nicht gut abschneiden, und das feste Gewinnziel kann das Gewinnpotenzial der Strategie einschränken. In Zukunft kann man in Betracht ziehen, mehr technische Indikatoren zu integrieren, die Festlegung von Gewinnzielen und Stop Loss zu optimieren, Marktmikrostrukturinformationen zu kombinieren und verschiedene Parameter-Einstellungen für verschiedene Marktzustände zu übernehmen, um diese Strategie zu optimieren.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover Strategy", overlay=true)

// User-defined moving average periods
ma1Periods = input(5, title="First Moving Average Periods")
ma2Periods = input(20, title="Second Moving Average Periods")

// Calculate moving averages
ma1 = sma(close, ma1Periods)
ma2 = sma(close, ma2Periods)

// Plot moving averages
plot(ma1, color=color.red, linewidth=2, title="First Moving Average")
plot(ma2, color=color.blue, linewidth=2, title="Second Moving Average")

// Detect crossovers and crossunders
bullishCross = crossover(ma1, ma2)
bearishCross = crossunder(ma1, ma2)

// Define trading hours (8 AM to 2 PM UTC)
startHour = 8
endHour = 20
utcHour = hour(time, "UTC")
isMarketOpen = true

// Define profit target
profitTarget = 150

// Check if the price has closed above/below the MA for the past 4 bars
aboveMa = close[4] > ma1[4] and close[3] > ma1[3] and close[2] > ma1[2] and close[1] > ma1[1]
belowMa = close[4] < ma1[4] and close[3] < ma1[3] and close[2] < ma1[2] and close[1] < ma1[1]

// Create buy and sell signals
if (bullishCross and isMarketOpen and aboveMa)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", profit=profitTarget)
if (bearishCross and isMarketOpen and belowMa)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", profit=profitTarget)

// Plot shapes on crossovers
plotshape(series=bullishCross and isMarketOpen and aboveMa, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=bearishCross and isMarketOpen and belowMa, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")


Verwandt

Mehr