Gleitende Durchschnitt-Crossover-Trendfolgestrategie


Erstellungsdatum: 2024-02-05 14:12:27 zuletzt geändert: 2024-02-05 14:12:27
Kopie: 1 Klicks: 543
1
konzentrieren Sie sich auf
1617
Anhänger

Gleitende Durchschnitt-Crossover-Trendfolgestrategie

Überblick

Die Moving Average Crossover Trend Tracking Strategie ist eine quantitative Trading-Strategie, die Markttrends verfolgt. Die Strategie generiert Handelssignale, um Wendepunkte in Markttrends zu erfassen, indem sie schnell bewegliche und langsam bewegliche Durchschnittslinien berechnet und bei deren Kreuzung Handel signalisiert.

Strategieprinzip

Das Kernprinzip der Strategie ist, die Markttrends anhand verschiedener Parameter der Index-Moving-Even-Linien (EMA) zu beurteilen. In der Strategie werden ein schneller EMA und ein langsamer EMA definiert. Wenn ein schneller EMA von unten durch den langsamen EMA geht, ist der Markttrend bullish.

Die Strategie hält die Position, bis der Stop-Loss ausgelöst wird oder ein weiteres Cross-Back-Signal erfolgt.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Strategie ist einfach, klar und verständlich und für Anfänger geeignet.
  2. Die EMA-Gleichpreise werden genutzt, um Marktgeräusche zu filtern und Trends zu erkennen.
  3. Die Parameter können flexibel angepasst werden, um sich an den Markt in unterschiedlichen Zeiten anzupassen.
  4. Die Strategie kann auf mehrere Zeitphasen erweitert werden, um die Stabilität zu verbessern.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. In einer konjunkturellen Situation können mehrere Stop-Losses auftreten, was sich auf die Gewinnentwicklung auswirkt.
  2. Es ist unmöglich, die Trends effektiv zu identifizieren (Bulls und Bears), was zu erheblichen Verlusten führen kann.
  3. Die EMA-Parameter sind falsch eingestellt, was zu einer zu hohen Handelsfrequenz oder zu einer verspäteten Erkennung führt.

Um das Risiko zu verringern, können Sie die Art des Trends in Kombination mit anderen Indikatoren erwägen oder die Stop-Loss-Ratio etwas lockerer einstellen.

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Es ist wichtig, dass man sich über die Art der Trends informiert, um eine Umkehrposition zu vermeiden.
  2. Das ist eine neue Art von Signal, die sich in der Zeit mit den neuen Techniken und den neuen Techniken verbindet.
  3. Dynamische Anpassung der Stop-Loss-Stopp-Ratio und Optimierung der Exit-Punkte;
  4. In Kombination mit anderen Indikatoren filtern Sie die Signale, um Fehltransachen zu reduzieren.

Zusammenfassen

Die Mobile Equilibrium Cross-Trend Tracking Strategie ist eine einfache und praktische Trend-Handelsstrategie. Die Kernidee der Strategie ist klar und einfach zu praktizieren, aber es gibt auch einen gewissen Optimierungsraum. Durch Parameter-Anpassung, mehrperiodische Beurteilung und dynamische Stop-Loss-Methoden können die Stabilität und die Ertragslage der Strategie kontinuierlich verbessert werden.

Strategiequellcode
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Zhukov trade', overlay=true, calc_on_every_tick=true, currency=currency.USD)

// INPUT:

// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input.int(title='Fast EMA', defval=10, minval=1, maxval=9999)
emaSlow = input.int(title='Slow EMA', defval=20, minval=1, maxval=9999)

// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both')

// Options that configure the backtest date range
startDate = input(title='Start Date', defval=timestamp('01 Jan 2023 00:00'))
endDate = input(title='End Date', defval=timestamp('31 Dec 2030 23:59'))

// Set take profit and stop loss percentages
take_profit_percent = input(1.0, title ="Take Profit Percent") / 100.0
stop_loss_percent = input(1.0, title ="Stop Loss Percent") / 100.0

// CALCULATIONS:

// Use the built-in function to calculate two EMA lines
fastEMA = ta.ema(close, emaFast)
slowEMA = ta.ema(close, emaSlow)
emapos = ta.ema(close, 200)

// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.new(color.orange, 0), linewidth=2)
plot(series=slowEMA, color=color.new(color.blue, 0), linewidth=2)
plot(series=emapos, color=color.new(color.red, 0), linewidth=2)

// CONDITIONS:

// Check if the close time of the current bar falls inside the date range
inDateRange = true

// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'

// Decide if we should go long or short using the built-in functions
longCondition = ta.crossover(fastEMA, slowEMA) and inDateRange
shortCondition = ta.crossunder(fastEMA, slowEMA) and inDateRange

// ORDERS:

// Submit entry (or reverse) orders
if longCondition and longOK
    strategy.entry(id='long', direction=strategy.long)

if shortCondition and shortOK
    strategy.entry(id='short', direction=strategy.short)

// Exit orders
if strategy.position_size > 0 and longOK
    strategy.exit(id='exit long', from_entry='long', limit=strategy.position_avg_price * (1 + take_profit_percent), stop=strategy.position_avg_price * (1 - stop_loss_percent))

if strategy.position_size < 0 and shortOK
    strategy.exit(id='exit short', from_entry='short', limit=strategy.position_avg_price * (1 - take_profit_percent), stop=strategy.position_avg_price * (1 + stop_loss_percent))