Schnelle und langsame EMA-Golden Cross-Durchbruchstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-01 18:02:24
Tags:

img

Übersicht

Die schnelle und langsame EMA-Golden Cross-Breakthrough-Strategie ist eine einfache und effektive Strategie, um Markttrends zu verfolgen. Sie verwendet Crossovers von EMAs verschiedener Zyklen, um Kauf- und Verkaufssignale zu generieren. Die Grundidee ist: Wenn die kurze Zyklus-EMA über die längere Zyklus-EMA überschreitet, wird ein Kaufsignal generiert; wenn die kurze Zyklus-EMA unter die längere Zyklus-EMA überschreitet, wird ein Verkaufssignal generiert.

Strategieprinzip

Die Strategie stützt sich hauptsächlich auf den Vergleich von 5-Zyklus-, 8-Zyklus- und 13-Zyklus-EMAs zur Erzeugung von Handelssignalen.

  1. Berechnung der 5-Zyklus-EMA, der 8-Zyklus-EMA und der 13-Zyklus-EMA.
  2. Wenn die 5-Zyklus-EMA die 8-Zyklus- und 13-Zyklus-EMA überschreitet, wird ein Kaufsignal generiert.
  3. Wenn die 5-Zyklus-EMA unterhalb der 8-Zyklus- und 13-Zyklus-EMA überschreitet, wird ein Verkaufssignal generiert.
  4. Gleichzeitig wird der ADX-Indikator kombiniert, um die Trendstärke zu bestimmen, nur wenn der Trend stark genug ist, um Signale zu erzeugen.

Wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt überschreitet, bedeutet dies, dass der kurzfristige Trend bullisch geworden ist und gekauft werden kann; wenn der kurzfristige gleitende Durchschnitt unter den langfristigen gleitenden Durchschnitt überschreitet, bedeutet dies, dass der kurzfristige Trend bärisch geworden ist und verkauft werden sollte.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Einfach zu bedienen, einfach umzusetzen.
  2. Die Ausgleichseffekte der EMA voll ausnutzen, um Trends effektiv zu verfolgen.
  3. Bei mehreren EMA-Kombinationen wird ein Crossover implementiert, um falsche Signale zu vermeiden.
  4. In Kombination mit dem ADX-Indikator ist das Signal zuverlässiger.
  5. Relativ geringe Auslastung und maximaler Rückgang.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Der Stop-Loss-Bereich kann angemessen entspannt werden.
  2. Die EMA-Parameter können entsprechend angepasst werden, um die Handelsfrequenz zu reduzieren.

Optimierungsrichtung

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die EMA-Parameter, um die beste Parameterkombination zu finden.
  2. Hinzufügen anderer Indikatoren für die Filterung, wie KDJ, BOLL usw., um die Signalqualität zu verbessern.
  3. Anpassung des Positionsmanagements zur Optimierung der Risikokontrolle.
  4. Verwenden Sie maschinelles Lernen, um bessere Ein- und Ausstiegsregeln zu finden.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass die Operation der schnellen und langsamen EMA-Gold-Cross-Breakthrough-Strategie reibungslos abläuft, die Signale zuverlässiger sind, der Drawdown nicht hoch ist und für die Verfolgung mittelfristiger und langfristiger Trends geeignet ist.


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

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)

rsi = rsi(close, rsi_period)

[diplus, diminus, adx] = dmi(short_period, short_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
    crossunder(shortEma,longEma) or crossunder(close, longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())

Mehr