EMA-Kreuzhandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-12 17:09:24
Tags:

img

Übersicht

Die EMA-Crossover-Handelsstrategie ist eine einfache, aber effektive quantitative Handelsstrategie. Sie verwendet exponentielle gleitende Durchschnitte (EMA) und Crossover-Signale, um Preistrends zu identifizieren und Ein- und Ausstiegspunkte zu bestimmen. Im Vergleich zu komplexeren Strategien ist sie einfacher zu verstehen und umzusetzen.

Strategie Logik

Der Schlüssel liegt darin, zwei EMAs mit unterschiedlichen Parametern zu verwenden. EMA1 ist auf 25 Tage und EMA2 auf 100 Tage festgelegt. Wenn die kurzfristige EMA über die längerfristige EMA überschreitet, ist dies ein Kaufsignal. Wenn die kürzere EMA unter die längere EMA überschreitet, ist dies ein Verkaufssignal. Somit erfasst die kürzere EMA kurzfristige Preistrends und -dynamik, während die längere EMA langfristige Trends widerspiegelt. Das von den beiden EMAs gebildete golden cross und death cross erzeugen Handelssignale.

Um falsche Signale auszufiltern, setzt die Strategie auch einige zusätzliche Kriterien fest. Zum Beispiel erfordert ein bullisches Kerzenmuster oder ein Crossover, das über dem RSI-Level von 50 stattfindet. Dies vermeidet fehlerhafte Trades aufgrund von kurzfristigem Rauschen.

Vorteile

Der größte Vorteil ist die Einfachheit und Intuitivität dieser Strategie, die im Vergleich zu Strategien mit zahlreichen Parametern und komplexer Logik wesentlich benutzerfreundlicher ist.

Darüber hinaus erfasst es Trendveränderungen sowohl in kurz- als auch in langfristigen Zeitrahmen und nutzt den klassischen technischen Indikator EMA-Kreuzungen, um Trendumkehrungen zu erkennen und Ein- und Ausstiege zu bestimmen und so mit dem Trend zu handeln.

Schließlich sind geeignete Filter eingerichtet, um falsche Signale zu reduzieren und sich nicht durch Marktlärm irrezuführen.

Risiken

Das Hauptrisiko ist die Divergenz zwischen kurzfristigen und langfristigen Trends. Dramatische Kursschwankungen können Crossover-Signale auslösen, aber der längerfristige Trend bleibt unverändert, was zu Verlusten führt. Auch treten in Bereichsmärkten häufig Whipsaws auf.

Eine unangemessene Einstellung der EMA-Perioden könnte auch die Strategieleistung gefährden, da die repräsentative Macht der EMAs abnimmt und sie bei der Erfassung von Trends und Umkehrungen unwirksam wird.

Darüber hinaus können übermäßig strenge Filter dazu führen, dass potenzielle Handelschancen verpasst werden, wodurch die Rentabilität beeinträchtigt wird.

Erweiterung

Die Kombination mit anderen Indikatoren wie KDJ, MACD usw. könnte dazu beitragen, Handelssignale zu bestätigen und falsche Signale zu vermeiden.

Verschiedene Parametermengen testen, um optimale EMA-Perioden zu finden, und Filterkriterien anpassen, um Handelsfrequenz und Zuverlässigkeit auszugleichen.

Eine dynamische Positionsgröße ist ebenfalls wichtig, z. B. eine größere Position, wenn die beiden EMAs weiter auseinander liegen, und eine kleinere, wenn sie näher sind.

Schlussfolgerung

Die EMA-Crossover-Strategie ist eine einfache, aber praktische quantitative Handelsstrategie. Sie nutzt EMA-Crossover-Signale, um zusammen mit kurz- und langfristigen Trends zu handeln. Einfach zu verstehen und umzusetzen, minimiert die Komplexität und eignet sich für Anfänger. Allerdings sollten ihre Risiken nicht vernachlässigt werden. Eine weitere Optimierung von Parametern und Filtern kann die Strategie über verschiedene Märkte hinweg robuster machen.


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('EMA Crossover Signal', shorttitle='EMA Crossover Signal', overlay=true)
// Define input for position size as a percentage of equity
position_size_pct = input(1, title='Position Size (%)') / 100

//Input EMA
len1 = input.int(25, minval=1, title='EMA 1')
src1 = input(close, title='Source')
ema1 = ta.ema(src1, len1)
len2 = input.int(100, minval=1, title='EMA 2')
src2 = input(close, title='Source')
ema2 = ta.ema(src2, len2)
//End of format

//Format RSI
lenrsi = input(14, title='RSI length')
outrsi = ta.rsi(close,lenrsi)

bodybar1 = math.abs(close - open)
bodybar2 = math.abs(close[1] - open[1])
// Plot the EMAs
plot(ema1, color=color.new(color.blue, 0), title='EMA 1')
plot(ema2, color=color.new(color.red, 0), title='EMA 2')

// EMA Crossover conditions
emaCrossoverUp = ta.crossover(ema1, ema2)
emaCrossoverDown = ta.crossunder(ema1, ema2)
var entrybar = close  // Initialize entrybar with the current close

// Calculate crossovers outside of the if statements
emaCrossoverUpOccured = ta.crossover(close, ema1) and ema1 > ema2 and bodybar1 > bodybar2 and close > entrybar
emaCrossoverDownOccured = ta.crossunder(close, ema1) and ema1 < ema2 and bodybar1 > bodybar2 and close < entrybar

plotshape(series=emaCrossoverUpOccured, location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, title='New Buy Order', size=size.tiny)
plotshape(series=emaCrossoverDownOccured, location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, title='New Sell Order', size=size.tiny)

if emaCrossoverUpOccured
    strategy.entry("Enter Long", strategy.long)
else if emaCrossoverDownOccured
    strategy.entry("Enter Short", strategy.short)

Mehr