Handelsstrategien „Golden Cross“ und „Death Cross“


Erstellungsdatum: 2023-10-31 14:37:38 zuletzt geändert: 2023-10-31 14:37:38
Kopie: 0 Klicks: 810
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategien „Golden Cross“ und „Death Cross“

Überblick

Die Hauptidee dieser Strategie ist es, die Gold- und Diebstahlsignale der EMA-Indikatoren für Kauf- und Verkaufshandlungen zu nutzen. Es zeichnet gleichzeitig mehrere Gruppen von schnellen und langsamen EMAs aus und nutzt ihre Kreuzung, um Handelssignale zu beurteilen.

Strategieprinzip

Die Strategie definiert zunächst mehrere EMA-Mittellinien, darunter die schnellen EMA-Mittellinien ema1 bis ema6 und die langsamen EMA-Mittellinien ema7 bis ema12. Danach werden die Kaufsignale buy_signal und sell_signal definiert:

  • Kaufsignal erzeugt, wenn ein EMA1 ein EMA3 durchdringt
  • Verkaufssignal, das beim Durchschreiten von ema3 unter ema1 erzeugt wird

Wenn also die kurzfristige EMA über der langfristigen EMA liegt, ist der Markt im Aufwärtstrend und man kauft. Wenn die kurzfristige EMA unter der langfristigen EMA liegt, ist der Markt im Abwärtstrend und man verkauft.

Die Strategie beurteilt die Richtung des Trends durch die Überwachung der Kreuzung der EMA-Gewinnlinie, um Kauf- und Verkaufsentscheidungen zu treffen.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die EMA-Gehaltsequenz ist für die Beurteilung von Trends geeignet, da sie die Preisentwicklung besser abbildet und kurzfristige Marktgeräusche abfiltert, wodurch die Handelssignale zuverlässiger sind.

  2. Durch die gleichzeitige Darstellung von mehreren EMA-Gehaltslinien kann die Veränderung des Trends genauer beurteilt werden. Die Kreuzung von schnellen und langsamen EMA-Linien verhindert, dass wichtige Trendwendepunkte verpasst werden.

  3. Die Strategie ist einfach, klar, über EMA-Kreuzungen ausgehandelt, leicht zu verstehen und geeignet für quantitative Handel.

  4. Anpassbare EMA-Zyklusparameter, die je nach Sorte und Markt angepasst werden können, um flexibel auf Marktveränderungen zu reagieren.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Die EMA ist nachlässig und kann das Trading-Signal verzögern.

  2. Die falsche EMA-Parameterkombination kann zu falschen Handelssignalen führen.

  3. Die EMA-Kreuzung kann falsche Signale zwischen den Schwingungen nicht effektiv filtern.

  4. Es besteht die Gefahr einer Überpassung, da die EMA-Parameter nur begrenzt optimiert werden können.

Gegenmaßnahmen:

  1. Filterung in Kombination mit anderen Indikatoren, um falsche Signale in den Schwingungsbereichen zu vermeiden.

  2. Die Stabilität der verschiedenen Periodendaten wird getestet, um eine Überpassung zu verhindern.

  3. Anpassung der Strategieparameter oder Erweiterung des Exit-Mechanismus zur Risikokontrolle.

Optimierungsrichtung

Diese Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Steigerung der Stop-Loss-Strategie und Ausstieg aus der Stop-Loss-Strategie, sobald ein gewisses Ausmaß an Verlusten erreicht ist.

  2. Die Einführung eines Mechanismus für den Wiedereinstieg in den Markt, der die Signalvorlage für den Wiedereinkauf und Verkauf darstellt.

  3. Optimierung der EMA-Kreuzzyklusparameterkombinationen von Kauf und Verkauf, um die optimale Parameter zu finden.

  4. Zusätzliche Indikatoren, Multi-Faktor-Verifizierung und verbesserte Signalqualität

  5. Tests zur Optimierung der Parameter verschiedener Sorten und Suche nach dem optimalen Anwendungsbereich.

  6. Die Anpassung der Rückmessung wird unter Berücksichtigung der Schlupffaktoren im Festplattenhandel vorgenommen.

Zusammenfassen

Diese Strategie nutzt die EMA-Gewinnlinie, um die Richtung des Trends zu bestimmen, und kauft und verkauft auf Basis von Kreuzungssignalen. Sie ist eine einfache Trendverfolgungsstrategie. Sie hat den Vorteil, Trendänderungen zu bestimmen, aber es gibt auch das Risiko von Verzögerungen und Schwankungen.

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

//@version=3
//Companion Strategy script to my Cloud Study. Enjoy! -MP
// study("MP's Cloud Study", overlay=true)
strategy(title="MP's Cloud Strat'", shorttitle="MP's Cloud Strat", overlay=true, precision=6, pyramiding=0, initial_capital=10000, currency="USD", default_qty_type=strategy.percent_of_equity,calc_on_order_fills= false, calc_on_every_tick=false, default_qty_value=100.0, commission_type=strategy.commission.percent, commission_value=0.05)

//bgcolor ( color=black, transp=20, title='Blackground', editable=true)

src = close, len1 = input(2, minval=1, title="Short EMA")
src2 = close, len3 = input(7, minval=1, title="Long EMA")
emaShort = ema(src, len1)
emaLong = ema(src2, len3)


