Lang nur dreifache EMA-Goldene Kreuz-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-26 16:23:53
Tags:

Übersicht

Diese Strategie erzeugt Handelssignale, die auf dem goldenen Kreuz und dem Todeskreuz von drei EMA-Linien mit unterschiedlichen Perioden basieren, um die Stärken jeder EMA zu nutzen und eine bessere Handelsleistung zu erzielen.

Strategie Logik

Die Strategie berechnet drei EMA-Linien mit Perioden von 8, 50 und 200 und erzeugt Signale, wenn die schnellere EMA über oder unter die langsamere EMA geht.

  1. Berechnen Sie die EMA-Linien für 8 Perioden, 50 Perioden und 200 Perioden.

  2. Sie gehen lang, wenn die 8-Perioden-EMA über die 50-Perioden-EMA (goldenes Kreuz), schließen, wenn die 50-Perioden-EMA unter die 8-Perioden-EMA (Todeskreuz) geht.

  3. Optional gehen Sie nur lang, wenn der Preis über der 200-Perioden-EMA liegt, um Whipsaws zu vermeiden.

  4. Eine optionale EMA-Gewinnlinie kann so eingestellt werden, dass Positionen geschlossen werden, wenn der Preis unterhalb dieser Linie überschreitet.

Die schnelle EMA identifiziert Tiefststände, die mittlere EMA bestimmt den Trend und die langsame EMA filtert Lärm aus.

Vorteile

  1. Die dreifache EMA bestimmt effektiv Trends und profitiert von individuellen Stärken. Die 8-Perioden-EMA fängt kurze Tiefststände, die 50-Perioden-EMA bestimmt den mittelfristigen Trend und die 200-Perioden-EMA filtert Lärm aus.

  2. Nur wenn man über die 200-Perioden-EMA hinausgeht, vermeidet man Schlagzeilen.

  3. Die EMA setzt angemessene Gewinnziele.

  4. Visuelle Anpassungen wie Barfarben und EMA-Plotting verbessern die Flexibilität.

  5. Die einfache Gold-Tod-Kreuz-Logik ist leicht zu verstehen.

Risiken und Minderungsmaßnahmen

  1. Verkürzung der EMA-Perioden oder Kombination mit Indikatoren wie dem MACD.

  2. Whipsaws können schlechte Signale erzeugen. Verwenden Sie längere EMAs zum Filtern oder Hinzufügen von Bedingungen.

  3. Festgefächerte Gewinnziele sind nicht anpassungsfähig.

  4. Keine Stopps bedeuten unbegrenztes Risiko.

Möglichkeiten zur Verbesserung

  1. Optimieren Sie EMA-Perioden für die besten Parameter.

  2. Hinzufügen von Indikatoren wie MACD für das Timing.

  3. Implementieren dynamischer Gewinngewinn basierend auf Volatilität.

  4. Hinzufügen von Stop-Loss-Logik, Trailing oder Festwert.

  5. Verbesserung der Einstiegsbedingungen, z. B. Volumenfilter.

Schlussfolgerung

Diese Strategie nutzt die EMA-Trendfilterung, um Wahrscheinlichkeitsbewegungen zu identifizieren.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')

Mehr