Schnelle und langsame EMA-Kreuzung der Trendhandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-12 18:06:26
Tags:

Diese Strategie handelt über die Überschneidung von schnellen und langsamen EMAs, um Preistrends zu ermitteln und zu verfolgen.

Strategie Logik:

  1. Berechnen Sie schnelle und langsame EMA, typischerweise 13 und 48 Perioden.

  2. Der Wert des EMA-Kurses wird in der EMA-Liste angegeben, wenn der EMA-Kurs über dem EMA-Kurs liegt.

  3. Verlassen Sie den Long, wenn der Preis unter die schnelle EMA fällt.

  4. Option zum Hinzufügen von kurzen Seitenregeln für den Zwei-Wege-Handel

Vorteile:

  1. Die Kombination von schneller/langsamer EMA identifiziert effektiv Zwischentrends.

  2. Der Breakout-Handel ermöglicht zeitnahe Trendeinträge.

  3. Ein einfacher Stop-Loss-Mechanismus steuert Verluste pro Handel.

Risiken:

  1. EMA-Verzögerung verursacht verpasste beste Einstiegspunkte.

  2. Lose Stopps, um übermäßige Whipsaws zu vermeiden.

  3. Es ist schwer, eine klare Trendrichtung während der Bereiche zu bestimmen.

Zusammenfassend lässt sich sagen, dass diese Strategie EMA-Kreuzungen für die Identifizierung und Verfolgung von Trends verwendet.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)


// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(close, fastMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())


 

Mehr