StartYear = input(2018, "Start Year")
StartMonth = input(01, "Start Month")
StartDay = input(18, "Start Day")

 
StopYear = input(2018, "Stop Year")
StopMonth = input(12, "Stop Month")
StopDay = input(26, "Stop Day")
tradeStop = timestamp(StopYear,StopMonth,StopDay,0,0)

//src = close, 
//len1 = input(3, minval=1, title="Fast EMA 1")
len2 = input(3, minval=1, title="Fast EMA 2")
//len3 = input(8, minval=1, title="Fast EMA 3")
len4 = input(5, minval=1, title="Fast EMA 4")
len5 = input(8, minval=1, title="Fast EMA 5")
len6 = input(10, minval=1, title="Fast EMA 6")
//Slow EMA
len7 = input(30, minval=1, title="Slow EMA 7")
len8 = input(35, minval=1, title="Slow EMA 8")
len9 = input(40, minval=1, title="Slow EMA 9")
len10 = input(45, minval=1, title="Slow EMA 10")
len11 = input(50, minval=1, title="Slow EMA 11")
len12 = input(60, minval=1, title="Slow EMA 12")

//Fast EMA
ema1 = ema(src, len1)
ema2 = ema(src, len2)
ema3 = ema(src, len3)
ema4 = ema(src, len4)
ema5 = ema(src, len5)
ema6 = ema(src, len6)
//Slow EMA
ema7 = ema(src, len7)
ema8 = ema(src, len8)
ema9 = ema(src, len9)
ema10 = ema(src, len10)
ema11 = ema(src, len11)
ema12 = ema(src, len12)

//Fast EMA Color Rules
//colfastL = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4 and ema4 > ema5 and ema5 > ema6)
colfastS = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4 and ema4 < ema5 and ema5 < ema6)
//Slow EMA Color Rules
//colslowL = ema7 > ema8 and ema8 > ema9 and ema9 > ema10 and ema10 > ema11 and ema11 > ema12 
//colslowS = ema7 < ema8 and ema8 < ema9 and ema9 < ema10 and ema10 < ema11 and ema11 < ema12 
//Fast EMA Final Color Rules
//colFinal = colfastL and colslowL? aqua : colfastS and colslowS? orange : gray
//Slow EMA Final Color Rules
//colFinal2 = colslowL  ? lime : colslowS ? red : gray
//Fast EMA Plots
p1=plot(ema1, title="Fast EMA 1", style=line, linewidth=2, color=silver)
plot(ema2, title="Fast EMA 2", style=line, linewidth=1, color=silver)
plot(ema3, title="Fast EMA 3", style=line, linewidth=1, color=silver)
plot(ema4, title="Fast EMA 4", style=line, linewidth=1, color=silver)
plot(ema5, title="Fast EMA 5", style=line, linewidth=1, color=silver)
p2=plot(ema6, title="Fast EMA 6", style=line, linewidth=2, color=silver)
fill(p1,p2,color=silver, transp=60)
//Slow EMA Plots
//p3=plot(ema7, title="Slow EMA 7", style=line, linewidth=4, color=colFinal2)
//plot(ema8, title="Slow EMA 8", style=line, linewidth=3, color=colFinal2)
//plot(ema9, title="Slow EMA 9", style=line, linewidth=3, color=colFinal2)
//plot(ema10, title="Slow EMA 10", style=line, linewidth=3, color=colFinal2)
//plot(ema11, title="Slow EMA 11", style=line, linewidth=3, color=colFinal2)
//p4=plot(ema12, title="Slow EMA 12", style=line, linewidth=4, color=colFinal2)
//fill(p3,p4, color=silver, transp=60)



//Plot the Ribbon
ma1=plot( emaShort,color=rising(emaShort,2)?green:red,linewidth=1,join=true,transp=20,title="Short")
ma2=plot( emaLong,color=rising(emaLong,2)?green:red,linewidth=1,join=true,transp=20,title="Long")
fcolor = emaShort>emaLong?green:red
fill(ma1,ma2,color=fcolor,transp=80,title="Ribbon Fill")


//fast = 4, slow = 16
//fastMA = ema(close, fast)
//slowMA = ema(close, slow)
//plot(fastMA, color=green, title = "buy/sell")
//plot(slowMA, color=red, title = "base")


//Conditions
buy_signal = crossover(ema1,ema3)
sell_signal = crossunder(ema1,ema3)

plotshape(sell_signal, style=shape.triangleup, color = red, text="Start Short")
plotshape(buy_signal, style=shape.triangledown, color = green, text="Start Long")

alertcondition(sell_signal, title = 'Sell/Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01')
alertcondition(buy_signal, title = 'Buy/Long', message =  'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01')

//alertcondition(sell_signal, title = 'Sell/Short', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency')
//alertcondition(buy_signal, title = 'Buy/Long', message =  'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency')


testStartYear = input(2018, "From Year") 
testStartMonth = input(1, "From Month")
testStartDay = input(1, "From Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "To Year")
testStopMonth = input(1, "To Month")
testStopDay = input(1, "To Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

if testPeriod()
    if buy_signal
        strategy.entry("Long", true)
    

    if sell_signal
        strategy.close("Long")