EMA-basierte Golden Cross-Handelsstrategie


Erstellungsdatum: 2024-02-22 17:48:09 zuletzt geändert: 2024-02-22 17:48:09
Kopie: 1 Klicks: 731
1
konzentrieren Sie sich auf
1621
Anhänger

EMA-basierte Golden Cross-Handelsstrategie

Überblick

Die EMA-Gold-Cross-Trading-Strategie erzeugt Kauf- und Verkaufssignale, indem sie die EMA-Mittelwerte für verschiedene Perioden berechnet und ihre Kreuzung beurteilt. Wenn eine kurze Periode EMA über eine lange Periode EMA geht, erzeugt sie ein Kaufsignal.

Strategieprinzip

Der Kern der Strategie ist die Berechnung von EMA-Mitteln für zwei verschiedene Perioden, einschließlich eines kürzeren EMA-Mittels mit einer Standardperiode von 9 und eines EMA-Mittels mit einer längeren Periode mit einer Standardperiode von 20. Der Code berechnet diese beiden Linien separat, indem er die integrierte EMA-Funktion in den Pineskripten aufruft. Die beiden EMA-Linien werden dann berechnet, um einen Handel zu erzeugen, indem er beurteilt, ob sich die beiden EMA-Linien kreuzen.

Die Crossover-Funktion beurteilt, ob die Schnellleine von unten durch die Langleine geht und den Bullwert zurückgibt. Die Crossunder-Funktion beurteilt, ob die Schnellleine von oben durch die Langleine geht und den Bullwert zurückgibt. Aufgrund der Rückgabe dieser beiden Funktionen wird der Code die entsprechende Kauf- oder Verkaufsanweisung eingereicht.

Darüber hinaus bietet der Code einige Hilfsbedingungen, wie z. B. das Setzen von Start- und Enddaten, die Einschränkung auf nur mehr oder nur leeres Arbeiten, was zu einer feineren Rückmessung oder Optimierung beiträgt.

Analyse der Stärken

Der größte Vorteil dieser Strategie ist, dass sie sehr einfach und direkt ist, leicht zu verstehen und zu implementieren und für Anfänger geeignet ist. Außerdem ist der Moving Average selbst ein Trend-Tracking-Indikator, der die Markttrends effektiv verfolgt und zusätzliche Einnahmen aus den Trends generiert. Schließlich hat die Strategie weniger Parameter und ist leicht anpassbar, was auch einer ihrer Vorteile ist.

Risikoanalyse

Die Strategie ist hauptsächlich mit dem Risiko von Noise-Trading und Trendwechseln konfrontiert. Die EMA-Linie ist anfällig für kurzfristige Marktschwankungen und kann falsche Signale erzeugen, was zu unnötigen Transaktionen führt, die die Häufigkeit und die Kosten erhöhen. Auf der anderen Seite kann der Trend bereits nahe am Wendepunkt sein, wenn ein Kreuzungssignal ausgegeben wird, und das Risiko eines Handels ist groß.

Es ist möglich, den Noise-Handel zu reduzieren, indem man die EMA-Zyklen anpasst oder andere Filterbedingungen hinzufügt. Gleichzeitig wird ein Stop-Loss eingestellt, um einzelne Verluste zu kontrollieren. Optimierungsparameter können die Strategie stabiler machen.

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen optimiert werden:

  1. Optimierung der EMA-Zyklusparameter und Suche nach der optimalen Parameterkombination
  2. Hinzufügen von Filtern für andere Indikatoren, wie MACD, RSI, etc., um falsche Signale zu reduzieren
  3. Es ist wichtig, dass die Trends nicht umgekehrt werden.
  4. In Kombination mit den Fundamentalen der Aktienoption
  5. Anpassung der Haltungsverwaltung, z. B. Stop-Loss-Einstellungen gemäß ATR

Zusammenfassen

EMA Gold Cross ist eine einfache und effektive Trend-Tracking-Strategie. Sie nutzt EMA Cross, um Handelssignale zu erzeugen, die automatisch Preistrends erfassen und profitieren von Trends in den Preisen. Die Strategie ist leicht zu verstehen und anzupassen, ist ideal für Anfänger und kann als Modul in komplexere Strategien integriert werden.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// This strategy has been created for illustration purposes only and should not be relied upon as a basis for buying, selling, or holding any asset or security.
// © kirilov

//@version=4
strategy(
     "EMA Cross Strategy",
     overlay=true,
     calc_on_every_tick=true,
     currency=currency.USD
     )

// INPUT:

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

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

// Options that configure the backtest date range
startDate = input(title="Start Date", type=input.time, defval=timestamp("01 Jan 1970 00:00"))
endDate = input(title="End Date", type=input.time, defval=timestamp("31 Dec 2170 23:59"))


// CALCULATIONS:

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


// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.black, linewidth=2)
plot(series=slowEMA, color=color.red, 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 = crossover(fastEMA, slowEMA)
shortCondition = crossunder(fastEMA, slowEMA)


// ORDERS:

// Submit entry (or reverse) orders
if (longCondition and inDateRange)
    strategy.entry(id="long", long=true, when = longOK)
if (shortCondition and inDateRange)
    strategy.entry(id="short", long=false, when = shortOK)
    
// Submit exit orders in the cases where we trade only long or only short
if (strategy.position_size > 0 and shortCondition)
    strategy.exit(id="exit long", stop=close)
if (strategy.position_size < 0 and longCondition)
    strategy.exit(id="exit short", stop=close)