Doppelte EMA Golden Cross und Death Cross Handelsstrategie


Erstellungsdatum: 2023-10-17 13:56:54 zuletzt geändert: 2023-10-17 13:56:54
Kopie: 0 Klicks: 709
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte EMA Golden Cross und Death Cross Handelsstrategie

Überblick

Diese Strategie verwendet die Goldfork-Sternenforke der beiden EMA-Einzellinien, um den Zeitpunkt des Eintritts und Ausstiegs zu bestimmen. Konkret erzeugt die Goldfork-Signal, wenn die EMA-Linie aus der unteren Richtung durch die langsame EMA-Linie bricht, und erzeugt die Goldfork-Signal, wenn die EMA-Linie aus der oberen Richtung nach unten fällt und die langsame EMA-Linie durchbricht, und erzeugt die Goldfork-Signal. Die Strategie ist einfach und ist eine sehr häufige Handelsstrategie.

Strategieprinzip

Der Kerncode der Strategie lautet:

fast = input(25, title="Fast") 
slow = input(75, title="Slow")

matype1=ema(source, fast)
matype2=ema(source, slow)

longCondition = crossover(matype1, matype2) 
shortCondition = crossunder(matype1, matype2)

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)  
    strategy.entry("Short", strategy.short)

Die Strategie setzt zunächst schnelle und langsame zwei EMA-Mittellinien, wobei die schnelle EMA-Linie mit einer Periode von 25 und die langsame EMA-Linie mit einer Periode von 75 übereinstimmt. Dann wird der Wert der beiden EMA-Linien berechnet. Wenn die schnelle EMA-Linie die langsame EMA-Linie von unten durchbricht, wird die LongCondition-Bedingung wahr; wenn die schnelle EMA von oben nach unten fällt und die langsame EMA durchbricht, wird die ShortCondition-Bedingung wahr.

Die Strategie nutzt die glatten Eigenschaften der EMA-Grenze, um Marktrauschen zu filtern und gleichzeitig Trendänderungen schnell zu erfassen. Die Kreuzung zwischen zwei EMA-Grenzen ist ein starkes Handelssignal und kann das Handelsrisiko effektiv kontrollieren.

Analyse der Stärken

Die Strategie hat folgende Vorteile:

  1. Die Bedienung ist einfach, intuitiv und leicht zu verstehen.

  2. Die EMA nutzt die Marktbewegungen, um False Signals zu filtern.

  3. Die Gold-Death-Fork ist ein starkes Handelssignal, das das Risiko effektiv kontrolliert.

  4. Die EMA-Zyklus kann flexibel angepasst werden, um unterschiedliche Marktumstände zu berücksichtigen.

  5. Es kann leicht mit anderen technischen Kennzahlen kombiniert werden.

  6. Die EMA-Parameter können optimiert werden, um bessere Strategieeffekte zu erzielen.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. In schwankenden Zeiten werden EMAs häufig gekreuzt, was zu einer Vielzahl von ungültigen Handelssignalen führt.

  2. Die EMA ist nachlässig und könnte kurzfristige Chancen verpassen.

  3. Die EMA-Kreuzung allein kann nicht den Trendwendepunkt bestimmen, es gibt eine Gewinnobergrenze.

  4. Die festgelegte EMA-Zyklus kann nicht an Veränderungen des Marktes angepasst werden.

  5. Das ist eine sehr schwierige Situation, aber es ist auch eine sehr schwierige.

  6. Es sind strenge Stop-Loss-Regelungen erforderlich, da sonst die Verluste für ein einzelnes Unternehmen sehr hoch sein könnten.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung der EMA-Zyklusparameter für unterschiedliche Marktbedingungen.

  2. Zusätzliche Filter für andere Indikatoren, wie MACD, Brinband usw., verbessern die Signalqualität.

  3. Es wurden Trendmessgrößen wie ATR-Stopps, ADX und andere hinzugefügt, um ungültige Geschäfte zu reduzieren.

  4. In Kombination mit mehr Zeitzyklus-Analysen, um die Richtung der Trends zu bestimmen.

  5. Dynamische Optimierung der EMA-Zyklen mithilfe von maschinellen Lernmethoden.

  6. Optimierung des Positionsmanagements zur Risikokontrolle.

  7. Optimierung der Stop-Loss-Strategie und Verringerung der Einzelschäden.

Zusammenfassen

Diese Strategie verwendet die Gold-Fork-Dead-Fork-Kreuzung der Doppel-EMA-Gleichgewicht als Handelssignal und bildet eine eher klassische Trend-Follow-Strategie. Die Strategie ist einfach und einfach zu bedienen und kann leicht mit anderen technischen Indikatoren kombiniert werden. Sie ist für Anleger geeignet, die keine hohen Anforderungen an die Trendbeurteilung haben.

Strategiequellcode
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
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/
// Double EMA CROSS By © EmreE (Emre Ertürk) Also thx for KivancOzbilgic color based bars

//@version=4
strategy(title="Double EMA CROSS", shorttitle="DEC", overlay=true)

matype = input("ema")
hidema = input(false)
sourcetype = input(close, title="Source Type")
source=close
 
// STEP 1:
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=231)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12) 
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

// STEP 2:
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

fast = input(25, title="Fast")
slow = input(75, title="Slow")

matype1=ema(source, fast)
matype2=ema(source, slow)


signalcolor = source > matype2 ? color.blue : color.red
signal = cross(fast, slow) 



hizliema=plot(hidema ? na : matype1, color=color.green, linewidth=2,transp=0, title="Fast EMA")
yavasema=plot(hidema ? na : matype2, color=color.red, linewidth=2,transp=0, title="Slow EMA")
//kesisme=plot(signal, style=cross, color=signalcolor, linewidth=5, title="Kesişme")
 

longCondition = crossover(matype1, matype2)
if (afterStartDate and longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(matype1, matype2)
if (afterStartDate and shortCondition)
    strategy.entry("Short", strategy.short)
    

//--------------------------------------------------------

//volume based color bars
length=input(21, "length", minval=1)
avrg=sma(volume,length)

vold1 = volume > avrg*1.5 and close<open
vold2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close<open
vold3 = volume < avrg *0.5 and close<open

volu1 = volume > avrg*1.5 and close>open
volu2 = volume >= avrg*0.5 and volume<=avrg*1.5 and close>open
volu3 = volume< avrg*0.5 and close>open

cold1=#800000
cold2=#FF0000
cold3=color.orange

colu1=#006400
colu2=color.lime
colu3=#7FFFD4

ac = vold1 ? cold1 : vold2 ? cold2 : vold3 ? cold3 : volu1 ? colu1 : volu2 ? colu2 : volu3 ? colu3 : na

barcolor(ac)