Hebelstrategie mit exponentiellem gleitendem Durchschnitt und Crossover

MATIC EMA MA
Erstellungsdatum: 2024-04-30 16:26:37 zuletzt geändert: 2024-04-30 16:26:37
Kopie: 0 Klicks: 534
1
konzentrieren Sie sich auf
1617
Anhänger

Hebelstrategie mit exponentiellem gleitendem Durchschnitt und Crossover

Überblick

Die Strategie nutzt die Kreuzung der beiden Index-Moving Averages ((EMA) am 20. und 55. Tag, um ein Handelssignal zu ermitteln. Wenn eine kurze EMA ein langfristiges EMA durchbricht, wird ein Kaufsignal ausgegeben, umgekehrt ein Verkaufssignal. Die Strategie führt auch einen Leverage-Handel ein, der den Gewinn durch Leverage erhöht und gleichzeitig das Risiko erhöht.

Strategieprinzip

  1. Die 20- und 55-Tage-EMA (oder MA) werden berechnet.
  2. Beurteilen Sie, ob eine kurzfristige EMA eine langfristige EMA überträgt, und wenn ja, setzen Sie die Variable readyToEnter auf true, was bedeutet, dass Sie bereit sind, einzutreten.
  3. Wenn readyToEnter true ist und der Preis die kurzfristige EMA erreicht, wird ein Kauf getätigt und readyToEnter auf false zurückgesetzt.
  4. Wenn die kurzfristige EMA unter der langfristigen EMA liegt, ist die Position platziert.
  5. Positionsgröße nach Leverage-Parametern eingestellt
  6. Die Strategie wird nur innerhalb der vom Benutzer festgelegten Rückmeldungsspanne durchgeführt.

Strategische Vorteile

  1. Durchschnittliche Kreuzung ist eine einfache und benutzerfreundliche Methode, um Trends zu bestimmen, die für die meisten Märkte geeignet ist.
  2. Die Einführung von Leverage-Trading kann die Gewinne erhöhen.
  3. Erhöhung der Konditionalitätsbeschränkungen, um das Risiko von Falschmeldungen zu verringern.
  4. Es bietet sowohl eine EMA- als auch eine MA-Gleichlinienoption, die sich an die verschiedenen Benutzerpräferenzen anpasst.
  5. Der Code ist klar strukturiert, leicht zu verstehen und zu ändern.

Strategisches Risiko

  1. Leveraging erhöht die Risiken und kann zu großen Verlusten führen, wenn man falsch urteilt.
  2. Das Durchschnitts-Crossing ist nachlässig und kann die beste Einstiegsmomente verpassen.
  3. Es ist nur für trendige Märkte geeignet, wenn die Märkte schwanken, kann es zu häufigen Transaktionen kommen, die zu hohen Gebühren führen.

Richtung der Strategieoptimierung

  1. Man kann versuchen, die Durchschnittszyklus zu optimieren, um die Parameter zu finden, die am besten für den aktuellen Markt geeignet sind.
  2. Die Einführung anderer Indikatoren wie RSI, MACD usw. kann dazu beitragen, Trends zu analysieren und die Gewinnrate zu verbessern.
  3. Es ist möglich, Stop-Loss- und Stop-Stop-Systeme einzurichten, um das Risiko eines einzelnen Handels zu kontrollieren.
  4. Die Größe der Leverage kann je nach der Dynamik der Marktfluktuation angepasst werden, wobei die Leverage in schwankenden Stunden erhöht und bei großen Schwankungen verringert wird.
  5. Es kann ein Machine-Learning-Algorithmus eingeführt werden, der sich an die Optimierungsparameter anpasst.

Zusammenfassen

Die Strategie erhöht die Gewinne durch die Kombination von Linear-Cross- und Leverage-Trading, während sie die Markttrends erfasst. Leverage birgt jedoch auch ein hohes Risiko, das mit Vorsicht eingesetzt werden muss. Darüber hinaus gibt es Raum für Optimierung der Strategie, die die Strategie-Performance durch die Einführung von mehr Indikatoren, dynamischen Anpassungsparametern usw. verbessern kann.

Strategiequellcode
/*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=5
strategy("EMA Crossover Strategy with Leverage, Conditional Entry, and MA Option", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs for backtesting period
startDate = input(defval=timestamp("2023-01-01"), title="Start Date")
endDate = input(defval=timestamp("2024-04-028"), title="End Date")

// Input for leverage multiplier
leverage = input.float(3.0, title="Leverage Multiplier", minval=1.0, maxval=10.0, step=0.1)

// Input for choosing between EMA and MA
useEMA = input.bool(true, title="Use EMA (true) or MA (false)?")

// Input source and lengths for MAs
src = close
ema1_length = input.int(20, title='EMA/MA-1 Length')
ema2_length = input.int(55, title='EMA/MA-2 Length')

// Calculate the MAs based on user selection
pema1 = useEMA ? ta.ema(src, ema1_length) : ta.sma(src, ema1_length)
pema2 = useEMA ? ta.ema(src, ema2_length) : ta.sma(src, ema2_length)

// Tracking the crossover condition for strategy entry
crossedAbove = ta.crossover(pema1, pema2)

// Define a variable to track if a valid entry condition has been met
var bool readyToEnter = false

// Check for MA crossover and update readyToEnter
if (crossedAbove)
    readyToEnter := true

// Entry condition: Enter when price touches MA-1 after the crossover // and (low <= pema1 and high >= pema1)
entryCondition = readyToEnter

// Reset readyToEnter after entry
if (entryCondition)
    readyToEnter := false

// Exit condition: Price crosses under MA-1
exitCondition = ta.crossunder(pema1, pema2)

// Check if the current bar's time is within the specified period
inBacktestPeriod = true

// Execute trade logic only within the specified date range and apply leverage to position sizing
if (inBacktestPeriod)
    if (entryCondition)
        strategy.entry("Long", strategy.long, qty=strategy.equity * leverage / close)
    if (exitCondition)
        strategy.close("Long")


// Plotting the MAs for visual reference
ema1_color = pema1 > pema2 ? color.red : color.green
ema2_color = pema1 > pema2 ? color.red : color.green
plot(pema1, color=ema1_color, style=plot.style_line, linewidth=1, title='EMA/MA-1')
plot(pema2, color=ema2_color, style=plot.style_line, linewidth=1, title='EMA/MA-2')